diff --git a/.github/workflows/Downstream.yml b/.github/workflows/Downstream.yml new file mode 100644 index 0000000..a432b79 --- /dev/null +++ b/.github/workflows/Downstream.yml @@ -0,0 +1,66 @@ +name: Trixi.jl downstream test +on: + 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 }} - ${{ inputs.trixi_branch }} - ${{ matrix.test }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + julia-version: + - '1.10' + os: + - ubuntu-latest + julia-arch: + - x64 + 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: ${{ inputs.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 }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index eed19b4..e2ad9fd 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -185,12 +185,18 @@ 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) + try + Pkg.precompile(; skip_dependents=false) + finally + using T8code + @info "T8code loaded successfully." + end continue-on-error: true - name: Precompile @@ -198,7 +204,12 @@ 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() + try + Pkg.precompile() + finally + using T8code + @info "T8code loaded successfully." + end continue-on-error: true - name: Run Julia tests