diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2e1d9cfa0..b0f4aae54 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -532,7 +532,7 @@ jobs: needs: detect-changes if: needs.detect-changes.outputs.run-full-ci == 'true' runs-on: ubuntu-latest - timeout-minutes: 10 + timeout-minutes: 15 strategy: fail-fast: false matrix: @@ -548,9 +548,12 @@ jobs: - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 with: shared-key: "ci" + # --all-targets compiles test/bench/example targets too, so per-bundle + # test-cfg-gate mismatches (e.g. #6607) are caught here, not just by the + # broader combined-feature jobs above (lint-clippy, msrv, release-build). - name: Check bundle continue-on-error: ${{ matrix.allow_failure == true }} - run: cargo check --features ${{ matrix.bundle }} + run: cargo check --all-targets --features ${{ matrix.bundle }} release-build: name: Release Build Check diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e56154da..98b673364 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -128,6 +128,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). restores it into the session on `Drop`, covering every exit path; `drain_agent_events` borrows the receiver instead of consuming it so the guard never loses ownership across the drain loop's await points. +- `ci`: the per-bundle `bundle-check` job in `ci.yml` now runs `cargo check --all-targets` + instead of a lib/bin-only check (issue #6609, follow-up to #6607/#6608). Every other + `--all-targets` job in CI (`lint-clippy`, `msrv`, `release-build`) always combines feature + strings that enable both `session` and `acp-http` together, so a narrower single bundle like + `ide` was never checked with `--all-targets` anywhere, letting test-only `#[cfg(...)]` gates + narrower than the production code they exercise ship and pass CI indefinitely. ## [0.22.3] - 2026-07-22 ### Fixed