From b5513b4aa8fda7e1ca990c3f86f871f2dad3c6a7 Mon Sep 17 00:00:00 2001 From: Mikola Lysenko Date: Mon, 10 Aug 2026 10:42:11 -0700 Subject: [PATCH] ci: stop counting docker-e2e/setup-e2e soft-skips as passing tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The test and test-release jobs ran `cargo test --workspace --all-features`, which also RUNS the feature-gated docker-e2e and setup-e2e suites. Those tests soft-skip as "ok" when no socket-patch-test images exist — which is always true in these jobs (no images are built there; macOS/Windows have no Docker at all). Every OS leg therefore reported dozens of fake green tests, and a broken skip-guard would disable a whole suite while CI stayed green. Split build from run: --all-features --no-run keeps the compile-rot coverage for the gated suites, the run step uses default features only. The dedicated e2e-docker and setup-matrix jobs remain the places where the gated suites actually execute. Co-Authored-By: Claude Fable 5 --- .github/workflows/ci.yml | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 75e9587b..8f8ff1cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -204,7 +204,18 @@ jobs: echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH" - name: Run tests - run: cargo test --workspace --all-features + # `--all-features` would also RUN the docker-e2e / setup-e2e suites, + # which soft-skip as "ok" in this job (no images are built here, and + # macOS/Windows have no Docker at all) — dozens of fake greens per OS + # that would hide a broken skip-guard behind a passing checkmark. + # Build them with --all-features (compile rot is real coverage), but + # run only the default-feature suites; the dedicated e2e-docker and + # setup-matrix jobs run the gated suites for real. + shell: bash + run: | + set -euo pipefail + cargo test --workspace --all-features --no-run + cargo test --workspace test-release: runs-on: ubuntu-latest @@ -238,7 +249,13 @@ jobs: # `ci-release` = [profile.release] minus the full-LTO link (see the # profile's comment in Cargo.toml). Same opt-level/debug-assertion # semantics this job exists to validate; ~23m of LTO relinking gone. - run: cargo test --workspace --all-features --profile ci-release + # Build/run split for the same reason as the `test` job: the gated + # docker-e2e / setup-e2e suites only soft-skip here — compile them, + # don't count their skips as passes. + run: | + set -euo pipefail + cargo test --workspace --all-features --profile ci-release --no-run + cargo test --workspace --profile ci-release coverage: # Code coverage via cargo-llvm-cov (LLVM source-based instrumentation).