From 8ec636d45d88d5f004595db44d00ce00b1f8a852 Mon Sep 17 00:00:00 2001 From: Joshua Lampert Date: Tue, 25 Aug 2026 17:40:43 +0200 Subject: [PATCH] add downstream test for TrixiTest.jl --- .github/workflows/downstrean.yml | 81 ++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 .github/workflows/downstrean.yml diff --git a/.github/workflows/downstrean.yml b/.github/workflows/downstrean.yml new file mode 100644 index 0000000..bbedeea --- /dev/null +++ b/.github/workflows/downstrean.yml @@ -0,0 +1,81 @@ +# Note: this file is inspired by the downstream testing facilities in the SciML ecosystem +# x-ref: https://github.com/SciML/SciMLBase.jl/blob/ffe68aebedee5915190623cb08160d7ef1fbcce0/.github/workflows/Downstream.yml + +name: Downstream +on: + push: + branches: + - main + paths-ignore: + - 'AUTHORS.md' + - 'CONTRIBUTING.md' + - 'LICENSE.md' + - 'NEWS.md' + - 'README.md' + - '.github/workflows/TagBot.yml' + - 'benchmark/**' + # - 'docs/**' + pull_request: + paths-ignore: + - 'AUTHORS.md' + - 'CONTRIBUTING.md' + - 'LICENSE.md' + - 'NEWS.md' + - 'README.md' + - '.github/workflows/TagBot.yml' + - 'benchmark/**' + # - 'docs/**' + workflow_dispatch: + +# Cancel redundant CI tests automatically +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + if: "!contains(github.event.head_commit.message, 'skip ci')" + # We could also include the Julia version as in + # name: ${{ matrix.trixi_test }} - ${{ matrix.os }} - Julia ${{ matrix.version }} - ${{ matrix.arch }} + # to be more specific. However, that requires us updating the required CI tests whenever we update Julia. + name: ${{ matrix.package }} - ${{ matrix.os }} - ${{ matrix.arch }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + version: + - '1.10' + os: + - ubuntu-latest + arch: + - x64 + package: + - TrixiTest.jl + steps: + - uses: actions/checkout@v7 + - uses: julia-actions/setup-julia@v3 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - run: julia -e 'using InteractiveUtils; versioninfo(verbose=true)' + - uses: julia-actions/cache@v3 + - uses: julia-actions/julia-buildpkg@v1 + - name: Retrieve downstream package + # Note: we retrieve the current `main` branch of the downstream package to ensure + # that compatibility errors we make in TrixiBase.jl are detected already here + # See also https://github.com/trixi-framework/Trixi.jl/pull/1707#discussion_r1382938895 + uses: actions/checkout@v7 + with: + repository: trixi-framework/${{ matrix.package }} + 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)