From f01286cd8b63f910704400edbb91f92479e488fb Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Mon, 28 Sep 2026 10:32:33 +0200 Subject: [PATCH 1/5] load T8code once in precompile step this is what is actually required in the real tests --- .github/workflows/test.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index eed19b4..047b9a1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -185,12 +185,14 @@ jobs: # Add an explicit precompile step where we expect t8code_jll to fail # https://github.com/DLR-AMR/T8code.jl/pull/143#issuecomment-5783271942 + # Make sure T8code loads without errors - name: Precompile (nightly) if: matrix.mpi-provider == 'SYSTEM_MPI' && matrix.julia-version == 'nightly' shell: julia --code-coverage=@/home/runner/work/T8code.jl/T8code.jl --color=yes --warn-overwrite=yes --depwarn=yes --inline=yes --startup-file=no --track-allocation=none --check-bounds=yes --compiled-modules=yes --depwarn=yes --project=. {0} run: | using Pkg Pkg.precompile(; skip_dependents=false) + using T8code continue-on-error: true - name: Precompile @@ -199,6 +201,7 @@ jobs: run: | using Pkg Pkg.precompile() + using T8code continue-on-error: true - name: Run Julia tests From fd595c36cf8b9af54b81e134df3a0d921e6fc05e Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Mon, 28 Sep 2026 11:09:17 +0200 Subject: [PATCH 2/5] add downstream test --- .github/workflows/Downstream.yml | 76 ++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 .github/workflows/Downstream.yml diff --git a/.github/workflows/Downstream.yml b/.github/workflows/Downstream.yml new file mode 100644 index 0000000..cbeff4f --- /dev/null +++ b/.github/workflows/Downstream.yml @@ -0,0 +1,76 @@ +name: Trixi.jl downstream test +on: + pull_request: + paths-ignore: + - '.github/workflows/Downgrade.yml' + - '.github/workflows/FormatCheck.yml' + - '.github/workflows/SpellCheck.yml' + - '.github/workflows/TagBot.yml' + - '.github/dependabot.yml' + - '.gitignore' + workflow_dispatch: + inputs: + trixi_branch: + type: string + description: 'Branch of Trixi.jl to check out' + required: false + default: 'main' + +# Cancel redundant CI tests automatically +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + name: ${{ matrix.os }} - ${{ matrix.trixi_branch }} - ${{ matrix.test }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + julia-version: + - '1.10' + os: + - ubuntu-latest + julia-arch: + - x64 + trixi_branch: + - main + test: + - t8code_part1 + - mpi + steps: + - name: Checkout repository + uses: actions/checkout@v7 + + - name: Enable Julia cache + uses: julia-actions/cache@v3 + + - name: Install Julia + uses: julia-actions/setup-julia@v3 + with: + version: ${{ matrix.julia-version }} + arch: ${{ matrix.julia-arch }} + show-versioninfo: true + + - name: Retrieve downstream package + uses: actions/checkout@v7 + with: + repository: trixi-framework/Trixi.jl + ref: ${{ matrix.trixi_branch }} + path: downstream + + - name: Load upstream package into downstream environment + shell: julia --color=yes --project=downstream {0} + run: | + using Pkg + Pkg.develop(PackageSpec(path=".")) + Pkg.update() + + - name: Run downstream tests (without coverage) + shell: julia --color=yes --project=downstream {0} + run: | + using Pkg + Pkg.test(coverage=false) + env: + TRIXI_TEST: ${{ matrix.test }} From 8cbd86db913fc4c534f8c372890ef16b18fe6e25 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Mon, 28 Sep 2026 13:51:59 +0200 Subject: [PATCH 3/5] switch to on demand --- .github/workflows/Downstream.yml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/.github/workflows/Downstream.yml b/.github/workflows/Downstream.yml index cbeff4f..a432b79 100644 --- a/.github/workflows/Downstream.yml +++ b/.github/workflows/Downstream.yml @@ -1,13 +1,5 @@ name: Trixi.jl downstream test on: - pull_request: - paths-ignore: - - '.github/workflows/Downgrade.yml' - - '.github/workflows/FormatCheck.yml' - - '.github/workflows/SpellCheck.yml' - - '.github/workflows/TagBot.yml' - - '.github/dependabot.yml' - - '.gitignore' workflow_dispatch: inputs: trixi_branch: @@ -23,7 +15,7 @@ concurrency: jobs: test: - name: ${{ matrix.os }} - ${{ matrix.trixi_branch }} - ${{ matrix.test }} + name: ${{ matrix.os }} - ${{ inputs.trixi_branch }} - ${{ matrix.test }} runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -34,8 +26,6 @@ jobs: - ubuntu-latest julia-arch: - x64 - trixi_branch: - - main test: - t8code_part1 - mpi @@ -57,7 +47,7 @@ jobs: uses: actions/checkout@v7 with: repository: trixi-framework/Trixi.jl - ref: ${{ matrix.trixi_branch }} + ref: ${{ inputs.trixi_branch }} path: downstream - name: Load upstream package into downstream environment From cd07c6f83f587793a35100b74f56f27f2d570d35 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Mon, 28 Sep 2026 13:52:14 +0200 Subject: [PATCH 4/5] use try / finally --- .github/workflows/test.yml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 047b9a1..a31b00a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -191,18 +191,24 @@ jobs: shell: julia --code-coverage=@/home/runner/work/T8code.jl/T8code.jl --color=yes --warn-overwrite=yes --depwarn=yes --inline=yes --startup-file=no --track-allocation=none --check-bounds=yes --compiled-modules=yes --depwarn=yes --project=. {0} run: | using Pkg - Pkg.precompile(; skip_dependents=false) - using T8code - continue-on-error: true + try + Pkg.precompile(; skip_dependents=false) + finally + using T8code + @info "T8code loaded successfully." + end - name: Precompile if: matrix.mpi-provider == 'SYSTEM_MPI' && matrix.julia-version != 'nightly' shell: julia --code-coverage=@/home/runner/work/T8code.jl/T8code.jl --color=yes --warn-overwrite=yes --depwarn=yes --inline=yes --startup-file=no --track-allocation=none --check-bounds=yes --compiled-modules=yes --depwarn=yes --project=. {0} run: | using Pkg - Pkg.precompile() - using T8code - continue-on-error: true + try + Pkg.precompile() + finally + using T8code + @info "T8code loaded successfully." + end - name: Run Julia tests uses: julia-actions/julia-runtest@v1 From f47c0d66161617fbd7c46dac2a5b78ab966cc16a Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Mon, 28 Sep 2026 13:58:40 +0200 Subject: [PATCH 5/5] keep using continue-on-error --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a31b00a..e2ad9fd 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -197,6 +197,7 @@ jobs: using T8code @info "T8code loaded successfully." end + continue-on-error: true - name: Precompile if: matrix.mpi-provider == 'SYSTEM_MPI' && matrix.julia-version != 'nightly' @@ -209,6 +210,7 @@ jobs: using T8code @info "T8code loaded successfully." end + continue-on-error: true - name: Run Julia tests uses: julia-actions/julia-runtest@v1