diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 29ec16faf..c4b81956c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,7 +15,7 @@ on: - '.github/workflows/TagBot.yml' - 'docs/**' pull_request: - paths-ignore: + paths-ignore: - 'AUTHORS.md' - 'CITATION.bib' - 'CONTRIBUTING.md' @@ -35,13 +35,25 @@ concurrency: jobs: build: - name: Run Tests + name: Run Tests (Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}) runs-on: ubuntu-latest strategy: matrix: version: - '1.9' - '1' + os: + - ubuntu-latest + arch: + - x64 + include: + # Also run tests on Windows and macOS-ARM, but only with the latest Julia version + - version: '1' + os: windows-latest + arch: x64 + - version: '1' + os: macos-14 + arch: arm64 steps: - name: Check out project @@ -57,14 +69,19 @@ jobs: uses: julia-actions/julia-runtest@v1 with: annotate: true - coverage: true + # Only run coverage in one Job (Ubuntu and latest Julia version) + coverage: ${{ matrix.os == 'ubuntu-latest' && matrix.version == '1' }} env: TRIXIPARTICLES_TEST: unit - name: Process coverage results + # Only run coverage in one Job (Ubuntu and latest Julia version) + if: matrix.os == 'ubuntu-latest' && matrix.version == '1' uses: julia-actions/julia-processcoverage@v1 with: directories: src,test - name: Upload coverage report to Codecov + # Only run coverage in one Job (Ubuntu and latest Julia version) + if: matrix.os == 'ubuntu-latest' && matrix.version == '1' uses: codecov/codecov-action@v4 with: files: lcov.info