Skip to content

fix(ci): distinguish platform exclusions from missing flake tests - #164

Draft
tee8z wants to merge 1 commit into
mainfrom
tee8z/flake-platform-tests
Draft

tee8z wants to merge 1 commit into
mainfrom
tee8z/flake-platform-tests

Conversation

@tee8z

@tee8z tee8z commented Nov 10, 2026 •

Copy link
Copy Markdown
Collaborator

Rust flake checks fail after successful repetitions when selected Windows-only tests are absent on a Linux runner. This surfaced in #155.

Recognize only source-matched per-test guards for built-in platform predicates and their negation. Compare them with compiler configuration for every host/target platform reported by nextest. Report these exclusions separately. Missing declarations, unsupported expressions, custom targets, missing metadata, failed compiler queries, and absent feature tests still fail.

Validation: all 17 flake-script tests, Biome, the repository file-size gate, and diff checks pass. The subprocess regression exercises the production command. It covers Windows/cross-target builds and preserves feature failures. Both proof-removal and blind-skip mutations fail as expected. An actual dependency-free fixture with pinned nextest0.9.136 excludes its Windows-only test, repeats its Linux test twice, and fails a missing-declaration selection.

The full repository CI gate remains limited by the host's missing native glib-2.0.pc, as recorded during the combined feature validation. This scripts-only change uses the targeted checks above. No human runtime confirmation is recorded.

Human check: run node --test scripts/flake-check.test.mjs; all 17 tests should pass. On Linux, repeat a selection containing a #[cfg(windows)] test and a listed test; expect an explicit platform-exclusion note and successful repetitions. Select a nonexistent test; expect exit status 1.

Signed-off-by: Tee8z <tee8z@protonmail.com>
@tee8z tee8z self-assigned this Nov 10, 2026
@coderabbitai

coderabbitai Bot commented Nov 10, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

@tee8z

tee8z commented Nov 10, 2026

Copy link
Copy Markdown
Collaborator Author

Independent review of 6c50098: no blocking finding. The exception requires an exact source test declaration, a directly attached supported built-in platform predicate, and compiler configuration for every platform nextest actually built. Missing metadata, custom targets, unknown expressions, feature-only tests, missing declarations and compiler-query failure retain the existing failure. The Node host is never substituted for the binary's target.

Independently ran all 17 script tests successfully and inspected the production subprocess regression. The author's real pinned nextest 0.9.136 probe additionally confirms the actual JSON nesting and runs a Linux selection containing an explicitly Windows-only test: the platform exclusion is reported while the listed test repeats. Selecting a nonexistent declaration still exits 1. The guard-removal and blind-skip mutations both fail; restored tests pass.

Minimalism 9/10, elegance 9/10, correctness 9/10. Human confirmation and final hosted checks remain separate; no readiness attestation or deployment approval.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant