From 9585270e9107f37edcc6963bec6f2a44552336af Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 7 Jan 2026 21:23:14 +0100 Subject: [PATCH 01/61] GitHub CI: mpiexec -n 4 --oversubscribe --- .github/actions/alf_test/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index ef675919..01471be7 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -42,7 +42,7 @@ runs: if echo "$MODE" | grep -iq -e "serial" -e "noMPI"; then "$ALF_DIR/Prog/ALF.out" else - mpiexec -n 2 "$ALF_DIR/Prog/ALF.out" # only 2 cores available in githubs runners + mpiexec -n 4 --oversubscribe "$ALF_DIR/Prog/ALF.out" fi if echo "$MODE" | grep -iq -e "TEMPERING" -e "PARALLEL_PARAMS"; then cd Temp_0; fi if echo "$CONFIG_ARGS" | grep -iq "HDF5"; then From e0aa5b3e47da5440eabb9d11e2e9b17c1522a3c0 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 7 Jan 2026 21:25:08 +0100 Subject: [PATCH 02/61] test --- .github/actions/alf_test/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index 01471be7..d63f8e77 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -42,7 +42,7 @@ runs: if echo "$MODE" | grep -iq -e "serial" -e "noMPI"; then "$ALF_DIR/Prog/ALF.out" else - mpiexec -n 4 --oversubscribe "$ALF_DIR/Prog/ALF.out" + mpiexec -n 4 --oversubscribe "$ALF_DIR/Prog/ALF.out" # test fi if echo "$MODE" | grep -iq -e "TEMPERING" -e "PARALLEL_PARAMS"; then cd Temp_0; fi if echo "$CONFIG_ARGS" | grep -iq "HDF5"; then From 02ea0cb2c4e392d17681b1dd76b12d274d60e1d7 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 7 Jan 2026 21:35:12 +0100 Subject: [PATCH 03/61] Enable mpi oversubscribe via environment variable. --- .github/actions/alf_test/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index d63f8e77..4dc68ad2 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -42,7 +42,7 @@ runs: if echo "$MODE" | grep -iq -e "serial" -e "noMPI"; then "$ALF_DIR/Prog/ALF.out" else - mpiexec -n 4 --oversubscribe "$ALF_DIR/Prog/ALF.out" # test + OMPI_MCA_rmaps_base_oversubscribe=true mpiexec -n 4 "$ALF_DIR/Prog/ALF.out" fi if echo "$MODE" | grep -iq -e "TEMPERING" -e "PARALLEL_PARAMS"; then cd Temp_0; fi if echo "$CONFIG_ARGS" | grep -iq "HDF5"; then From fe298331d935bffa5cae1413906688a14c115b04 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Thu, 8 Jan 2026 14:08:44 +0100 Subject: [PATCH 04/61] test --- .github/actions/alf_test/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index 4dc68ad2..f6e39683 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -29,6 +29,7 @@ runs: OMPI_ALLOW_RUN_AS_ROOT: 1 # needed for mpi runnig as root, needed by github runner OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1 run: | + nproc . ./configure.sh $ARGS echo $ALF_FC $ALF_FC --version From 89db50fcb13a6468001a54f81f500f8d963bf57d Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Thu, 8 Jan 2026 14:13:15 +0100 Subject: [PATCH 05/61] Do not run containers as root --- .github/actions/alf_test/action.yml | 2 -- .github/workflows/ci.yml | 6 ------ 2 files changed, 8 deletions(-) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index f6e39683..973352e4 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -26,8 +26,6 @@ runs: shell: bash env: ARGS: ${{ inputs.args }} - OMPI_ALLOW_RUN_AS_ROOT: 1 # needed for mpi runnig as root, needed by github runner - OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1 run: | nproc . ./configure.sh $ARGS diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 62c5cd93..7f565ce2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -128,7 +128,6 @@ jobs: config: ["", "HDF5"] container: image: ghcr.io/alf-qmc/alf-container/alf-requirements/${{ matrix.image_minor }} - options: --user 0 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/alf_test @@ -145,7 +144,6 @@ jobs: config: ["", "HDF5"] container: image: ghcr.io/alf-qmc/alf-container/alf-requirements/bullseye-openblas - options: --user 0 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/alf_test @@ -163,7 +161,6 @@ jobs: config: ["", "HDF5"] container: image: ghcr.io/alf-qmc/alf-container/alf-requirements/bullseye-pgi-21-03 - options: --user 0 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/alf_test @@ -183,7 +180,6 @@ jobs: config: ["", "HDF5"] container: image: ghcr.io/alf-qmc/alf-container/alf-requirements/${{ matrix.image_minor }} - options: --user 0 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/alf_test @@ -201,7 +197,6 @@ jobs: config: ["", "HDF5"] container: image: ghcr.io/alf-qmc/alf-container/alf-requirements/bookworm-intel - options: --user 0 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/alf_test @@ -230,7 +225,6 @@ jobs: runs-on: ubuntu-latest container: image: ghcr.io/alf-qmc/alf-container/alf-requirements/bullseye - options: --user 0 steps: - uses: actions/checkout@v4 - name: Run Valgrind From 347033e81c9e73b90ba81e7bb52d0cb3d48bdc6a Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Thu, 8 Jan 2026 14:18:06 +0100 Subject: [PATCH 06/61] test --- .github/actions/alf_test/action.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index 973352e4..1720d51b 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -27,7 +27,12 @@ runs: env: ARGS: ${{ inputs.args }} run: | - nproc + if [[ $(uname) == "Darwin" ]]; then + export NPROC=$(sysctl -n hw.ncpu) + else + export NPROC=$(nproc) + fi + echo "There are $NPROC processors available." . ./configure.sh $ARGS echo $ALF_FC $ALF_FC --version From 09b06243773c62d49d93827813ea307674613f70 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Thu, 8 Jan 2026 16:48:11 +0100 Subject: [PATCH 07/61] test --- .github/actions/alf_test/action.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index 1720d51b..d72a3055 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -9,7 +9,6 @@ runs: using: "composite" steps: - name: macOS Toolchain install - if: runner.os == 'macOS' shell: bash run: | @@ -22,7 +21,6 @@ runs: ln -fs ${bindir}/g++-${gcc_version} /usr/local/bin/g++ - name: Build & Test - shell: bash env: ARGS: ${{ inputs.args }} @@ -54,6 +52,10 @@ runs: else "$ALF_DIR/Analysis/ana.out" * fi + + - name: Run unit tests + shell: bash + run: | mkdir -p "$ALF_DIR/testsuite/tests" cd "$ALF_DIR/testsuite/tests" if echo "$ALF_FC" | grep -q "mpiifort -fc=ifx"; then exit 0; fi From 925f4e480e9951f023d06b07f9a9dc700c550bd4 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Thu, 8 Jan 2026 17:05:42 +0100 Subject: [PATCH 08/61] test --- .github/actions/alf_test/action.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index d72a3055..713ae079 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -20,17 +20,21 @@ runs: ln -fs ${bindir}/gcc-${gcc_version} /usr/local/bin/gcc ln -fs ${bindir}/g++-${gcc_version} /usr/local/bin/g++ - - name: Build & Test + - name: Get number of processors shell: bash - env: - ARGS: ${{ inputs.args }} run: | if [[ $(uname) == "Darwin" ]]; then - export NPROC=$(sysctl -n hw.ncpu) + NPROC=$(sysctl -n hw.ncpu) else - export NPROC=$(nproc) + NPROC=$(nproc) fi echo "There are $NPROC processors available." + + - name: Build & Test + shell: bash + env: + ARGS: ${{ inputs.args }} + run: | . ./configure.sh $ARGS echo $ALF_FC $ALF_FC --version @@ -55,7 +59,10 @@ runs: - name: Run unit tests shell: bash + env: + ARGS: ${{ inputs.args }} run: | + . ./configure.sh $ARGS mkdir -p "$ALF_DIR/testsuite/tests" cd "$ALF_DIR/testsuite/tests" if echo "$ALF_FC" | grep -q "mpiifort -fc=ifx"; then exit 0; fi From a7680484930457dc08bcdb0e8a5fa69ba83084e3 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Thu, 8 Jan 2026 21:10:27 +0100 Subject: [PATCH 09/61] Mac runner: Use MPICH instead of Open-MPI --- .github/actions/alf_test/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index 713ae079..834b92e1 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -13,7 +13,7 @@ runs: shell: bash run: | brew update - brew install gcc cmake open-mpi + brew install gcc cmake mpich gcc_version=$(brew list --versions gcc | grep -o '[0-9]\+' | head -1) bindir=$(brew --prefix)/bin ln -fs ${bindir}/gfortran-${gcc_version} /usr/local/bin/gfortran From 666d8580de3d21dc081d506a938fa07732c64680 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Thu, 8 Jan 2026 21:19:55 +0100 Subject: [PATCH 10/61] CI: OpenMPI: --use-hwthread-cpus --- .github/actions/alf_test/action.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index 834b92e1..eba47aa2 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -48,7 +48,9 @@ runs: if echo "$MODE" | grep -iq -e "serial" -e "noMPI"; then "$ALF_DIR/Prog/ALF.out" else - OMPI_MCA_rmaps_base_oversubscribe=true mpiexec -n 4 "$ALF_DIR/Prog/ALF.out" + MPI_OPTS="-n 4" + if mpiexec --version | grep -iq 'Open MPI'; then MPI_OPTS="$MPI_OPTS --use-hwthread-cpus"; fi + mpiexec $MPI_OPTS "$ALF_DIR/Prog/ALF.out" fi if echo "$MODE" | grep -iq -e "TEMPERING" -e "PARALLEL_PARAMS"; then cd Temp_0; fi if echo "$CONFIG_ARGS" | grep -iq "HDF5"; then From e6f0752210f13419569eab75e9019b9bb9de905b Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Thu, 8 Jan 2026 21:43:38 +0100 Subject: [PATCH 11/61] Simpify CI config --- .github/workflows/ci.yml | 91 ++++++++-------------------------------- 1 file changed, 18 insertions(+), 73 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f565ce2..9d8ed50c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -116,92 +116,36 @@ jobs: # Linux tests # ====================== - test_linux_gnu: + test_linux: name: ${{ matrix.image_minor }} · ${{ matrix.mode }} · ${{ matrix.devel }} · ${{ matrix.config }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: - image_minor: [bullseye, bookworm, trixie] + image_minor: + - [bullseye, GNU] + - [bookworm, GNU] + - [trixie, GNU] + - [tumbleweed, GNU] + - [bullseye-pgi-21-03, PGI] + - [bullseye-intel, INTEL] + - [bookworm-intel-2024.2, INTEL] + - [bookworm-intel, INTELLLVM] mode: [noMPI, MPI, TEMPERING, PARALLEL_PARAMS] devel: ["", "Devel"] config: ["", "HDF5"] + include: + - image_minor: [bullseye-openblas, GNU] + mode: [noMPI] + devel: ["", "Devel"] + config: ["", "HDF5"] container: - image: ghcr.io/alf-qmc/alf-container/alf-requirements/${{ matrix.image_minor }} + image: ghcr.io/alf-qmc/alf-container/alf-requirements/${{ matrix.image_minor[0] }} steps: - uses: actions/checkout@v4 - uses: ./.github/actions/alf_test with: - args: GNU ${{ matrix.mode }} ${{ matrix.devel }} ${{ matrix.config }} - - test_linux_gnu_openblas: - name: bullseye-openblas · ${{ matrix.devel }} · ${{ matrix.config }} - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - devel: ["", "Devel"] - config: ["", "HDF5"] - container: - image: ghcr.io/alf-qmc/alf-container/alf-requirements/bullseye-openblas - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/alf_test - with: - args: GNU ${{ matrix.mode }} ${{ matrix.devel }} ${{ matrix.config }} - - test_linux_pgi: - name: bullseye-pgi-21-03 · ${{ matrix.mode }} · ${{ matrix.devel }} · ${{ matrix.config }} - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - mode: [noMPI, MPI, TEMPERING, PARALLEL_PARAMS] - devel: ["", "Devel"] - config: ["", "HDF5"] - container: - image: ghcr.io/alf-qmc/alf-container/alf-requirements/bullseye-pgi-21-03 - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/alf_test - with: - with: - args: PGI ${{ matrix.mode }} ${{ matrix.devel }} ${{ matrix.config }} - - test_linux_intel: - name: ${{ matrix.image_minor }} · ${{ matrix.mode }} · ${{ matrix.devel }} · ${{ matrix.config }} - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - image_minor: [bullseye-intel, bookworm-intel-2024.2] - mode: [noMPI, MPI, TEMPERING, PARALLEL_PARAMS] - devel: ["", "Devel"] - config: ["", "HDF5"] - container: - image: ghcr.io/alf-qmc/alf-container/alf-requirements/${{ matrix.image_minor }} - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/alf_test - with: - args: INTEL ${{ matrix.mode }} ${{ matrix.devel }} ${{ matrix.config }} - - test_linux_intelllvm: - name: bookworm-intel · ${{ matrix.mode }} · ${{ matrix.devel }} · ${{ matrix.config }} - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - mode: [noMPI, MPI, TEMPERING, PARALLEL_PARAMS] - devel: ["", "Devel"] - config: ["", "HDF5"] - container: - image: ghcr.io/alf-qmc/alf-container/alf-requirements/bookworm-intel - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/alf_test - with: - args: INTELLLVM ${{ matrix.mode }} ${{ matrix.devel }} ${{ matrix.config }} + args: ${{ matrix.image_minor[1] }} ${{ matrix.mode }} ${{ matrix.devel }} ${{ matrix.config }} test_macos: name: macOS · ${{ matrix.mode }} · ${{ matrix.devel }} @@ -211,6 +155,7 @@ jobs: matrix: mode: [noMPI, MPI, TEMPERING, PARALLEL_PARAMS] devel: ["", "Devel"] + config: [""] # TODO: Enable fast access to HDF5 on macOS runners steps: - uses: actions/checkout@v4 - uses: ./.github/actions/alf_test From c9850835b778693e366c4c6d164d9e5d598e5d1f Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Thu, 8 Jan 2026 21:58:07 +0100 Subject: [PATCH 12/61] CI: No tumbleweed for now --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9d8ed50c..76e08d02 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -117,7 +117,7 @@ jobs: # ====================== test_linux: - name: ${{ matrix.image_minor }} · ${{ matrix.mode }} · ${{ matrix.devel }} · ${{ matrix.config }} + name: ${{ matrix.image_minor[0] }} · ${{ matrix.mode }} · ${{ matrix.devel }} · ${{ matrix.config }} runs-on: ubuntu-latest strategy: fail-fast: false @@ -126,7 +126,7 @@ jobs: - [bullseye, GNU] - [bookworm, GNU] - [trixie, GNU] - - [tumbleweed, GNU] + # - [tumbleweed, GNU] - [bullseye-pgi-21-03, PGI] - [bullseye-intel, INTEL] - [bookworm-intel-2024.2, INTEL] From 32b4ee169b2af175007b4916ab494f95faf695de Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Thu, 8 Jan 2026 22:15:43 +0100 Subject: [PATCH 13/61] CI: OpenMPI: --use-hwthread-cpus, catch more --- .github/actions/alf_test/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index eba47aa2..f3fca40c 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -49,7 +49,7 @@ runs: "$ALF_DIR/Prog/ALF.out" else MPI_OPTS="-n 4" - if mpiexec --version | grep -iq 'Open MPI'; then MPI_OPTS="$MPI_OPTS --use-hwthread-cpus"; fi + if mpiexec --version | grep -iq -e 'Open MPI' -e 'OpenRTE'; then MPI_OPTS="$MPI_OPTS --use-hwthread-cpus"; fi mpiexec $MPI_OPTS "$ALF_DIR/Prog/ALF.out" fi if echo "$MODE" | grep -iq -e "TEMPERING" -e "PARALLEL_PARAMS"; then cd Temp_0; fi From 6c374741688eaa697f53af7c733e3a0e0f4c2243 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Thu, 8 Jan 2026 22:26:41 +0100 Subject: [PATCH 14/61] CI: Handle MacOS warnings --- .github/actions/alf_test/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index f3fca40c..b685f592 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -13,7 +13,7 @@ runs: shell: bash run: | brew update - brew install gcc cmake mpich + brew install mpich gcc_version=$(brew list --versions gcc | grep -o '[0-9]\+' | head -1) bindir=$(brew --prefix)/bin ln -fs ${bindir}/gfortran-${gcc_version} /usr/local/bin/gfortran From 60814f60673c52f036b7f707bdf6e38190a73cd6 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 9 Jan 2026 00:45:02 +0100 Subject: [PATCH 15/61] CI: Add tumbleweed and PGI images --- .github/workflows/ci.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 76e08d02..d7bf83a5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -126,19 +126,16 @@ jobs: - [bullseye, GNU] - [bookworm, GNU] - [trixie, GNU] + - [bullseye-openblas, GNU] # - [tumbleweed, GNU] - [bullseye-pgi-21-03, PGI] + - [bookworm-pgi-24-09, PGI] - [bullseye-intel, INTEL] - [bookworm-intel-2024.2, INTEL] - [bookworm-intel, INTELLLVM] mode: [noMPI, MPI, TEMPERING, PARALLEL_PARAMS] devel: ["", "Devel"] config: ["", "HDF5"] - include: - - image_minor: [bullseye-openblas, GNU] - mode: [noMPI] - devel: ["", "Devel"] - config: ["", "HDF5"] container: image: ghcr.io/alf-qmc/alf-container/alf-requirements/${{ matrix.image_minor[0] }} steps: @@ -175,7 +172,6 @@ jobs: - name: Run Valgrind shell: bash run: | - apt-get update && apt-get install -y valgrind . ./configure.sh GNU devel serial gfortran -v make lib From 57ed632690db352704365f99cd4cee901af8ee79 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 9 Jan 2026 00:45:46 +0100 Subject: [PATCH 16/61] CI: Add tumbleweed --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d7bf83a5..1fa808d9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -127,7 +127,7 @@ jobs: - [bookworm, GNU] - [trixie, GNU] - [bullseye-openblas, GNU] - # - [tumbleweed, GNU] + - [tumbleweed, GNU] - [bullseye-pgi-21-03, PGI] - [bookworm-pgi-24-09, PGI] - [bullseye-intel, INTEL] From 9ab3ec7aeedad2f37d8abf74fc327663b2a9a465 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 9 Jan 2026 01:31:02 +0100 Subject: [PATCH 17/61] CI: No Tumbleweed --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1fa808d9..d7bf83a5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -127,7 +127,7 @@ jobs: - [bookworm, GNU] - [trixie, GNU] - [bullseye-openblas, GNU] - - [tumbleweed, GNU] + # - [tumbleweed, GNU] - [bullseye-pgi-21-03, PGI] - [bookworm-pgi-24-09, PGI] - [bullseye-intel, INTEL] From bdb4890175ffdd406a01ab4e4d3279be6d59e9d8 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Mon, 12 Jan 2026 15:37:06 +0100 Subject: [PATCH 18/61] CI: Try ubuntu-slim --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d7bf83a5..bbcc3dc0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,7 +20,7 @@ concurrency: jobs: lint_stopcommands: name: Lint Fortran STOP statements - runs-on: ubuntu-latest + runs-on: ubuntu-slim steps: - uses: actions/checkout@v4 - name: Check for forbidden STOP/ERROR STOP @@ -34,7 +34,7 @@ jobs: create_doc: name: Build LaTeX documentation (doc.pdf) - runs-on: ubuntu-latest + runs-on: ubuntu-slim needs: [lint_stopcommands] container: image: aergus/latex @@ -62,7 +62,7 @@ jobs: create_doxygen: name: Generate Doxygen HTML - runs-on: ubuntu-latest + runs-on: ubuntu-slim needs: [lint_stopcommands] steps: - uses: actions/checkout@v4 @@ -82,7 +82,7 @@ jobs: deploy_pages: name: Deploy GitHub Pages (master only) - runs-on: ubuntu-latest + runs-on: ubuntu-slim needs: [create_doc, create_doxygen] if: github.ref == 'refs/heads/master' environment: From c2a262eae589101953f17cbbac062b3dd7171635 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Tue, 13 Jan 2026 10:37:47 +0100 Subject: [PATCH 19/61] CI: ubuntu-slim only without custom container image --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bbcc3dc0..2834481d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: create_doc: name: Build LaTeX documentation (doc.pdf) - runs-on: ubuntu-slim + runs-on: ubuntu-latest needs: [lint_stopcommands] container: image: aergus/latex From dfbd03c2cb231b966f81b262e4b8dd13302bebbe Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Tue, 13 Jan 2026 14:09:32 +0100 Subject: [PATCH 20/61] Documentation/: add Makefile create-hash.sh doc.hash --- Documentation/Makefile | 5 +++++ Documentation/create-hash.sh | 5 +++++ Documentation/doc.hash | 1 + 3 files changed, 11 insertions(+) create mode 100644 Documentation/Makefile create mode 100755 Documentation/create-hash.sh create mode 100644 Documentation/doc.hash diff --git a/Documentation/Makefile b/Documentation/Makefile new file mode 100644 index 00000000..0db8a54e --- /dev/null +++ b/Documentation/Makefile @@ -0,0 +1,5 @@ +.PHONY: doc.pdf + +doc.pdf: + latexmk -pdf doc.tex + ./create-hash.sh diff --git a/Documentation/create-hash.sh b/Documentation/create-hash.sh new file mode 100755 index 00000000..233e1d29 --- /dev/null +++ b/Documentation/create-hash.sh @@ -0,0 +1,5 @@ +#!/bin/sh +# Create a SHA256 hash of all relevant documentation files. +# Useful for checking if the document has changed. + +cat ./*.tex $(find Figures -name "*.pdf" | sort) $(find Figures -name "*.png" | sort) doc.bib fassaad.bib | sha256sum | cut -f1 -d' ' > doc.hash diff --git a/Documentation/doc.hash b/Documentation/doc.hash new file mode 100644 index 00000000..77fabb67 --- /dev/null +++ b/Documentation/doc.hash @@ -0,0 +1 @@ +823813a7a17a2ad994f11df8036bfad765930fea36c15967c2babdf79ca0229e From 161681bbbb359029fe613dc9a478d2c8f80cb0fe Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Tue, 13 Jan 2026 15:29:34 +0100 Subject: [PATCH 21/61] First steps towards adapting test-branch to GitHub CI --- .github/workflows/test-branch.yaml | 38 ++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/test-branch.yaml diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml new file mode 100644 index 00000000..d4b2293c --- /dev/null +++ b/.github/workflows/test-branch.yaml @@ -0,0 +1,38 @@ +name: Test vs main branch + +on: workflow_dispatch + +jobs: + prepare: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set.outputs.matrix }} + steps: + - id: set + run: | + echo "matrix={'image_minor': ['bookworm-buildd'], 'mode': ['test_vs_main'], 'devel': ['devel', 'stable'], 'config': ['default']}" >> $GITHUB_OUTPUT + # - uses: actions/checkout@v4 + # - name: Prepare test branch + # run: | + # python3 ./testsuite/test_branch_generate_config.py + # cat generated-config.yml >> $GITHUB_OUTPUT + # - name: Upload generated config artifact + # uses: actions/upload-artifact@v4 + # with: + # name: generated-config + + compile: + runs-on: ubuntu-latest + needs: prepare + strategy: + matrix: ${{ fromJson(needs.prepare.outputs.matrix) }} + steps: + # - uses: actions/checkout@v4 + # - name: Download generated config artifact + # uses: actions/download-artifact@v4 + # with: + # name: generated-config + # - name: Compile test branch + # run: | + # cat generated-config/generated-config.yml + - run: echo "Running test with ${{ matrix.image_minor[0] }} - ${{ matrix.mode }} - ${{ matrix.devel }} - ${{ matrix.config }}" From 7b0262ac27c11b2c064fa70125230c2f9ccfb129 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Tue, 13 Jan 2026 18:33:13 +0100 Subject: [PATCH 22/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 60 ++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index d4b2293c..312a2636 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -3,30 +3,51 @@ name: Test vs main branch on: workflow_dispatch jobs: - prepare: - runs-on: ubuntu-latest - outputs: - matrix: ${{ steps.set.outputs.matrix }} - steps: - - id: set - run: | - echo "matrix={'image_minor': ['bookworm-buildd'], 'mode': ['test_vs_main'], 'devel': ['devel', 'stable'], 'config': ['default']}" >> $GITHUB_OUTPUT - # - uses: actions/checkout@v4 - # - name: Prepare test branch - # run: | - # python3 ./testsuite/test_branch_generate_config.py - # cat generated-config.yml >> $GITHUB_OUTPUT - # - name: Upload generated config artifact - # uses: actions/upload-artifact@v4 - # with: - # name: generated-config +# prepare: +# runs-on: ubuntu-latest +# outputs: +# env_names: ${{ steps.set.outputs.env_names }} +# test_names: ${{ steps.set.outputs.test_names }} +# steps: +# - id: set +# run: | +# echo "env_names=['Bullseye', 'Bookworm']" >> $GITHUB_OUTPUT +# echo "test_names=['Hubbard_N_Leg_Ladder_temper', 'Langevin', 'Langevin_1']" >> $GITHUB_OUTPUT +# # - name: Prepare test branch +# # run: | +# # python3 ./testsuite/test_branch_generate_config.py +# # cat generated-config.yml >> $GITHUB_OUTPUT +# # - name: Upload generated config artifact +# # uses: actions/upload-artifact@v4 +# # with: +# # name: generated-config compile: + # needs: prepare runs-on: ubuntu-latest - needs: prepare + container: + image: git.physik.uni-wuerzburg.de:25812/z03/pdi/debian:bookworm-buildd strategy: - matrix: ${{ fromJson(needs.prepare.outputs.matrix) }} + matrix: + env_name: ${{ fromJson(needs.prepare.outputs.env_names) }} steps: + - name: Install pyALF + run: pip install --no-deps pyALF + - uses: actions/checkout@v6 + with: + ref: master + - uses: actions/checkout@v6 + with: + ref: ${{ github.event.inputs.test_branch || github.ref_name }} + - run: alf_test_branch + --sim_pars $PWD/testsuite/test_branch_parameters.json + --machine $MACHINE + --mpi + --branch_T ${{ github.event.inputs.test_branch || github.ref_name }} + --branch_R master + --devel + --no_sim + --no_analyze # - uses: actions/checkout@v4 # - name: Download generated config artifact # uses: actions/download-artifact@v4 @@ -35,4 +56,3 @@ jobs: # - name: Compile test branch # run: | # cat generated-config/generated-config.yml - - run: echo "Running test with ${{ matrix.image_minor[0] }} - ${{ matrix.mode }} - ${{ matrix.devel }} - ${{ matrix.config }}" From d3f1be8f2da29d5c9fc6f3f42957ee948d3cd504 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Tue, 13 Jan 2026 18:34:23 +0100 Subject: [PATCH 23/61] testsuite/test_branch_generate_config.py: use argparse --- testsuite/test_branch_generate_config.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/testsuite/test_branch_generate_config.py b/testsuite/test_branch_generate_config.py index e0a6e8d3..69f0f233 100755 --- a/testsuite/test_branch_generate_config.py +++ b/testsuite/test_branch_generate_config.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -import sys +import argparse import json import copy import yaml @@ -155,12 +155,15 @@ def prep_runs(test_specs, env_name, env_spec): } if __name__ == "__main__": - try: - specs_file = sys.argv[1] - except IndexError: - specs_file = "testsuite/test_branch_parameters.json" + parser = argparse.ArgumentParser() + parser.add_argument('specs_file', nargs='?', default="testsuite/test_branch_parameters.json") + parser.add_argument('--github', action='store_true', + help="Generate matrix for GitHub Actions workflow instead of GitLab CI config") + args = parser.parse_args() + if args.github: + raise NotImplementedError("GitHub Actions config generation not implemented yet.") - with open(specs_file, 'r', encoding='UTF-8') as f: + with open(args.specs_file, 'r', encoding='UTF-8') as f: test_specs = json.load(f) for env_name, env_spec in ENVIRONMENTS.items(): From 01e405b280b30d667851cc8f2b3b3007aa7dcc3b Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Tue, 13 Jan 2026 18:36:07 +0100 Subject: [PATCH 24/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 312a2636..04762d7c 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -29,7 +29,17 @@ jobs: image: git.physik.uni-wuerzburg.de:25812/z03/pdi/debian:bookworm-buildd strategy: matrix: - env_name: ${{ fromJson(needs.prepare.outputs.env_names) }} + image_minor: + - [bullseye, GNU] + - [bookworm, GNU] + - [trixie, GNU] + - [bullseye-openblas, GNU] + # - [tumbleweed, GNU] + - [bullseye-pgi-21-03, PGI] + - [bookworm-pgi-24-09, PGI] + - [bullseye-intel, INTEL] + - [bookworm-intel-2024.2, INTEL] + - [bookworm-intel, INTELLLVM] steps: - name: Install pyALF run: pip install --no-deps pyALF From 74b892c30513bb07aac3d3c393de4f74ab7d2849 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Tue, 13 Jan 2026 18:37:47 +0100 Subject: [PATCH 25/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 04762d7c..6dc9d26c 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -26,7 +26,7 @@ jobs: # needs: prepare runs-on: ubuntu-latest container: - image: git.physik.uni-wuerzburg.de:25812/z03/pdi/debian:bookworm-buildd + image: ghcr.io/alf-qmc/alf-container/alf-requirements/${{ matrix.image_minor[0] }} strategy: matrix: image_minor: @@ -51,7 +51,7 @@ jobs: ref: ${{ github.event.inputs.test_branch || github.ref_name }} - run: alf_test_branch --sim_pars $PWD/testsuite/test_branch_parameters.json - --machine $MACHINE + --machine ${{ matrix.image_minor[1] }} --mpi --branch_T ${{ github.event.inputs.test_branch || github.ref_name }} --branch_R master From dbf593ff52b61646f3dd2b49f4698894da528ae4 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Tue, 13 Jan 2026 18:40:08 +0100 Subject: [PATCH 26/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 6dc9d26c..ff444773 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -26,7 +26,7 @@ jobs: # needs: prepare runs-on: ubuntu-latest container: - image: ghcr.io/alf-qmc/alf-container/alf-requirements/${{ matrix.image_minor[0] }} + image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/${{ matrix.image_minor[0] }} strategy: matrix: image_minor: From 1e3a06b97273ce971d52309c2ea4951c2e55aa8f Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Tue, 13 Jan 2026 18:41:41 +0100 Subject: [PATCH 27/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index ff444773..60fd2ede 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -33,13 +33,13 @@ jobs: - [bullseye, GNU] - [bookworm, GNU] - [trixie, GNU] - - [bullseye-openblas, GNU] + # - [bullseye-openblas, GNU] # - [tumbleweed, GNU] - [bullseye-pgi-21-03, PGI] - - [bookworm-pgi-24-09, PGI] - - [bullseye-intel, INTEL] - - [bookworm-intel-2024.2, INTEL] - - [bookworm-intel, INTELLLVM] + # - [bookworm-pgi-24-09, PGI] + # - [bullseye-intel, INTEL] + # - [bookworm-intel-2024.2, INTEL] + # - [bookworm-intel, INTELLLVM] steps: - name: Install pyALF run: pip install --no-deps pyALF From be55c76abae96cd92a8568a9442dc90e6e6a6610 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Tue, 13 Jan 2026 18:44:45 +0100 Subject: [PATCH 28/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 60fd2ede..bc37478e 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -50,6 +50,7 @@ jobs: with: ref: ${{ github.event.inputs.test_branch || github.ref_name }} - run: alf_test_branch + --alfdir $PWD --sim_pars $PWD/testsuite/test_branch_parameters.json --machine ${{ matrix.image_minor[1] }} --mpi From a69694cddeefccad16b541f5d4db7e0c7d2b5213 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Tue, 13 Jan 2026 22:51:23 +0100 Subject: [PATCH 29/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index bc37478e..847904ab 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -34,12 +34,12 @@ jobs: - [bookworm, GNU] - [trixie, GNU] # - [bullseye-openblas, GNU] - # - [tumbleweed, GNU] + - [tumbleweed, GNU] - [bullseye-pgi-21-03, PGI] - # - [bookworm-pgi-24-09, PGI] - # - [bullseye-intel, INTEL] - # - [bookworm-intel-2024.2, INTEL] - # - [bookworm-intel, INTELLLVM] + - [bookworm-pgi-24-09, PGI] + - [bullseye-intel, INTEL] + - [bookworm-intel-2024.2, INTEL] + - [bookworm-intel, INTELLLVM] steps: - name: Install pyALF run: pip install --no-deps pyALF @@ -59,11 +59,3 @@ jobs: --devel --no_sim --no_analyze - # - uses: actions/checkout@v4 - # - name: Download generated config artifact - # uses: actions/download-artifact@v4 - # with: - # name: generated-config - # - name: Compile test branch - # run: | - # cat generated-config/generated-config.yml From b61976546c5ec5a7f4efd879076a71018d2f9fa5 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Tue, 13 Jan 2026 22:59:33 +0100 Subject: [PATCH 30/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 847904ab..0b2e398e 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -57,5 +57,5 @@ jobs: --branch_T ${{ github.event.inputs.test_branch || github.ref_name }} --branch_R master --devel - --no_sim - --no_analyze + # --no_sim + # --no_analyze From b1b6ebccee919b997f4ea0102e0cd39e9c3c13e0 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 11:18:56 +0100 Subject: [PATCH 31/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 0b2e398e..b99ea226 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -33,8 +33,8 @@ jobs: - [bullseye, GNU] - [bookworm, GNU] - [trixie, GNU] - # - [bullseye-openblas, GNU] - - [tumbleweed, GNU] + # - [bullseye-openblas, GNU] + # - [tumbleweed, GNU] - [bullseye-pgi-21-03, PGI] - [bookworm-pgi-24-09, PGI] - [bullseye-intel, INTEL] From 4ea2063645d2dc8b8043f79730acf329bd38918f Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 12:32:34 +0100 Subject: [PATCH 32/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index b99ea226..f9fe49ce 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -57,5 +57,6 @@ jobs: --branch_T ${{ github.event.inputs.test_branch || github.ref_name }} --branch_R master --devel + --mpiexec_args "--use-hwthread-cpus" # --no_sim # --no_analyze From a2823c340eea354aad73b9b50f32ec05b68ce5f3 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 14:03:17 +0100 Subject: [PATCH 33/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index f9fe49ce..b52da6e9 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -57,6 +57,6 @@ jobs: --branch_T ${{ github.event.inputs.test_branch || github.ref_name }} --branch_R master --devel - --mpiexec_args "--use-hwthread-cpus" + --mpiexec_args="--use-hwthread-cpus" # --no_sim # --no_analyze From 5aa81ea32b30b375d7e026e264fe55aea77e08c3 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 14:22:55 +0100 Subject: [PATCH 34/61] CI: Work on test-branch --- .github/actions/alf_test/action.yml | 2 +- .github/workflows/test-branch.yaml | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index b685f592..1ed3f13c 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -49,7 +49,7 @@ runs: "$ALF_DIR/Prog/ALF.out" else MPI_OPTS="-n 4" - if mpiexec --version | grep -iq -e 'Open MPI' -e 'OpenRTE'; then MPI_OPTS="$MPI_OPTS --use-hwthread-cpus"; fi + mpiexec --version | grep -iq -e 'Open MPI' -e 'OpenRTE' && MPI_OPTS="$MPI_OPTS --use-hwthread-cpus" mpiexec $MPI_OPTS "$ALF_DIR/Prog/ALF.out" fi if echo "$MODE" | grep -iq -e "TEMPERING" -e "PARALLEL_PARAMS"; then cd Temp_0; fi diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index b52da6e9..8a61de21 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -49,7 +49,13 @@ jobs: - uses: actions/checkout@v6 with: ref: ${{ github.event.inputs.test_branch || github.ref_name }} - - run: alf_test_branch + - name: Check if mpiexec supports --use-hwthread-cpus + id: mpi_flag_check + run: mpiexec --version | grep -iq -e 'Open MPI' -e 'OpenRTE' && + echo "value='--use-hwthread-cpus'" >> $GITHUB_OUTPUT || + echo "value=''" >> $GITHUB_OUTPUT + - name: Run ALF test vs main branch + run: alf_test_branch --alfdir $PWD --sim_pars $PWD/testsuite/test_branch_parameters.json --machine ${{ matrix.image_minor[1] }} @@ -57,6 +63,6 @@ jobs: --branch_T ${{ github.event.inputs.test_branch || github.ref_name }} --branch_R master --devel - --mpiexec_args="--use-hwthread-cpus" + --mpiexec_args="${{ steps.mpi_flag_check.outputs.value }}" # --no_sim # --no_analyze From 12aea33c3b04ac662407e06408f14b9e766419ab Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 14:41:17 +0100 Subject: [PATCH 35/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 8a61de21..25ec167c 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -22,14 +22,14 @@ jobs: # # with: # # name: generated-config - compile: + test_branch: # needs: prepare runs-on: ubuntu-latest container: - image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/${{ matrix.image_minor[0] }} + image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/${{ matrix.image[0] }} strategy: matrix: - image_minor: + image: - [bullseye, GNU] - [bookworm, GNU] - [trixie, GNU] @@ -52,17 +52,22 @@ jobs: - name: Check if mpiexec supports --use-hwthread-cpus id: mpi_flag_check run: mpiexec --version | grep -iq -e 'Open MPI' -e 'OpenRTE' && - echo "value='--use-hwthread-cpus'" >> $GITHUB_OUTPUT || + echo "value='--mpiexec_args=--use-hwthread-cpus'" >> $GITHUB_OUTPUT || echo "value=''" >> $GITHUB_OUTPUT - name: Run ALF test vs main branch run: alf_test_branch --alfdir $PWD --sim_pars $PWD/testsuite/test_branch_parameters.json - --machine ${{ matrix.image_minor[1] }} + --machine ${{ matrix.image[1] }} --mpi --branch_T ${{ github.event.inputs.test_branch || github.ref_name }} --branch_R master --devel - --mpiexec_args="${{ steps.mpi_flag_check.outputs.value }}" - # --no_sim - # --no_analyze + ${{ steps.mpi_flag_check.outputs.value }} + - name: Upload test branch results + if: always() + uses: actions/upload-artifact@v6 + with: + name: test-branch-results-${{ matrix.image }} + path: + test.txt \ No newline at end of file From 3349011b9a9a069d37958ed75dc88f110c20ee7c Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 15:04:58 +0100 Subject: [PATCH 36/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 25ec167c..2f070f93 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -28,6 +28,7 @@ jobs: container: image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/${{ matrix.image[0] }} strategy: + fail-fast: false matrix: image: - [bullseye, GNU] @@ -52,8 +53,7 @@ jobs: - name: Check if mpiexec supports --use-hwthread-cpus id: mpi_flag_check run: mpiexec --version | grep -iq -e 'Open MPI' -e 'OpenRTE' && - echo "value='--mpiexec_args=--use-hwthread-cpus'" >> $GITHUB_OUTPUT || - echo "value=''" >> $GITHUB_OUTPUT + echo "value='--mpiexec_args=--use-hwthread-cpus'" >> $GITHUB_OUTPUT - name: Run ALF test vs main branch run: alf_test_branch --alfdir $PWD From 0cecf7ab5d850ab8f0c031496ce826ffa2830b41 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 15:29:15 +0100 Subject: [PATCH 37/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 2f070f93..188c8dc8 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -53,7 +53,8 @@ jobs: - name: Check if mpiexec supports --use-hwthread-cpus id: mpi_flag_check run: mpiexec --version | grep -iq -e 'Open MPI' -e 'OpenRTE' && - echo "value='--mpiexec_args=--use-hwthread-cpus'" >> $GITHUB_OUTPUT + echo "value='--mpiexec_args=--use-hwthread-cpus'" >> $GITHUB_OUTPUT || + echo "No Open MPI, so --use-hwthread-cpus not needed" - name: Run ALF test vs main branch run: alf_test_branch --alfdir $PWD From 099f3eba85dfe4beec2d4f39de49dbe725dee282 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 15:44:04 +0100 Subject: [PATCH 38/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 188c8dc8..8da2dff5 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -61,6 +61,7 @@ jobs: --sim_pars $PWD/testsuite/test_branch_parameters.json --machine ${{ matrix.image[1] }} --mpi + --n_mpi 4 --branch_T ${{ github.event.inputs.test_branch || github.ref_name }} --branch_R master --devel @@ -69,6 +70,6 @@ jobs: if: always() uses: actions/upload-artifact@v6 with: - name: test-branch-results-${{ matrix.image }} + name: test-branch-results-${{ matrix.image[0] }}-${{ matrix.image[1] }} path: test.txt \ No newline at end of file From cffec1be2a319a0f5c6fe4b42493b2b902166295 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 16:04:09 +0100 Subject: [PATCH 39/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 42 ++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 8da2dff5..a5ef1bc4 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -71,5 +71,47 @@ jobs: uses: actions/upload-artifact@v6 with: name: test-branch-results-${{ matrix.image[0] }}-${{ matrix.image[1] }} + path: + test.txt + + test_branch_macos: + runs-on: macos-latest + strategy: + fail-fast: false + matrix: + compiler: [GNU] + steps: + - name: Install pyALF + run: pip install --no-deps pyALF + - name: macOS Toolchain install + run: | + brew update + brew install mpich + gcc_version=$(brew list --versions gcc | grep -o '[0-9]\+' | head -1) + bindir=$(brew --prefix)/bin + ln -fs ${bindir}/gfortran-${gcc_version} /usr/local/bin/gfortran + ln -fs ${bindir}/gcc-${gcc_version} /usr/local/bin/gcc + ln -fs ${bindir}/g++-${gcc_version} /usr/local/bin/g++ + - uses: actions/checkout@v6 + with: + ref: master + - uses: actions/checkout@v6 + with: + ref: ${{ github.event.inputs.test_branch || github.ref_name }} + - name: Run ALF test vs main branch on macOS + run: alf_test_branch + --alfdir $PWD + --sim_pars $PWD/testsuite/test_branch_parameters.json + --machine ${{ matrix.compiler }} + --mpi + --n_mpi 4 + --branch_T ${{ github.event.inputs.test_branch || github.ref_name }} + --branch_R master + --devel + - name: Upload test branch results macOS + if: always() + uses: actions/upload-artifact@v6 + with: + name: test-branch-results-macos-${{ matrix.compiler }} path: test.txt \ No newline at end of file From fce700161c5d092e24d3d20e4effc8100a38eb57 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 16:20:42 +0100 Subject: [PATCH 40/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index a5ef1bc4..571c9d45 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -82,7 +82,7 @@ jobs: compiler: [GNU] steps: - name: Install pyALF - run: pip install --no-deps pyALF + run: pipx install pyALF - name: macOS Toolchain install run: | brew update From 9796b3e23786c6aac0fe9e977f57093405db9c06 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 16:55:02 +0100 Subject: [PATCH 41/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 571c9d45..43603120 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -80,6 +80,10 @@ jobs: fail-fast: false matrix: compiler: [GNU] + cache: + key: macos-HDF5 + paths: + - HDF5/ steps: - name: Install pyALF run: pipx install pyALF @@ -99,7 +103,7 @@ jobs: with: ref: ${{ github.event.inputs.test_branch || github.ref_name }} - name: Run ALF test vs main branch on macOS - run: alf_test_branch + run: OMP_NUM_THREADS=1 alf_test_branch --alfdir $PWD --sim_pars $PWD/testsuite/test_branch_parameters.json --machine ${{ matrix.compiler }} From bd509dd82173fb69f02362345853b13f58c60af8 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 17:19:41 +0100 Subject: [PATCH 42/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 43603120..8bf6071f 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -80,14 +80,12 @@ jobs: fail-fast: false matrix: compiler: [GNU] - cache: - key: macos-HDF5 - paths: - - HDF5/ steps: - name: Install pyALF run: pipx install pyALF + - name: macOS Toolchain install + id: mac_toolchain run: | brew update brew install mpich @@ -96,12 +94,21 @@ jobs: ln -fs ${bindir}/gfortran-${gcc_version} /usr/local/bin/gfortran ln -fs ${bindir}/gcc-${gcc_version} /usr/local/bin/gcc ln -fs ${bindir}/g++-${gcc_version} /usr/local/bin/g++ + echo "gcc_version=$gcc_version" >> $GITHUB_OUTPUT + - uses: actions/checkout@v6 with: ref: master - uses: actions/checkout@v6 with: ref: ${{ github.event.inputs.test_branch || github.ref_name }} + + - name: Restore HDF5 cache + uses: actions/cache@v5 + with: + key: macos-HDF5-${{ steps.mac_toolchain.outputs.gcc_version }} + path: HDF5/*/ + - name: Run ALF test vs main branch on macOS run: OMP_NUM_THREADS=1 alf_test_branch --alfdir $PWD @@ -112,6 +119,13 @@ jobs: --branch_T ${{ github.event.inputs.test_branch || github.ref_name }} --branch_R master --devel + + - name: Save HDF5 cache + uses: actions/cache@v5 + with: + key: macos-HDF5-${{ steps.mac_toolchain.outputs.gcc_version }} + path: HDF5/*/ + - name: Upload test branch results macOS if: always() uses: actions/upload-artifact@v6 From 0f62d13d26f3ff8d087dd60d01f6754ba3fe011f Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 17:43:54 +0100 Subject: [PATCH 43/61] CI: cache HDF5 for MacOS --- .github/actions/alf_test/action.yml | 11 ++++++++++- .github/workflows/test-branch.yaml | 6 ------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/actions/alf_test/action.yml b/.github/actions/alf_test/action.yml index 1ed3f13c..b4c970cf 100644 --- a/.github/actions/alf_test/action.yml +++ b/.github/actions/alf_test/action.yml @@ -10,6 +10,7 @@ runs: steps: - name: macOS Toolchain install if: runner.os == 'macOS' + id: mac_toolchain shell: bash run: | brew update @@ -19,6 +20,7 @@ runs: ln -fs ${bindir}/gfortran-${gcc_version} /usr/local/bin/gfortran ln -fs ${bindir}/gcc-${gcc_version} /usr/local/bin/gcc ln -fs ${bindir}/g++-${gcc_version} /usr/local/bin/g++ + echo "gcc_version=$gcc_version" >> $GITHUB_OUTPUT - name: Get number of processors shell: bash @@ -30,6 +32,13 @@ runs: fi echo "There are $NPROC processors available." + - name: Restore HDF5 cache + if: runner.os == 'macOS' + uses: actions/cache@v5 + with: + key: macos-HDF5-${{ steps.mac_toolchain.outputs.gcc_version }} + path: HDF5/*/ + - name: Build & Test shell: bash env: @@ -71,4 +80,4 @@ runs: cmake .. cmake --build . --target all --config Release ctest -VV -O log.txt - grep "tests passed" log.txt | cut -d " " -f 1 \ No newline at end of file + grep "tests passed" log.txt | cut -d " " -f 1 diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index 8bf6071f..e6a4acbb 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -120,12 +120,6 @@ jobs: --branch_R master --devel - - name: Save HDF5 cache - uses: actions/cache@v5 - with: - key: macos-HDF5-${{ steps.mac_toolchain.outputs.gcc_version }} - path: HDF5/*/ - - name: Upload test branch results macOS if: always() uses: actions/upload-artifact@v6 From 82cac4e6ad027215ce6ddb422a115b76487d01d5 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 17:48:00 +0100 Subject: [PATCH 44/61] CI: use HDF5 for MacOS --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2834481d..d67388b6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -152,7 +152,7 @@ jobs: matrix: mode: [noMPI, MPI, TEMPERING, PARALLEL_PARAMS] devel: ["", "Devel"] - config: [""] # TODO: Enable fast access to HDF5 on macOS runners + config: ["", "HDF5"] steps: - uses: actions/checkout@v4 - uses: ./.github/actions/alf_test From 9701163cd2e34161528880f3206b7fe738c63bf3 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Wed, 14 Jan 2026 21:40:23 +0100 Subject: [PATCH 45/61] CI: Work on test-branch --- .github/workflows/test-branch.yaml | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/.github/workflows/test-branch.yaml b/.github/workflows/test-branch.yaml index e6a4acbb..aa6786bc 100644 --- a/.github/workflows/test-branch.yaml +++ b/.github/workflows/test-branch.yaml @@ -3,25 +3,6 @@ name: Test vs main branch on: workflow_dispatch jobs: -# prepare: -# runs-on: ubuntu-latest -# outputs: -# env_names: ${{ steps.set.outputs.env_names }} -# test_names: ${{ steps.set.outputs.test_names }} -# steps: -# - id: set -# run: | -# echo "env_names=['Bullseye', 'Bookworm']" >> $GITHUB_OUTPUT -# echo "test_names=['Hubbard_N_Leg_Ladder_temper', 'Langevin', 'Langevin_1']" >> $GITHUB_OUTPUT -# # - name: Prepare test branch -# # run: | -# # python3 ./testsuite/test_branch_generate_config.py -# # cat generated-config.yml >> $GITHUB_OUTPUT -# # - name: Upload generated config artifact -# # uses: actions/upload-artifact@v4 -# # with: -# # name: generated-config - test_branch: # needs: prepare runs-on: ubuntu-latest @@ -110,7 +91,7 @@ jobs: path: HDF5/*/ - name: Run ALF test vs main branch on macOS - run: OMP_NUM_THREADS=1 alf_test_branch + run: alf_test_branch --alfdir $PWD --sim_pars $PWD/testsuite/test_branch_parameters.json --machine ${{ matrix.compiler }} From 387c0c76d53b296a71ad0c88fd64e5c54440ce28 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Thu, 15 Jan 2026 15:20:25 +0100 Subject: [PATCH 46/61] add .github/workflows/test-vs-ed.yaml --- .github/workflows/test-vs-ed.yaml | 80 +++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 .github/workflows/test-vs-ed.yaml diff --git a/.github/workflows/test-vs-ed.yaml b/.github/workflows/test-vs-ed.yaml new file mode 100644 index 00000000..ed738f0e --- /dev/null +++ b/.github/workflows/test-vs-ed.yaml @@ -0,0 +1,80 @@ +name: Test vs given ED reference results +on: workflow_dispatch + +jobs: + prepare_matrix: + runs-on: ubuntu-latest + outputs: + test_specs: ${{ steps.set-matrix.outputs.test_specs }} + steps: + - id: set-matrix + run: | + echo "test_specs={'hubbard_finT_chain':, 'hubbard_T0_chain'}" >> $GITHUB_OUTPUT + echo "env_names=['bullseye', 'bookworm', 'trixie']" >> $GITHUB_OUTPUT + compile: + needs: prepare_matrix + runs-on: ubuntu-latest + container: + image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/${{ matrix.image[0] }} + strategy: + fail-fast: false + matrix: + image: + - [bullseye, GNU] + - [bookworm, GNU] + - [trixie, GNU] + steps: + - name: Install pyALF + run: pip install --no-deps pyALF + - uses: actions/checkout@v6 + - name: Compile ALF + run: cd ${{ matrix.test_dir }} && ../compile.py ${{ matrix.image[1] }} + - name: Upload compiled ALF binary and test directory + uses: actions/upload-artifact@v6 + with: + name: simdir-${{ matrix.test_dir }}-${{ matrix.image[0] }}-${{ matrix.image[1] }} + path: ${{ matrix.test_dir }} + + simulate: + needs: compile + runs-on: ubuntu-latest + container: + image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/${{ matrix.image[0] }} + strategy: + fail-fast: false + matrix: + test_name: ${{ fromJson(needs.prepare_matrix.outputs.test_names) }} + image: + - [bullseye, GNU] + - [bookworm, GNU] + - [trixie, GNU] + steps: + - name: Download compiled ALF binary + uses: actions/download-artifact@v6 + with: + name: simdir-${{ matrix.test_dir }}-${{ matrix.image[0] }}-${{ matrix.image[1] }} + - name: Run ALF test vs main branch + run: cd ${{ matrix.test_dir }}/$CI_NODE_INDEX && ../ALF.out + + - name: Upload simulation results + uses: actions/upload-artifact@v6 + with: + name: simulation-results-${{ matrix.test_name }}-${{ matrix.image[1] }}-${{ matrix.env_name }} + path: ${{ matrix.test_dir }}/$CI_NODE_INDEX + + analyze: + needs: simulate + runs-on: ubuntu-latest + steps: + - name: Install pyALF + run: pip install --no-deps pyALF + - name: Analyze simulation results + run: cd ${{ matrix.test_dir }} && ../analysis.py + - name: Upload compiled ALF binary and test directory + uses: actions/upload-artifact@v6 + with: + name: simdir-${{ matrix.test_dir }}-${{ matrix.image[0] }}-${{ matrix.image[1] }} + path: | + ${{ matrix.test_dir }}/results.json + ${{ matrix.test_dir }}/test.png + ${{ matrix.test_dir }}/spec.yaml From 9ba6522e489119e66a1e2ef47346e999ee7fb594 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 16 Jan 2026 17:00:58 +0100 Subject: [PATCH 47/61] Work on .github/workflows/test-vs-ed.yaml --- .github/workflows/test-vs-ed.yaml | 69 +++++++++++++++++----------- testsuite/test_vs_ed/compile.py | 2 +- testsuite/test_vs_ed/prep_test.py | 28 +++++++++-- testsuite/test_vs_ed/test_specs.yaml | 6 +-- 4 files changed, 69 insertions(+), 36 deletions(-) diff --git a/.github/workflows/test-vs-ed.yaml b/.github/workflows/test-vs-ed.yaml index ed738f0e..914af8d9 100644 --- a/.github/workflows/test-vs-ed.yaml +++ b/.github/workflows/test-vs-ed.yaml @@ -5,76 +5,89 @@ jobs: prepare_matrix: runs-on: ubuntu-latest outputs: - test_specs: ${{ steps.set-matrix.outputs.test_specs }} + compile_matrix: ${{ steps.set-matrix.outputs.compile_matrix }} + simulation_matrix: ${{ steps.set-matrix.outputs.simulation_matrix }} steps: - id: set-matrix run: | + ./testsuite/test_vs_ed/prep_test.py echo "test_specs={'hubbard_finT_chain':, 'hubbard_T0_chain'}" >> $GITHUB_OUTPUT echo "env_names=['bullseye', 'bookworm', 'trixie']" >> $GITHUB_OUTPUT + + - name: Upload prepared test directories + uses: actions/upload-artifact@v6 + with: + name: prepared-test-directories + path: testsuite/test_vs_ed/*/ compile: needs: prepare_matrix runs-on: ubuntu-latest container: - image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/${{ matrix.image[0] }} + image: ${{ matrix.image }} strategy: fail-fast: false matrix: - image: - - [bullseye, GNU] - - [bookworm, GNU] - - [trixie, GNU] + include: ${{ fromJson(needs.prepare_matrix.outputs.compile_matrix) }} steps: - name: Install pyALF run: pip install --no-deps pyALF - uses: actions/checkout@v6 + - name: Download prepared test directories + uses: actions/download-artifact@v7 + with: + name: prepared-test-directories - name: Compile ALF - run: cd ${{ matrix.test_dir }} && ../compile.py ${{ matrix.image[1] }} + run: cd ${{ matrix.test_dir }} && ../compile.py ${{ matrix.machine }} - name: Upload compiled ALF binary and test directory uses: actions/upload-artifact@v6 with: - name: simdir-${{ matrix.test_dir }}-${{ matrix.image[0] }}-${{ matrix.image[1] }} + name: simdir-${{ matrix.test_dir }}-${{ matrix.image }}-${{ matrix.machine }} path: ${{ matrix.test_dir }} simulate: - needs: compile + needs: [prepare_matrix, compile] runs-on: ubuntu-latest container: - image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/${{ matrix.image[0] }} + image: ${{ matrix.image }} strategy: fail-fast: false matrix: - test_name: ${{ fromJson(needs.prepare_matrix.outputs.test_names) }} - image: - - [bullseye, GNU] - - [bookworm, GNU] - - [trixie, GNU] + include: ${{ fromJson(needs.prepare_matrix.outputs.simulation_matrix) }} steps: - name: Download compiled ALF binary - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: - name: simdir-${{ matrix.test_dir }}-${{ matrix.image[0] }}-${{ matrix.image[1] }} + name: simdir-${{ matrix.test_dir }}-${{ matrix.image }}-${{ matrix.machine }} - name: Run ALF test vs main branch run: cd ${{ matrix.test_dir }}/$CI_NODE_INDEX && ../ALF.out - name: Upload simulation results uses: actions/upload-artifact@v6 with: - name: simulation-results-${{ matrix.test_name }}-${{ matrix.image[1] }}-${{ matrix.env_name }} - path: ${{ matrix.test_dir }}/$CI_NODE_INDEX + name: simulation-results-${{ matrix.test_name }}-${{ matrix.image }}-${{ matrix.machine }} + path: ${{ matrix.test_dir }}/${{ matrix.CI_NODE_INDEX }} analyze: needs: simulate runs-on: ubuntu-latest steps: + - uses: actions/checkout@v6 - name: Install pyALF run: pip install --no-deps pyALF + - name: Download simulation results + uses: actions/download-artifact@v7 - name: Analyze simulation results - run: cd ${{ matrix.test_dir }} && ../analysis.py - - name: Upload compiled ALF binary and test directory - uses: actions/upload-artifact@v6 - with: - name: simdir-${{ matrix.test_dir }}-${{ matrix.image[0] }}-${{ matrix.image[1] }} - path: | - ${{ matrix.test_dir }}/results.json - ${{ matrix.test_dir }}/test.png - ${{ matrix.test_dir }}/spec.yaml + run: | + cd testsuite/test_vs_ed + for dir in */; do + cd "$dir" && ../analysis.py + cd .. + done + # - name: Upload compiled ALF binary and test directory + # uses: actions/upload-artifact@v6 + # with: + # name: simdir-${{ matrix.test_dir }}-${{ matrix.image[0] }}-${{ matrix.image[1] }} + # path: | + # ${{ matrix.test_dir }}/results.json + # ${{ matrix.test_dir }}/test.png + # ${{ matrix.test_dir }}/spec.yaml diff --git a/testsuite/test_vs_ed/compile.py b/testsuite/test_vs_ed/compile.py index 0b40c18d..c168df9f 100755 --- a/testsuite/test_vs_ed/compile.py +++ b/testsuite/test_vs_ed/compile.py @@ -10,7 +10,7 @@ if __name__ == "__main__": machine = sys.argv[1] with open("spec.yaml", 'r', encoding='UTF-8') as f: - spec = yaml.load(f, yaml.Loader) + spec = yaml.safe_load(f) alf_src = ALF_source(alf_dir='../../..') sims = [] diff --git a/testsuite/test_vs_ed/prep_test.py b/testsuite/test_vs_ed/prep_test.py index 8cf1b96d..f279d259 100755 --- a/testsuite/test_vs_ed/prep_test.py +++ b/testsuite/test_vs_ed/prep_test.py @@ -1,10 +1,11 @@ #!/usr/bin/env python3 +import json import os import sys import yaml import copy -pipeline_config = yaml.load(""" +pipeline_config = yaml.safe_load(""" default: tags: - k8s @@ -72,7 +73,7 @@ - $TEST_DIR/test.png - $TEST_DIR/spec.yaml when: always -""", yaml.Loader) +""") def prep_runs(test_name, test_spec, env_name, env_spec): @@ -115,11 +116,30 @@ def prep_runs(test_name, test_spec, env_name, env_spec): except IndexError: specs_file = "testsuite/test_vs_ed/test_specs.yaml" with open(specs_file, 'r', encoding='UTF-8') as f: - test_specs = yaml.load(f, yaml.Loader) + test_specs = yaml.safe_load(f) + + compile_matrix = [] + simulation_matrix = [] + analysis_matrix = [] for test_name, test_spec in test_specs.items(): for env_name, env_spec in test_spec['environments'].items(): - prep_runs(test_name, test_spec, env_name, env_spec) + # prep_runs(test_name, test_spec, env_name, env_spec) + print(env_spec) + compile_matrix.append({ + 'test_dir': f'testsuite/test_vs_ed/{test_name}_{env_name}', + 'machine': env_spec['variables']['MACHINE'], + 'image': env_spec['image'], + }) + for i, _ in enumerate(test_spec["sim_dicts"]): + simulation_matrix.append({ + 'test_dir': f'testsuite/test_vs_ed/{test_name}_{env_name}', + 'machine': env_spec['variables']['MACHINE'], + 'image': env_spec['image'], + 'CI_NODE_INDEX': i+1, + }) + print(f'compile_matrix={json.dumps(compile_matrix)}') + print(f'simulation_matrix={json.dumps(simulation_matrix)}') with open('generated-config.yml', 'w', encoding='UTF-8') as f: f.write(yaml.dump(pipeline_config)) diff --git a/testsuite/test_vs_ed/test_specs.yaml b/testsuite/test_vs_ed/test_specs.yaml index f94982d4..f95a1902 100644 --- a/testsuite/test_vs_ed/test_specs.yaml +++ b/testsuite/test_vs_ed/test_specs.yaml @@ -18,9 +18,9 @@ hubbard_finT_chain: PGI-21-03: image: git.physik.uni-wuerzburg.de:25812/alf/alf_docker/pyalf-requirements/bullseye-pgi-21-03 variables: {MACHINE: PGI} - macGNU: - tags: ['macos'] - variables: {MACHINE: GNU} + # macGNU: + # tags: ['macos'] + # variables: {MACHINE: GNU} ham_name: "Hubbard" ed_energy: -1.47261997 max_sigma: 3 From 67a9bb52fea21d161de2e1f15d800b16fd412baa Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 16 Jan 2026 17:04:53 +0100 Subject: [PATCH 48/61] Work on .github/workflows/test-vs-ed.yaml --- .github/workflows/test-vs-ed.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test-vs-ed.yaml b/.github/workflows/test-vs-ed.yaml index 914af8d9..7b19c804 100644 --- a/.github/workflows/test-vs-ed.yaml +++ b/.github/workflows/test-vs-ed.yaml @@ -8,11 +8,10 @@ jobs: compile_matrix: ${{ steps.set-matrix.outputs.compile_matrix }} simulation_matrix: ${{ steps.set-matrix.outputs.simulation_matrix }} steps: + - uses: actions/checkout@v6 + - id: set-matrix - run: | - ./testsuite/test_vs_ed/prep_test.py - echo "test_specs={'hubbard_finT_chain':, 'hubbard_T0_chain'}" >> $GITHUB_OUTPUT - echo "env_names=['bullseye', 'bookworm', 'trixie']" >> $GITHUB_OUTPUT + run: ./testsuite/test_vs_ed/prep_test.py - name: Upload prepared test directories uses: actions/upload-artifact@v6 From a8b1236e5e4c386a065b5e4dd0e5eac45f5a54c1 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 16 Jan 2026 17:09:02 +0100 Subject: [PATCH 49/61] Work on .github/workflows/test-vs-ed.yaml --- testsuite/test_vs_ed/prep_test.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/testsuite/test_vs_ed/prep_test.py b/testsuite/test_vs_ed/prep_test.py index f279d259..637618d5 100755 --- a/testsuite/test_vs_ed/prep_test.py +++ b/testsuite/test_vs_ed/prep_test.py @@ -138,8 +138,10 @@ def prep_runs(test_name, test_spec, env_name, env_spec): 'image': env_spec['image'], 'CI_NODE_INDEX': i+1, }) - print(f'compile_matrix={json.dumps(compile_matrix)}') - print(f'simulation_matrix={json.dumps(simulation_matrix)}') + + with open(sys.getenv('GITHUB_OUTPUT'), 'w+', encoding='UTF-8') as f: + f.write(f'compile_matrix={json.dumps(compile_matrix)}\n') + f.write(f'simulation_matrix={json.dumps(simulation_matrix)}') with open('generated-config.yml', 'w', encoding='UTF-8') as f: f.write(yaml.dump(pipeline_config)) From 02aaac849fa39e9397b9a24f7cbbdf807c9dd1c5 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 16 Jan 2026 17:10:55 +0100 Subject: [PATCH 50/61] Work on .github/workflows/test-vs-ed.yaml --- testsuite/test_vs_ed/prep_test.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/testsuite/test_vs_ed/prep_test.py b/testsuite/test_vs_ed/prep_test.py index 637618d5..52b6b595 100755 --- a/testsuite/test_vs_ed/prep_test.py +++ b/testsuite/test_vs_ed/prep_test.py @@ -125,7 +125,6 @@ def prep_runs(test_name, test_spec, env_name, env_spec): for test_name, test_spec in test_specs.items(): for env_name, env_spec in test_spec['environments'].items(): # prep_runs(test_name, test_spec, env_name, env_spec) - print(env_spec) compile_matrix.append({ 'test_dir': f'testsuite/test_vs_ed/{test_name}_{env_name}', 'machine': env_spec['variables']['MACHINE'], @@ -139,7 +138,7 @@ def prep_runs(test_name, test_spec, env_name, env_spec): 'CI_NODE_INDEX': i+1, }) - with open(sys.getenv('GITHUB_OUTPUT'), 'w+', encoding='UTF-8') as f: + with open(os.getenv('GITHUB_OUTPUT', 'test.json'), 'w+', encoding='UTF-8') as f: f.write(f'compile_matrix={json.dumps(compile_matrix)}\n') f.write(f'simulation_matrix={json.dumps(simulation_matrix)}') From 08dd4f49e6173a3a67347aee2ad72c09e524a56f Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 16 Jan 2026 17:12:03 +0100 Subject: [PATCH 51/61] Work on .github/workflows/test-vs-ed.yaml --- testsuite/test_vs_ed/prep_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/test_vs_ed/prep_test.py b/testsuite/test_vs_ed/prep_test.py index 52b6b595..260fcf2c 100755 --- a/testsuite/test_vs_ed/prep_test.py +++ b/testsuite/test_vs_ed/prep_test.py @@ -124,7 +124,7 @@ def prep_runs(test_name, test_spec, env_name, env_spec): for test_name, test_spec in test_specs.items(): for env_name, env_spec in test_spec['environments'].items(): - # prep_runs(test_name, test_spec, env_name, env_spec) + prep_runs(test_name, test_spec, env_name, env_spec) compile_matrix.append({ 'test_dir': f'testsuite/test_vs_ed/{test_name}_{env_name}', 'machine': env_spec['variables']['MACHINE'], From eda47d7c0e58e81e98352c12d6ea1e4af513c1d4 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 16 Jan 2026 20:25:30 +0100 Subject: [PATCH 52/61] Work on .github/workflows/test-vs-ed.yaml --- testsuite/test_vs_ed/test_specs.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/testsuite/test_vs_ed/test_specs.yaml b/testsuite/test_vs_ed/test_specs.yaml index f95a1902..fcd439da 100644 --- a/testsuite/test_vs_ed/test_specs.yaml +++ b/testsuite/test_vs_ed/test_specs.yaml @@ -1,22 +1,22 @@ hubbard_finT_chain: environments: &environments Bullseye: - image: git.physik.uni-wuerzburg.de:25812/alf/alf_docker/pyalf-requirements/bullseye + image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/bullseye variables: {MACHINE: GNU} Bookworm: - image: git.physik.uni-wuerzburg.de:25812/alf/alf_docker/pyalf-requirements/bookworm + image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/bookworm variables: {MACHINE: GNU} Intel21: - image: git.physik.uni-wuerzburg.de:25812/alf/alf_docker/pyalf-requirements/bullseye-intel + image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/bullseye-intel variables: {MACHINE: INTEL} Intel-2024.2: - image: git.physik.uni-wuerzburg.de:25812/alf/alf_docker/pyalf-requirements/bookworm-intel-2024.2 + image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/bookworm-intel-2024.2 variables: {MACHINE: INTEL} IntelLLVM-Latest: - image: git.physik.uni-wuerzburg.de:25812/alf/alf_docker/pyalf-requirements/bookworm-intel + image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/bookworm-intel variables: {MACHINE: IntelLLVM} PGI-21-03: - image: git.physik.uni-wuerzburg.de:25812/alf/alf_docker/pyalf-requirements/bullseye-pgi-21-03 + image: ghcr.io/alf-qmc/alf-container/pyalf-requirements/bullseye-pgi-21-03 variables: {MACHINE: PGI} # macGNU: # tags: ['macos'] From 0ddeb93d10cbb064057beb3af040b2054b50f7d4 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 16 Jan 2026 20:33:44 +0100 Subject: [PATCH 53/61] Work on .github/workflows/test-vs-ed.yaml --- .github/workflows/test-vs-ed.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test-vs-ed.yaml b/.github/workflows/test-vs-ed.yaml index 7b19c804..d1c23899 100644 --- a/.github/workflows/test-vs-ed.yaml +++ b/.github/workflows/test-vs-ed.yaml @@ -35,6 +35,9 @@ jobs: uses: actions/download-artifact@v7 with: name: prepared-test-directories + - run: ls -la + - run: ls -la testsuite/test_vs_ed/ + - run: ls -la ${{ matrix.test_dir }} - name: Compile ALF run: cd ${{ matrix.test_dir }} && ../compile.py ${{ matrix.machine }} - name: Upload compiled ALF binary and test directory From 28851fb651b9d0a417d8f317d504a1db5a30bc16 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 16 Jan 2026 20:37:40 +0100 Subject: [PATCH 54/61] Work on .github/workflows/test-vs-ed.yaml --- .github/workflows/ci.yml | 9 +++++---- .github/workflows/test-vs-ed.yaml | 7 +++++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d67388b6..50e77b86 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,10 +1,11 @@ name: CI on: - push: - branches: ["**"] - pull_request: - branches: ["**"] + workflow_dispatch: +# push: +# branches: ["**"] +# pull_request: +# branches: ["**"] permissions: contents: read diff --git a/.github/workflows/test-vs-ed.yaml b/.github/workflows/test-vs-ed.yaml index d1c23899..50871689 100644 --- a/.github/workflows/test-vs-ed.yaml +++ b/.github/workflows/test-vs-ed.yaml @@ -1,5 +1,8 @@ name: Test vs given ED reference results -on: workflow_dispatch +on: + workflow_dispatch: + push: + branches: ["adapt-test-branch"] jobs: prepare_matrix: @@ -35,7 +38,7 @@ jobs: uses: actions/download-artifact@v7 with: name: prepared-test-directories - - run: ls -la + - run: ls -la $PWD - run: ls -la testsuite/test_vs_ed/ - run: ls -la ${{ matrix.test_dir }} - name: Compile ALF From 611fda3908bb8ba3fdeaa8a3e0cc474593584e5f Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 16 Jan 2026 20:48:17 +0100 Subject: [PATCH 55/61] Work on .github/workflows/test-vs-ed.yaml --- .github/workflows/test-vs-ed.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/test-vs-ed.yaml b/.github/workflows/test-vs-ed.yaml index 50871689..04e8fa2d 100644 --- a/.github/workflows/test-vs-ed.yaml +++ b/.github/workflows/test-vs-ed.yaml @@ -38,6 +38,7 @@ jobs: uses: actions/download-artifact@v7 with: name: prepared-test-directories + path: testsuite/test_vs_ed/ - run: ls -la $PWD - run: ls -la testsuite/test_vs_ed/ - run: ls -la ${{ matrix.test_dir }} @@ -63,6 +64,10 @@ jobs: uses: actions/download-artifact@v7 with: name: simdir-${{ matrix.test_dir }}-${{ matrix.image }}-${{ matrix.machine }} + path: testsuite/test_vs_ed/ + - run: ls -la $PWD + - run: ls -la testsuite/test_vs_ed/ + - run: ls -la ${{ matrix.test_dir }} - name: Run ALF test vs main branch run: cd ${{ matrix.test_dir }}/$CI_NODE_INDEX && ../ALF.out @@ -81,6 +86,8 @@ jobs: run: pip install --no-deps pyALF - name: Download simulation results uses: actions/download-artifact@v7 + with: + path: testsuite/test_vs_ed/ - name: Analyze simulation results run: | cd testsuite/test_vs_ed From ae1cce04ccb8df149f1a386feb0f1b8a262c1952 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 16 Jan 2026 20:59:35 +0100 Subject: [PATCH 56/61] Work on .github/workflows/test-vs-ed.yaml --- testsuite/test_vs_ed/prep_test.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/testsuite/test_vs_ed/prep_test.py b/testsuite/test_vs_ed/prep_test.py index 260fcf2c..619a8b97 100755 --- a/testsuite/test_vs_ed/prep_test.py +++ b/testsuite/test_vs_ed/prep_test.py @@ -126,13 +126,15 @@ def prep_runs(test_name, test_spec, env_name, env_spec): for env_name, env_spec in test_spec['environments'].items(): prep_runs(test_name, test_spec, env_name, env_spec) compile_matrix.append({ - 'test_dir': f'testsuite/test_vs_ed/{test_name}_{env_name}', + 'test_name': test_name, + 'env_name': env_name, 'machine': env_spec['variables']['MACHINE'], 'image': env_spec['image'], }) for i, _ in enumerate(test_spec["sim_dicts"]): simulation_matrix.append({ - 'test_dir': f'testsuite/test_vs_ed/{test_name}_{env_name}', + 'test_name': test_name, + 'env_name': env_name, 'machine': env_spec['variables']['MACHINE'], 'image': env_spec['image'], 'CI_NODE_INDEX': i+1, From b799a223baf91b6f3a9b628d612739951de6578a Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Fri, 16 Jan 2026 21:06:55 +0100 Subject: [PATCH 57/61] Work on .github/workflows/test-vs-ed.yaml --- .github/workflows/test-vs-ed.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test-vs-ed.yaml b/.github/workflows/test-vs-ed.yaml index 04e8fa2d..4b7c69af 100644 --- a/.github/workflows/test-vs-ed.yaml +++ b/.github/workflows/test-vs-ed.yaml @@ -41,14 +41,14 @@ jobs: path: testsuite/test_vs_ed/ - run: ls -la $PWD - run: ls -la testsuite/test_vs_ed/ - - run: ls -la ${{ matrix.test_dir }} + - run: ls -la testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }} - name: Compile ALF - run: cd ${{ matrix.test_dir }} && ../compile.py ${{ matrix.machine }} + run: cd testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }} && ../compile.py ${{ matrix.machine }} - name: Upload compiled ALF binary and test directory uses: actions/upload-artifact@v6 with: - name: simdir-${{ matrix.test_dir }}-${{ matrix.image }}-${{ matrix.machine }} - path: ${{ matrix.test_dir }} + name: simdir-${{ matrix.test_name }}-${{ matrix.env_name }}-${{ matrix.machine }} + path: testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }} simulate: needs: [prepare_matrix, compile] @@ -63,19 +63,19 @@ jobs: - name: Download compiled ALF binary uses: actions/download-artifact@v7 with: - name: simdir-${{ matrix.test_dir }}-${{ matrix.image }}-${{ matrix.machine }} + name: simdir-${{ matrix.test_name }}-${{ matrix.env_name }}-${{ matrix.machine }} path: testsuite/test_vs_ed/ - run: ls -la $PWD - run: ls -la testsuite/test_vs_ed/ - - run: ls -la ${{ matrix.test_dir }} + - run: ls -la testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }} - name: Run ALF test vs main branch - run: cd ${{ matrix.test_dir }}/$CI_NODE_INDEX && ../ALF.out + run: cd testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }}/${{ matrix.CI_NODE_INDEX }} && ../ALF.out - name: Upload simulation results uses: actions/upload-artifact@v6 with: - name: simulation-results-${{ matrix.test_name }}-${{ matrix.image }}-${{ matrix.machine }} - path: ${{ matrix.test_dir }}/${{ matrix.CI_NODE_INDEX }} + name: simulation-results-${{ matrix.test_name }}-${{ matrix.env_name }}-${{ matrix.machine }} + path: testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }}/${{ matrix.CI_NODE_INDEX }} analyze: needs: simulate From 96caea797a0c3e49f664c00d8b22bebf3c343df5 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Sat, 17 Jan 2026 00:09:46 +0100 Subject: [PATCH 58/61] Work on .github/workflows/test-vs-ed.yaml --- .github/workflows/test-vs-ed.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-vs-ed.yaml b/.github/workflows/test-vs-ed.yaml index 4b7c69af..0f0608bf 100644 --- a/.github/workflows/test-vs-ed.yaml +++ b/.github/workflows/test-vs-ed.yaml @@ -64,7 +64,7 @@ jobs: uses: actions/download-artifact@v7 with: name: simdir-${{ matrix.test_name }}-${{ matrix.env_name }}-${{ matrix.machine }} - path: testsuite/test_vs_ed/ + path: testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }} - run: ls -la $PWD - run: ls -la testsuite/test_vs_ed/ - run: ls -la testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }} @@ -75,7 +75,7 @@ jobs: uses: actions/upload-artifact@v6 with: name: simulation-results-${{ matrix.test_name }}-${{ matrix.env_name }}-${{ matrix.machine }} - path: testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }}/${{ matrix.CI_NODE_INDEX }} + path: testsuite/test_vs_ed/ analyze: needs: simulate From 5be1f49dc307581bef2106ffed82f137ced7be93 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Sat, 17 Jan 2026 00:18:24 +0100 Subject: [PATCH 59/61] Work on .github/workflows/test-vs-ed.yaml --- .github/workflows/test-vs-ed.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test-vs-ed.yaml b/.github/workflows/test-vs-ed.yaml index 0f0608bf..cbfb8302 100644 --- a/.github/workflows/test-vs-ed.yaml +++ b/.github/workflows/test-vs-ed.yaml @@ -68,6 +68,7 @@ jobs: - run: ls -la $PWD - run: ls -la testsuite/test_vs_ed/ - run: ls -la testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }} + - run: chmod +x testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }}/ALF.out - name: Run ALF test vs main branch run: cd testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }}/${{ matrix.CI_NODE_INDEX }} && ../ALF.out From a0f98eed6c79c71d6056d088f95a435a5e51e1c2 Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Sat, 17 Jan 2026 00:25:51 +0100 Subject: [PATCH 60/61] Work on .github/workflows/test-vs-ed.yaml --- .github/workflows/test-vs-ed.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-vs-ed.yaml b/.github/workflows/test-vs-ed.yaml index cbfb8302..70122e6c 100644 --- a/.github/workflows/test-vs-ed.yaml +++ b/.github/workflows/test-vs-ed.yaml @@ -70,7 +70,7 @@ jobs: - run: ls -la testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }} - run: chmod +x testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }}/ALF.out - name: Run ALF test vs main branch - run: cd testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }}/${{ matrix.CI_NODE_INDEX }} && ../ALF.out + run: cd testsuite/test_vs_ed/${{ matrix.test_name }}_${{ matrix.env_name }}/${{ matrix.CI_NODE_INDEX }} && mpiexec -n 2 ../ALF.out - name: Upload simulation results uses: actions/upload-artifact@v6 From b177ac96f4ec0b37e35db9de88e00c6ae45d4fbb Mon Sep 17 00:00:00 2001 From: Jonas Schwab Date: Sat, 17 Jan 2026 08:47:57 +0100 Subject: [PATCH 61/61] Work on .github/workflows/test-vs-ed.yaml --- .github/workflows/test-vs-ed.yaml | 2 +- testsuite/test_vs_ed/compile.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-vs-ed.yaml b/.github/workflows/test-vs-ed.yaml index 70122e6c..988e9979 100644 --- a/.github/workflows/test-vs-ed.yaml +++ b/.github/workflows/test-vs-ed.yaml @@ -75,7 +75,7 @@ jobs: - name: Upload simulation results uses: actions/upload-artifact@v6 with: - name: simulation-results-${{ matrix.test_name }}-${{ matrix.env_name }}-${{ matrix.machine }} + name: simulation-results-${{ matrix.test_name }}-${{ matrix.env_name }}-${{ matrix.machine }}-${{ matrix.CI_NODE_INDEX }} path: testsuite/test_vs_ed/ analyze: diff --git a/testsuite/test_vs_ed/compile.py b/testsuite/test_vs_ed/compile.py index c168df9f..eae589a5 100755 --- a/testsuite/test_vs_ed/compile.py +++ b/testsuite/test_vs_ed/compile.py @@ -22,6 +22,7 @@ sim_root='.', sim_dir=f'{i+1}', machine=machine, + mpi=True, ) sims.append(sim)