Merge branch 'worktree-simplification-audit' #52
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] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| rust-sdk: | |
| name: Rust SDK | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| # This job executes repo code (cargo build/test); don't persist the | |
| # token in git config. | |
| persist-credentials: false | |
| submodules: true | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: . | |
| - name: Check formatting | |
| run: cargo fmt --all -- --check | |
| - name: Clippy | |
| run: cargo clippy --all-targets -- -D warnings | |
| - name: Build | |
| run: cargo build --all-targets --all-features | |
| - name: Test | |
| run: cargo test --all-features | |
| features: | |
| name: Features (${{ matrix.features.name }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # Curated subset of the feature power set: the dependency-light core, | |
| # each feature in isolation, and the fully-enabled build. Each combo | |
| # must type-check so heavyweight deps stay genuinely opt-in. | |
| features: | |
| - name: core (no features) | |
| flags: --no-default-features | |
| - name: tokio | |
| flags: --no-default-features --features tokio | |
| - name: git-diff | |
| flags: --no-default-features --features git-diff | |
| - name: providers-http | |
| flags: --no-default-features --features providers-http | |
| - name: rpc | |
| flags: --no-default-features --features rpc | |
| - name: all features | |
| flags: --all-features | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| persist-credentials: false | |
| submodules: true | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| workspaces: . | |
| key: features-${{ matrix.features.name }} | |
| - name: Check | |
| run: cargo check --all-targets ${{ matrix.features.flags }} |