From b92846961a22058d7351c4121ab2aaf78ea62e14 Mon Sep 17 00:00:00 2001 From: Patrick Ersing <114223904+patrickersing@users.noreply.github.com> Date: Tue, 30 Apr 2024 09:23:50 +0200 Subject: [PATCH] Speed up CI tests (#42) * split testsets and restrict coverage tests to ubuntu * separate coverage tests, restrict macOS/windows to upstream * fix ci.yml * Update .github/workflows/ci.yml Co-authored-by: Michael Schlottke-Lakemper --------- Co-authored-by: Michael Schlottke-Lakemper --- .github/workflows/ci.yml | 64 ++++++++++++++++++++++++++++++++++++---- test/runtests.jl | 14 ++++++++- 2 files changed, 71 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d1b01b0..87d8d73 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ permissions: jobs: test: if: "!contains(github.event.head_commit.message, 'skip ci')" - name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + name: ${{ matrix.trixi_test }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} strategy: fail-fast: false @@ -45,10 +45,24 @@ jobs: - '1.10' os: - ubuntu-latest - - macOS-latest - - windows-latest arch: - x64 + trixi_test: + - tree_1d + - tree_2d + - structured_2d + - unstructured_2d + - unit + - upstream + include: + - version: '1.10' + os: macos-latest + arch: aarch64 + trixi_test: upstream + - version: '1.10' + os: windows-latest + arch: x64 + trixi_test: upstream steps: - uses: actions/checkout@v4 - uses: julia-actions/setup-julia@v2 @@ -62,19 +76,57 @@ jobs: uses: julia-actions/julia-runtest@v1 with: coverage: false + env: + PYTHON: "" + TRIXI_TEST: ${{ matrix.trixi_test }} + + test_coverage: + if: "!contains(github.event.head_commit.message, 'skip ci')" + name: coverage - ${{ matrix.trixi_test }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + version: + - '1.10' + os: + - ubuntu-latest + arch: + - x64 + trixi_test: + - tree_1d + - tree_2d + - structured_2d + - unstructured_2d + - unit + steps: + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v2 + with: + version: ${{ matrix.version }} + arch: ${{ matrix.arch }} + - run: julia -e 'using InteractiveUtils; versioninfo(verbose=true)' + - uses: julia-actions/cache@v1 + - uses: julia-actions/julia-buildpkg@v1 - name: Run tests with coverage uses: julia-actions/julia-runtest@v1 with: coverage: true - - uses: julia-actions/julia-processcoverage@v1 + env: + PYTHON: "" + TRIXI_TEST: ${{ matrix.trixi_test }} + - name: Process coverage results + uses: julia-actions/julia-processcoverage@v1 with: directories: src,examples - - uses: codecov/codecov-action@v4 + - name: Upload coverage report to Codecov + uses: codecov/codecov-action@v4 with: files: lcov.info env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} # now required for public repos - - uses: coverallsapp/github-action@v2 + - name: Upload coverage report to Coveralls + uses: coverallsapp/github-action@v2 with: github-token: ${{ secrets.GITHUB_TOKEN }} path-to-lcov: ./lcov.info diff --git a/test/runtests.jl b/test/runtests.jl index d501312..7b44fac 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -7,11 +7,23 @@ using Test const TRIXI_TEST = get(ENV, "TRIXI_TEST", "all") @time @testset "TrixiShallowWater.jl tests" begin - @time if TRIXI_TEST == "all" + @time if TRIXI_TEST == "all" || TRIXI_TEST == "tree_1d" include("test_tree_1d.jl") + end + + @time if TRIXI_TEST == "all" || TRIXI_TEST == "tree_2d" include("test_tree_2d.jl") + end + + @time if TRIXI_TEST == "all" || TRIXI_TEST == "unstructured_2d" include("test_unstructured_2d.jl") + end + + @time if TRIXI_TEST == "all" || TRIXI_TEST == "structured_2d" include("test_structured_2d.jl") + end + + @time if TRIXI_TEST == "all" || TRIXI_TEST == "unit" include("test_unit.jl") end