1.0.1 #19
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 | |
| # Quality gates on every PR: formatting, lints, and the fast test suites for both languages. The | |
| # heavier gates (the `#[ignore]`-gated stress suite, big-endian emulation, fuzzing) live in | |
| # full-tests.yml and run on demand: from the Actions tab or via a `/ci-full` / `/ci-endian` / | |
| # `/ci-fuzz` PR comment. | |
| # | |
| # These mirror `task format` / `task lint` / `task test-rust-fast` / `task test-python`; keep them in | |
| # sync. | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| jobs: | |
| format: | |
| name: format | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt | |
| - name: cargo fmt | |
| run: cargo fmt --all -- --check | |
| - uses: astral-sh/setup-uv@v5 | |
| - name: ruff format | |
| working-directory: ben-py | |
| run: uvx ruff format --check . | |
| lint: | |
| name: lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: cargo clippy | |
| run: cargo clippy --workspace --all-targets -- -D warnings | |
| - uses: astral-sh/setup-uv@v5 | |
| - name: ruff check | |
| working-directory: ben-py | |
| run: uvx ruff check . | |
| rust-test: | |
| name: rust tests (fast) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: cargo test | |
| run: cargo test | |
| python-test: | |
| name: python tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - uses: astral-sh/setup-uv@v5 | |
| - name: sync environment | |
| working-directory: ben-py | |
| run: uv sync --all-groups | |
| - name: build extension | |
| working-directory: ben-py | |
| run: uv run maturin develop | |
| - name: pytest | |
| working-directory: ben-py | |
| run: uv run pytest tests/ |