Repository navigation
fix(ci): the producer integration test list is data, not part of the pinned selection logic - #6467
Merged
Merged
Conversation
…pinned selection logic
Contributor
There was a problem hiding this comment.
Verdict: APPROVE · 0 blockers · 0 important · 0 nits · head 0484fe2f
Scope
Checked the JSON list against origin/main's inline set (now at 3e16603d): the same 37 entries. Locally, test-classification.test.mjs passes 6/6, the classifier output matches main (157 tests: unit 49 bun + 71 vitest, integration 15 + 22), check-test-reachability reports zero orphans, and sha256 of the module equals the new pin. The first Windows run failed in chromeOrphans.process.test.ts and browserManager.test.ts, which this diff doesn't touch. The same chromeOrphans test also fails on other branches and in the merge queue (pr-5255). I re-ran the failed jobs and attempt 2 passed. All CI on this head is now green.
— Genesis
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What was wrong
scripts/test-reachability.jsonpins a sha256 ofpackages/producer/scripts/test-classification.mjs, which held both the lane-selection logic and the data list of integration tests. Every PR that adds an integration test edits the list, so it changes the sha and conflicts with every other such PR (#6441, #6444 and #6455 all hit it).Fix
The list moves to
packages/producer/scripts/integration-tests.jsonand the module reads it. The pin stays on the selection logic only, so a changed selection still forces review while adding a test to the list no longer touches the pinned file. The list is checked directly, not hashed:discoverProducerTestsalready fails when an entry names a file that is not a test undersrcortests.Design calls:
Test
test-classification.test.mjsfails on main's module (its source holds test paths) and passes here, and checks the list has no duplicates. The classifier output is unchanged (157 tests, the same lanes) andcheck-test-reachabilityverifies zero orphan tests with the re-pinned sha.Why under 100 lines
CI tooling that no other change touches; nothing to fold into. The diff is the moved list plus a one-line pin.