chore: release (#20) #90
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: | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| jobs: | |
| test: | |
| name: Test workspace | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| cache: npm | |
| cache-dependency-path: tests/node/package-lock.json | |
| - run: npm ci | |
| working-directory: tests/node | |
| - run: cargo test --workspace | |
| clippy: | |
| name: Clippy workspace | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo clippy --workspace --all-targets -- -D warnings | |
| docs: | |
| name: Build workspace docs | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo doc --workspace --no-deps | |
| msrv: | |
| name: Check MSRV workspace | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/[email protected] | |
| - uses: Swatinem/rust-cache@v2 | |
| - run: cargo check --workspace | |
| publish-check: | |
| name: cargo package workspace | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| # `cargo package --workspace` packs every member into target/package/ in | |
| # topological order and verifies each one against a tmp-registry built | |
| # from the sibling tarballs. This catches: | |
| # * `include_str!`/asset paths that escape the crate root | |
| # * Cargo.toml manifest issues (missing license/description, oversized | |
| # tarball, files outside [package].include, etc.) | |
| # * cross-crate API mismatches (verify-compile sees the new sibling | |
| # version locally instead of falling back to the published one) | |
| # This is the same verification step release-plz runs at publish time; | |
| # running it on every PR catches publish-only failures before merge. | |
| - run: cargo package --workspace |