Skip to content

worflow upgrade

worflow upgrade #418

Workflow file for this run

name: Rust checks
on:
push:
# pull_request:
# branches: [ main, develop ]
env:
CARGO_TERM_COLOR: always
jobs:
format:
name: check the format of the code
uses: ./.github/workflows/fmt.yml
rustdoc-check:
name: rustdoc check
uses: ./.github/workflows/rust_doc_check.yml
with:
toolchain: stable
rust_test:
name: rust test
needs: [format]
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
profile: [test, release]
exclude:
- os: windows-latest
profile: release
uses: ./.github/workflows/rust_test.yml
with:
features_flag_1: --features="serde-serialize"
features_flag_2: --no-default-features --features="overflow-test"
toolchain: stable
os: ${{ matrix.os }}
profile: ${{ matrix.profile }}
# steps:
# - name: Checkout repository
# uses: actions/checkout@v4
# - name: Install Rust stable toolchain
# uses: actions-rs/toolchain@v1
# with:
# toolchain: stable
# default: true
# - name: Run tests with serd
# run: cargo +stable test --profile ${{ matrix.profile }} --all --verbose --no-fail-fast --features="serde-serialize"
# - name: Run examples tests with serd
# run: cargo +stable test --profile ${{ matrix.profile }} --all --verbose --no-fail-fast --features="serde-serialize" --examples
# it is faster to keep the going and reuse previous compilation artefact than using
# a matrix strategy and starting all over again
# - name: Run tests no features
# run: cargo +stable test --profile ${{ matrix.profile }} --all --verbose --no-fail-fast --no-default-features --features="overflow-test"
# - name: Run examples tests no features
# run: cargo +stable test --profile ${{ matrix.profile }} --all --verbose --no-fail-fast --no-default-features --features="overflow-test" --examples
linter:
name: lint code on nightly release
needs: [format, rustdoc-check]
uses: ./.github/workflows/clippy.yml
with:
features_flag: --all-features
toolchain: nightly
coverage:
name: coverage
uses: ./.github/workflows/coverage.yml
with:
profile_file_name_prefix: lattice-qcd-rs
features_flag: --no-default-features --features="serde-serialize"
benches:
name: benches
needs: [format, coverage, rust_test]
if: ${{ github.ref_name == 'main' || github.ref_name == 'develop' }}
uses: ./.github/workflows/benches.yml
with:
toolchain: stable
doc_publish:
name: publish rust doc
needs: [format, coverage, rust_test, rustdoc-check, linter]
if: ${{ github.ref_name == 'main' }}
uses: ./.github/workflows/rust_doc_publish.yml
with:
toolchain: stable