Bump actions/checkout from 3 to 4 (#95) #580
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: build | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
workflow_dispatch: | |
env: | |
CARGO_INCREMENTAL: 0 | |
CARGO_TERM_COLOR: always | |
RUSTDOCFLAGS: -Ctarget-cpu=haswell -Dwarnings | |
RUSTFLAGS: -Ctarget-cpu=haswell -Dwarnings | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/gmp-mpfr-sys | |
key: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-${{ hashFiles('Cargo.toml') }} | |
restore-keys: | | |
${{ runner.os }}-${{ secrets.CACHE_VERSION }}- | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
profile: minimal | |
components: clippy, rustfmt | |
- uses: Swatinem/rust-cache@v2 | |
- name: Is AVX-512F available? | |
id: avx512f | |
run: lscpu | grep --quiet avx512f | |
continue-on-error: true | |
- name: Test | |
run: cargo test --release | |
- name: Test (target AVX-512F) | |
run: cargo test --release | |
if: ${{ steps.avx512f.outcome == 'success' }} | |
env: | |
RUSTFLAGS: ${{ env.RUSTFLAGS }} -Ctarget-feature=+avx512f | |
RUSTDOCFLAGS: ${{ env.RUSTDOCFLAGS }} -Ctarget-feature=+avx512f | |
- name: Test (--no-default-features) | |
run: cargo test --release --no-default-features --lib --tests | |
- name: Clippy | |
run: cargo clippy --all-targets | |
- name: Clippy (target AVX-512F) | |
run: cargo clippy --all-targets | |
if: ${{ steps.avx512f.outcome == 'success' }} | |
env: | |
RUSTFLAGS: ${{ env.RUSTFLAGS }} -Ctarget-feature=+avx512f | |
RUSTDOCFLAGS: ${{ env.RUSTDOCFLAGS }} -Ctarget-feature=+avx512f | |
- name: Check format | |
run: cargo fmt -- --check | |
- name: Check docs | |
run: cargo rustdoc | |
coverage: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/gmp-mpfr-sys | |
key: ${{ env.GITHUB_JOB }}-${{ secrets.CACHE_VERSION }}-${{ hashFiles('Cargo.toml') }} | |
restore-keys: | | |
${{ env.GITHUB_JOB }}-${{ secrets.CACHE_VERSION }}- | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
profile: minimal | |
- uses: Swatinem/rust-cache@v2 | |
- name: Coverage | |
env: | |
RUSTFLAGS: ${{ env.RUSTFLAGS }} -Zprofile -Ccodegen-units=1 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests | |
RUSTDOCFLAGS: ${{ env.RUSTDOCFLAGS }} -Zprofile -Ccodegen-units=1 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests | |
run: cargo test | |
- name: Gather coverage data | |
id: coverage | |
uses: actions-rs/grcov@v0.1 | |
- name: Upload to Coveralls | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
path-to-lcov: ${{ steps.coverage.outputs.report }} | |
msrv: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/gmp-mpfr-sys | |
key: ${{ runner.os }}-${{ secrets.CACHE_VERSION }}-${{ hashFiles('Cargo.toml') }} | |
restore-keys: | | |
${{ runner.os }}-${{ secrets.CACHE_VERSION }}- | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: 1.65.0 | |
override: true | |
profile: minimal | |
- uses: Swatinem/rust-cache@v2 | |
- name: Is AVX-512F available? | |
id: avx512f | |
run: lscpu | grep --quiet avx512f | |
continue-on-error: true | |
- name: Check | |
run: cargo check --all-targets | |
- name: Check (target AVX-512F) | |
run: cargo check --all-targets | |
if: ${{ steps.avx512f.outcome == 'success' }} | |
env: | |
RUSTFLAGS: ${{ env.RUSTFLAGS }} -Ctarget-feature=+avx512f | |
RUSTDOCFLAGS: ${{ env.RUSTDOCFLAGS }} -Ctarget-feature=+avx512f | |
- name: Check (--no-default-features) | |
run: cargo check --no-default-features --all-targets |