You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e1825aa
Browse filesBrowse the repository at this point in the historyBrowse files
ci(lint): run check:migration-registry in Lint & Repo Gates, scoped by the gate-family selector
registry.ts is the generated concatenation of packages/spec/src/migrations/
entries/** and ships in the spec package's dist; check:migration-registry is
the only proof the two agree and it ran in no CI step. It becomes a step in
the required Lint & Repo Gates job, behind a new migration_registry family of
scripts/ci/select-gate-families.sh whose read-set is the migration tree, the
generator, and the spec package.json and tsconfig.json. The selector's
fail-open branches run it like every other family; the self-test pins the
family's verdicts and the workflow step.
Claude-Session: https://claude.ai/code/session_01UDXER3sdqfeVYpEWZs5mZx
Co-authored-by: Claude <noreply@anthropic.com>
expect_line "Gate-family diff base: $C0 (the merge group's base_sha)"
294
-
expect_line 'Gate families: 6 run, 3 skipped'
310
+
expect_line 'Gate families: 6 run, 4 skipped'
295
311
296
312
S=$(scenario A:scripts/pm/new-tool.mjs)
297
313
run_case 'merge_group: an ADDED file inside the read-set still runs it -- the narrowing is about the class, never the status'"$REPO" merge_group ''"$C0"
@@ -305,7 +321,7 @@ run_case 'merge_group: a scripts/pm prose change runs the tooling self-tests, an
bad 'the step summary lists the skipped families'"$(tr '\n'''<"$RT/step-summary")"
@@ -380,6 +398,7 @@ run_case 'merge_group: an EMPTY diff runs every family rather than selecting not
380
398
expect_rc 0
381
399
expect_warnings '#10057'"::warning::The diff against $C0 listed no changed files; every gate family runs rather than selecting nothing (#10057)."
382
400
expect_all_run
401
+
expect_reason migration_registry "the diff against $C0 listed no changed files"
383
402
expect_changed 'empty'''
384
403
385
404
S=$(scenario M:docs/guide.md)
@@ -388,12 +407,14 @@ expect_rc 0
388
407
expect_warnings 'no base''::warning::This merge_group event carries no base_sha, so the gate-family diff base cannot be computed; every family runs.'
389
408
expect_all_run
390
409
expect_reason pm_dispatch_gates 'no base_sha in the merge_group event'
410
+
expect_reason migration_registry 'no base_sha in the merge_group event'
391
411
392
412
run_case 'merge_group: an unfetchable base_sha warns twice and runs everything'"$REPO" merge_group ''"$ZEROS"
393
413
expect_rc 0
394
414
expect_warnings 'fetch + resolve'"::warning::Could not fetch the merge group's base $ZEROS; the resolution below will decide.
395
415
::warning::Could not resolve the merge group's base '$ZEROS' in this checkout; every gate family runs rather than guessing which paths changed (#16453)."
396
416
expect_all_run
417
+
expect_reason migration_registry "merge group base '$ZEROS' unresolvable"
397
418
398
419
if git_q -C "$SHALLOW" cat-file -e "$C0^{commit}"2>/dev/null;then
399
420
bad 'precondition: the shallow clone lacks C0 before the fetch case'
@@ -442,7 +463,8 @@ expect_reason declared_population_live 'no changed path is in its read-set'
442
463
expect_reason bare_root_worklist 'no changed path is in its read-set'
443
464
expect_reason self_test_workflow_commands 'no changed path is in its read-set'
444
465
expect_reason entry_guard 'no changed path is in its read-set'
445
-
expect_line 'Gate families: 3 run, 6 skipped'
466
+
expect_reason migration_registry 'no changed path is in its read-set'
467
+
expect_line 'Gate families: 3 run, 7 skipped'
446
468
447
469
S=$(scenario M:apps/site/src/page.tsx)
448
470
run_case 'merge_group: an apps TSX edit is outside the ratchets (packages/** only) and inside the corpus alone'"$REPO" merge_group ''"$C0"
run_case 'merge_group: a top-level scripts module is imported by the ratchets AND the lock preflight, and is a masked source'"$REPO" merge_group ''"$C0"
512
+
run_case 'merge_group: a top-level scripts module is imported by the ratchets AND the lock preflight, and is a masked source -- every family but the migration registry, which reads no repo-level script'"$REPO" merge_group ''"$C0"
run_case 'merge_group: a non-TypeScript file in an entry directory runs it and nothing else -- the gate refuses a stray file there'"$REPO" merge_group ''"$C0"
0 commit comments