Skip to content

[anodized] feat: try_call! macro #809

[anodized] feat: try_call! macro

[anodized] feat: try_call! macro #809

Workflow file for this run

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_print"]'''
- cfg: '--config ''build.rustflags=["--cfg","anodized_panic"]'''
- cfg: '--config ''build.rustflags=["--cfg","anodized_print","--cfg","anodized_panic"]'''
- cfg: '--config ''build.rustflags=["--cfg","anodized_print","--cfg","anodized_panic","--cfg","anodized_split_func"]'''
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
test-example-bin-search:
name: Lint and smoke-test the `bin-search` example
runs-on: ubuntu-latest
needs: fmt
defaults:
run:
working-directory: ./examples/bin-search
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust nightly toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: clippy rustfmt
- name: Check formatting
run: cargo fmt --all -- --check
- name: Lint
run: cargo clippy --all-targets -- -D warnings
- name: Build
run: cargo build
- name: Lint fuzz targets
run: cargo clippy --manifest-path ./fuzz/Cargo.toml --all-targets --config 'build.rustflags=["--cfg","anodized_print", "--cfg","anodized_panic", "--cfg","anodized_split_func"]' -- -D warnings
- name: Install cargo-fuzz
run: cargo install cargo-fuzz
- name: Build fuzz targets
run: cargo +nightly fuzz build -Ztarget-applies-to-host -Zhost-config