[anodized-core] refactor: instrumentation config #755
Workflow file for this run
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
| name: CI | |
| on: | |
| push: | |
| branches: ["main"] | |
| pull_request: | |
| branches: ["main"] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| fmt: | |
| name: Check formatting | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt | |
| - name: Check formatting | |
| run: cargo fmt --all -- --check | |
| test-anodized-core: | |
| name: Lint and test anodized-core | |
| runs-on: ubuntu-latest | |
| needs: fmt | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - name: Lint anodized-core | |
| run: cargo clippy -p anodized-core --all-targets -- -D warnings | |
| - name: Unit test anodized-core | |
| run: cargo test -p anodized-core --lib --no-fail-fast | |
| test-anodized: | |
| name: Lint and test anodized with cfg `${{ matrix.cfg }}` | |
| runs-on: ubuntu-latest | |
| needs: fmt | |
| strategy: | |
| matrix: | |
| include: | |
| - cfg: "" | |
| - cfg: '--config ''build.rustflags=["--cfg","anodized_discard_specs"]''' | |
| - cfg: '--config ''build.rustflags=["--cfg","anodized_panic"]''' | |
| - cfg: '--config ''build.rustflags=["--cfg","anodized_print"]''' | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - name: Lint anodized with cfg `${{ matrix.cfg }}` | |
| run: cargo ${{ matrix.cfg }} clippy -p anodized --all-targets -- -D warnings | |
| - name: Integration test anodized with cfg `${{ matrix.cfg }}` | |
| run: cargo ${{ matrix.cfg }} test -p anodized --tests --no-fail-fast | |
| test-anodized-fmt: | |
| name: Lint and test anodized-fmt | |
| runs-on: ubuntu-latest | |
| needs: fmt | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - name: Lint anodized-fmt | |
| run: cargo clippy -p anodized-fmt --all-targets -- -D warnings | |
| - name: Unit and integration test anodized-fmt | |
| run: cargo test -p anodized-fmt --tests --no-fail-fast | |
| test-anodized-logic: | |
| name: Lint and test anodized-logic | |
| runs-on: ubuntu-latest | |
| needs: fmt | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - name: Lint anodized-logic | |
| run: cargo clippy -p anodized-logic --all-targets -- -D warnings | |
| - name: Integration test anodized-logic | |
| run: cargo test -p anodized-logic --tests --no-fail-fast | |
| test-test-util: | |
| name: Lint test-util | |
| runs-on: ubuntu-latest | |
| needs: fmt | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - name: Lint test-util | |
| run: cargo clippy -p test-util --all-targets -- -D warnings | |
| - name: Test test-util | |
| run: cargo test -p test-util --no-fail-fast | |
| test-fuzz: | |
| name: Lint and smoke-test fuzz targets | |
| runs-on: ubuntu-latest | |
| needs: fmt | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust nightly toolchain | |
| uses: dtolnay/rust-toolchain@nightly | |
| with: | |
| components: clippy | |
| - name: Install cargo-fuzz | |
| run: cargo install cargo-fuzz | |
| - name: Lint fuzz targets | |
| run: cargo clippy -p fuzz --all-targets -- -D warnings | |
| - name: Smoke test fuzz target (fmt_ws_invariant) | |
| run: cargo +nightly fuzz build |