Skip to content

Only process and upload code coverage results in two configurations. #495

Only process and upload code coverage results in two configurations.

Only process and upload code coverage results in two configurations. #495

Workflow file for this run

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' }} || ${{ matrix.julia-version}} == 1 && ${{ matrix.os }} == 'ubuntu-latest'
- uses: codecov/codecov-action@v5
# Only upload two runs. We should cover everything in one of these two cases.
if: ${{ matrix.julia-version}} == 'min' }} || ${{ 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