Only process and upload code coverage results in two configurations. #502
Workflow file for this run
This file contains 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 | ||
tags: ['*'] | ||
pull_request: | ||
jobs: | ||
quick-test: | ||
name: Julia 1 - ubuntu-latest - x64 - ${{ github.event_name }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: julia-actions/setup-julia@v2 | ||
with: | ||
version: 1 | ||
arch: x64 | ||
- uses: julia-actions/julia-runtest@v1 | ||
# Skip coverage on the quick test to save serial time. | ||
# If something is only covered here and nowhere else, it's not adequately covered. | ||
test: | ||
name: Julia ${{ matrix.julia-version }} - ${{ matrix.os }} - ${{ matrix.julia-arch }} - ${{ github.event_name }} | ||
needs: quick-test | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- os: ubuntu-latest | ||
julia-arch: x64 | ||
julia-version: nightly | ||
- os: ubuntu-latest | ||
julia-arch: x64 | ||
julia-version: pre | ||
- os: ubuntu-latest | ||
julia-arch: x64 | ||
julia-version: lts | ||
- os: ubuntu-latest | ||
julia-arch: x64 | ||
julia-version: min | ||
- os: ubuntu-latest | ||
julia-arch: x86 | ||
julia-version: 1 | ||
- os: macOS-latest | ||
julia-arch: aarch64 | ||
julia-version: 1 | ||
- os: macOS-latest | ||
julia-arch: x64 | ||
julia-version: 1 | ||
- os: windows-latest | ||
julia-arch: x64 | ||
julia-version: 1 | ||
- os: windows-latest | ||
julia-arch: x86 | ||
julia-version: 1 | ||
- os: ubuntu-latest | ||
julia-arch: x86 | ||
julia-version: nightly | ||
- os: ubuntu-latest | ||
julia-arch: x86 | ||
julia-version: min | ||
- os: macOS-latest | ||
julia-arch: aarch64 | ||
julia-version: lts | ||
- os: macOS-latest | ||
julia-arch: aarch64 | ||
julia-version: pre | ||
- os: windows-latest | ||
julia-arch: x64 | ||
julia-version: lts | ||
- os: windows-latest | ||
julia-arch: x64 | ||
julia-version: pre | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: julia-actions/setup-julia@v2 | ||
with: | ||
version: ${{ matrix.julia-version }} | ||
arch: ${{ matrix.julia-arch }} | ||
- uses: julia-actions/julia-runtest@v1 | ||
- uses: julia-actions/julia-processcoverage@v1 | ||
if: ${{ matrix.julia-version == 'min' && mtrix.julia-arch == "x64" || matrix.julia-version == 1 && matrix.os == 'ubuntu-latest' }} | ||
Check failure on line 85 in .github/workflows/CI.yml
|
||
- uses: codecov/codecov-action@v5 | ||
# Only upload two runs. We should cover everything in one of these two cases. | ||
if: ${{ matrix.julia-version == 'min' && mtrix.julia-arch == "x64" || matrix.julia-version == 1 && matrix.os == 'ubuntu-latest' }} | ||
with: | ||
files: lcov.info | ||
regression-tests: | ||
needs: quick-test | ||
if: github.event_name == 'pull_request' | ||
name: RegressionTests.jl Julia ${{ matrix.julia-version }} - ${{ matrix.os }} - ${{ matrix.julia-arch }} | ||
runs-on: ${{ matrix.os }} | ||
env: | ||
RegressionTests: true | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
include: | ||
- os: ubuntu-latest | ||
julia-arch: x64 | ||
julia-version: 1 | ||
- os: ubuntu-latest | ||
julia-arch: x64 | ||
julia-version: nightly | ||
- os: macOS-latest | ||
julia-arch: aarch64 | ||
julia-version: pre | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: julia-actions/setup-julia@v2 | ||
with: | ||
version: ${{ matrix.julia-version }} | ||
arch: ${{ matrix.julia-arch }} | ||
- uses: julia-actions/julia-runtest@v1 | ||
docs: | ||
name: Documentation | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: julia-actions/setup-julia@v2 | ||
- uses: julia-actions/julia-docdeploy@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
- run: | | ||
julia --project=docs -e ' | ||
using Documenter: DocMeta, doctest | ||
using Chairmarks | ||
DocMeta.setdocmeta!(Chairmarks, :DocTestSetup, :(using Chairmarks); recursive=true) | ||
doctest(Chairmarks)' | ||
typos: | ||
name: Typos | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: crate-ci/typos@master |