validate that questions answered are part of the set #27
This file contains hidden or 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
| # Testing CI - Runs on each PR and Push | |
| name: Test | |
| on: | |
| pull_request: {} | |
| push: | |
| branches: | |
| - main | |
| permissions: | |
| id-token: write | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_TOOLCHAIN: 1.85.1 | |
| RUST_COMPONENTS: "rust-std" | |
| jobs: | |
| spelling: | |
| name: Spell Check with Typos | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Actions Repository | |
| uses: actions/checkout@v4 | |
| - name: Spell Check Repo | |
| uses: crate-ci/typos@v1.33.1 | |
| # cargo fmt check | |
| check-formatting: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup sccache | |
| uses: ./.github/actions/setup-sccache | |
| - name: Install Rust Toolchain | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| default: true | |
| components: rustfmt | |
| - name: Check formatting | |
| run: cargo fmt --check | |
| # clippy | |
| check-clippy: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup sccache | |
| uses: ./.github/actions/setup-sccache | |
| - name: Install Rust Toolchain | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| default: true | |
| components: clippy | |
| - name: Clippy Check | |
| run: cargo clippy --all | |
| readme-check: | |
| name: Check README is up to date | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install cargo-readme if needed | |
| run: | | |
| if ! cargo-readme --version >/dev/null 2>&1; then | |
| cargo install cargo-readme | |
| fi | |
| - name: Check README | |
| run: scripts/cargo_readme.sh --check | |
| # Rust unit, doc and integration | |
| test-rust: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup sccache | |
| uses: ./.github/actions/setup-sccache | |
| - name: Install Rust Toolchain | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: ${{ env.RUST_TOOLCHAIN }} | |
| default: true | |
| - name: Run rust tests | |
| run: cargo test --locked -- --test-threads=1 | |
| coverage: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: xd009642/tarpaulin:0.32.8 | |
| options: --security-opt seccomp=unconfined | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v2 | |
| - name: Generate code coverage | |
| run: | | |
| RUST_LOG=trace cargo +nightly tarpaulin --verbose --all-features --workspace --ignore-tests --timeout 120 --out xml | |
| - name: Upload to codecov.io | |
| uses: codecov/codecov-action@v2 | |
| with: | |
| token: ${{secrets.CODECOV_TOKEN}} # not required for public repos | |
| fail_ci_if_error: true |