Repository navigation
[Tests] Cover which files the channel_config spec bundles on deploy - #8971
Draft
github-actions[bot] wants to merge 1 commit into
Draft
github-actions[bot] wants to merge 1 commit into
github-actions[bot] wants to merge 1 commit into
Conversation
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This branch has not been deployed
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.
WHY are these changes introduced?
The seven-day review of Main tests (2026-10-14T00:23Z–2026-10-21T00:23Z UTC) found four failed runs on
main, allwindows-latest, and both distinct failures already have open fixes:app-security-commands.test.ts > the PowerShell record command reads a findings file without a byte order mark as UTF-8 in Windows PowerShell 5.1timed out at 13000ms in all four runs (39241753364, 38773610537, 38766274961, 38709303616) — covered by [Tests] Give the PowerShell record test room for powershell.exe startup #8832.secret-safety.test.ts > does not score a 32-hex value under a secret-sounding name, quoted or nottimed out in 38766274961 — covered by [Tests] Split the 32-hex secret test into one test per assignment form #8928.No run in the window had an earlier failed attempt, and no other test crossed its timeout, so there is no remaining actionable flake to fix. This PR takes the coverage fallback instead.
channel_configis the only extension specification that declares a pattern inclusion with both abaseDirand adestination, and it has no test. ItsclientStepsentry decides exactly which files reach the deploy bundle and where they land, but nothing asserts that: the integration test forcreateContractBasedModuleSpecificationonly checks that an arbitraryclientStepsvalue is passed through, andinclude-assets-step.test.tscovers the step mechanics with its own inline configs rather than this specification's.WHAT is this pull request doing?
Adds
channel.test.ts, which runs the specification's real deploy step over a real temporary extension directory and asserts the resulting bundle:json,toml,yaml,yml,svg) is bundled, including from a nested subdirectory, and lands underspecifications/specifications/, and spec-format files outside itThe test reads the step from
loadLocalExtensionsSpecifications()rather than restating the config, so it tracks the specification instead of duplicating it, and it asserts bundle contents rather than the shape of the declaration. No production code changes.Validation: both tests pass locally on Linux Node 26.1.0, alongside all 32 extension-model test files (415 passed), five times under
--sequence.shuffletogether withinclude-assets-step.test.ts, which shares the step they both drive, and under--pool=forksand--no-file-parallelism.nx type-check appand ESLint on the new file both pass. I confirmed each test fails without the behavior it covers by temporarily mutating the specification three ways: droppingsvgfrom the formats and droppingdestinationeach fail the first test, and wideningincludeto**/*fails the second.Remaining uncertainty: the tests are filesystem-only with no subprocess or network, so they should behave the same on Windows and macOS, but I ran them only on Linux.
How to manually test your changes?
Checklist
patchfor bug fixes ·minorfor new features ·majorfor breaking changes) and added a changeset withpnpm changeset add