Merge branch 'autopilot/424-20240125113415430' #848
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
on: | |
pull_request: | |
push: | |
branches: [main] | |
name: Continuous Integration | |
jobs: | |
# Workaround for making Github Actions skip based on commit message `[skip ci]` | |
# Source https://gist.github.com/ybiquitous/c80f15c18319c63cae8447a3be341267 | |
prepare: | |
runs-on: ubuntu-latest | |
if: | | |
!contains(format('{0} {1} {2}', github.event.head_commit.message, github.event.pull_request.title, github.event.pull_request.body), '[skip ci]') | |
steps: | |
- run: | | |
cat <<'MESSAGE' | |
github.event_name: ${{ toJson(github.event_name) }} | |
github.event: | |
${{ toJson(github.event) }} | |
MESSAGE | |
check: | |
name: Check | |
runs-on: ubuntu-latest | |
needs: prepare | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v3 | |
name: Cache Cargo registry | |
with: | |
path: ~/.cargo/registry | |
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('Cargo.lock') }} | |
- uses: dtolnay/rust-toolchain@stable | |
name: Set Rust toolchain | |
- run: cargo check --all --all-targets --workspace | |
test: | |
name: Test Suite | |
runs-on: ubuntu-latest | |
needs: prepare | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v3 | |
name: Cache Cargo registry | |
with: | |
path: ~/.cargo/registry | |
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('Cargo.lock') }} | |
- uses: dtolnay/rust-toolchain@nightly | |
name: Set Rust toolchain | |
- run: cargo test | |
env: | |
CARGO_INCREMENTAL: '0' | |
RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests' | |
RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests' | |
- id: coverage | |
uses: actions-rs/[email protected] | |
with: | |
config: .github/grcov.yml | |
- name: Push grcov results to Coveralls | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
path-to-lcov: ${{ steps.coverage.outputs.report }} | |
fmt: | |
name: Rustfmt | |
runs-on: ubuntu-latest | |
needs: prepare | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v3 | |
name: Cache Cargo registry | |
with: | |
path: ~/.cargo/registry | |
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('Cargo.lock') }} | |
- uses: dtolnay/rust-toolchain@stable | |
name: Set Rust toolchain | |
with: | |
components: rustfmt | |
- run: cargo fmt --all -- --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
needs: prepare | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v3 | |
name: Cache Cargo registry | |
with: | |
path: ~/.cargo/registry | |
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('Cargo.lock') }} | |
- uses: dtolnay/rust-toolchain@stable | |
name: Set Rust toolchain | |
with: | |
components: clippy | |
- run: cargo clippy --all --all-features --all-targets --workspace -- -D warnings | |
env: | |
CARGO_INCREMENTAL: '0' |