Skip to content

Commit e26f7ae

Browse files
committed
test(ci): update the two suites that assert on rewired workflow text
`scripts/mutation/workflow.test.ts` and `test/ci/trusted-fixture-artifact.test.mjs` read the workflow and action files and assert on their command text, so routing those steps through `pnpm gate <id>` moved what they were matching. They are the two suites the manifest cannot help with: it proves a gate is still run, not that a test asserting on how CI spells a command was updated with it. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01SkS4S8XXrfkJ8TD1VBKkvJ
1 parent 782cab3 commit e26f7ae

2 files changed

Lines changed: 9 additions & 3 deletions

File tree

‎scripts/mutation/workflow.test.ts‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ test('the weekly sweep shards exactly the registry matrix', () => {
3535

3636
test('the weekly sweep merges the shards into one ratcheted verdict', () => {
3737
const yaml = workflow('mutation-weekly.yml');
38-
assert.match(yaml, /pnpm mutation:check --report-dir/);
38+
// Invoked through the canonical runner (#1429): `pnpm gate <check-id>` is the
39+
// only way a lane may reach a gate, so the assertion names the check, not the
40+
// package script behind it.
41+
assert.match(yaml, /pnpm gate mutation-check --report-dir/);
3942
assert.match(yaml, /GITHUB_STEP_SUMMARY|\$GITHUB_STEP_SUMMARY/);
4043
// A dead shard must not be merged into a verdict that looks like a sweep.
4144
assert.match(
@@ -84,7 +87,7 @@ test('every kernel path a PR can touch selects the affected mutation job', () =>
8487
paths.includes('packages/*/src/**/*.test.ts'),
8588
'the PR lane must trigger on every packages/*/src test too — target-annotation-serde is owned by one',
8689
);
87-
assert.match(workflow('mutation-affected.yml'), /mutation:affected --list-affected/);
90+
assert.match(workflow('mutation-affected.yml'), /gate mutation-affected --list-affected/);
8891
// The lane's own sources fail open into it too: a ratchet or baseline edit must
8992
// prove itself against real mutants, not against a stale report.
9093
for (const own of ['scripts/mutation/**', 'stryker.config.json', 'mutation-baselines/**']) {

‎test/ci/trusted-fixture-artifact.test.mjs‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,10 @@ test('producer, consumers, upload, and concurrency use the canonical platform-sc
4242
'utf8',
4343
);
4444

45-
assert.match(fetchStep.run, /"\$\{\{ inputs\.platform \}\}" "\$DEST"/);
45+
// The platform still arrives first and DEST second; it is passed through `env:` rather
46+
// than interpolated, because an action may no longer splice an input into a shell body.
47+
assert.match(fetchStep.run, /"\$INPUT_PLATFORM" "\$DEST"/);
48+
assert.equal(fetchStep.env.INPUT_PLATFORM, '${{ inputs.platform }}');
4649
assert.match(fetchArtifact, /resolve-artifact-name\.sh" "\$PLATFORM"/);
4750
assert.match(fetchArtifact, /find "\$REPOSITORY" "\$NAME" "\$EXPECTED_HEAD_SHA"/);
4851
assert.match(androidBuildToolsStep.run, /build-tools;36\.0\.0/);

0 commit comments

Comments
 (0)