CI: Reduce the number of CI jobs #299
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main, master] | |
| tags: ["*"] | |
| pull_request: | |
| concurrency: | |
| # Skip intermediate builds: all builds except for builds on the `main` branch | |
| # Cancel intermediate builds: only pull request builds | |
| group: ${{ github.workflow }}-${{ github.ref }}-${{ github.ref != 'refs/heads/main' || github.run_number }} | |
| cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} | |
| permissions: | |
| contents: read | |
| jobs: | |
| test: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: | |
| - '1.0' | |
| - '1.1' | |
| - '1.2' | |
| - '1.3' | |
| - '1.4' | |
| - '1.5' | |
| - '1.6' # old LTS | |
| - '1.7' | |
| - '1.8' | |
| - '1.9' | |
| - '1.10' # current LTS | |
| - '1.11' | |
| - '1.12.3' | |
| - '1.12' | |
| - '1.13-nightly' # TODO: Change this to '1.13' once Julia 1.13.0 has been released | |
| # - '1.14-nightly' # TODO: Uncomment this line once Julia 1.14 has been feature-frozen and branched | |
| - 'nightly' | |
| os: | |
| - ubuntu-latest | |
| julia-wordsize: | |
| # The `julia-wordsize` variable only controls the word size of the Julia binaries that we use | |
| # It doesn't affect the CPU architecture of the underlying GitHub Actions runner (virtual machine). | |
| - '64' | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: julia-actions/setup-julia@v2 | |
| with: | |
| version: ${{ matrix.version }} | |
| # If `julia-wordsize` is 32, then set the Julia arch to x76 | |
| # If `julia-wordsize` is 64, then set the Julia arch to ${{ runner.arch }} | |
| # ${{ runner.arch }} automatically expands to the correct 64-bit value, either X64 or ARM64 | |
| arch: ${{ (matrix.julia-wordsize == '32') && 'x86' || runner.arch }} | |
| - uses: julia-actions/cache@v2 | |
| - uses: julia-actions/julia-buildpkg@v1 | |
| - uses: julia-actions/julia-runtest@v1 | |
| - uses: julia-actions/julia-processcoverage@v1 | |
| - uses: codecov/codecov-action@v5 | |
| with: | |
| file: lcov.info | |
| token: ${{ secrets.CODECOV_TOKEN }} |