@@ -56,42 +56,58 @@ jobs:
5656
5757 - name : Validate V43 promotion readiness
5858 run : |
59+ set -euo pipefail
60+
61+ run_checked() {
62+ echo "::group::$*"
63+ "$@"
64+ echo "::endgroup::"
65+ }
66+
67+ run_bounded() {
68+ local limit="$1"
69+ shift
70+ echo "::group::$*"
71+ timeout --kill-after=30s "$limit" "$@"
72+ echo "::endgroup::"
73+ }
74+
5975 POINTER="$(cat BITCODE_SPEC.txt)"
6076 if [ "$POINTER" = "V42" ]; then
61- node scripts/check-bitcode-spec-family.mjs --version V43 --mode draft --current-target V42
62- node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V42 --draft-target V43
63- node scripts/check-bitcode-canonical-inputs.mjs --current-target V42
64- node scripts/check-v43-gate1-packs-read-deposit-roadmap.mjs --skip-branch-check
65- node scripts/check-v43-gate2-route-vocabulary-inventory.mjs --skip-branch-check
66- node scripts/check-v43-gate3-packs-activity-master-detail.mjs --skip-branch-check --skip-uapi-tests
67- node scripts/check-v43-gate4-read-route-five-step-ux.mjs --skip-branch-check --skip-uapi-tests
68- node scripts/check-v43-gate5-deposit-route-options.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests
69- node scripts/check-v43-gate6-deposit-policy-compensation.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests
70- node scripts/check-v43-gate7-deposit-option-admission.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests
71- node scripts/check-v43-gate8-route-ux-product-excellence.mjs --skip-branch-check --skip-uapi-tests
72- node scripts/check-v43-gate9-cross-route-rehearsal-telemetry-repair.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests
73- node scripts/check-v43-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests
74- node scripts/promote-bitcode-canon.mjs --version V43 --commit HEAD --dry-run
77+ run_checked node scripts/check-bitcode-spec-family.mjs --version V43 --mode draft --current-target V42
78+ run_checked node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V42 --draft-target V43
79+ run_checked node scripts/check-bitcode-canonical-inputs.mjs --current-target V42
80+ run_checked node scripts/check-v43-gate1-packs-read-deposit-roadmap.mjs --skip-branch-check
81+ run_checked node scripts/check-v43-gate2-route-vocabulary-inventory.mjs --skip-branch-check
82+ run_checked node scripts/check-v43-gate3-packs-activity-master-detail.mjs --skip-branch-check --skip-uapi-tests
83+ run_checked node scripts/check-v43-gate4-read-route-five-step-ux.mjs --skip-branch-check --skip-uapi-tests
84+ run_checked node scripts/check-v43-gate5-deposit-route-options.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests
85+ run_checked node scripts/check-v43-gate6-deposit-policy-compensation.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests
86+ run_checked node scripts/check-v43-gate7-deposit-option-admission.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests
87+ run_checked node scripts/check-v43-gate8-route-ux-product-excellence.mjs --skip-branch-check --skip-uapi-tests
88+ run_checked node scripts/check-v43-gate9-cross-route-rehearsal-telemetry-repair.mjs --skip-branch-check --skip-uapi-tests --skip-package-tests
89+ run_checked node scripts/check-v43-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests
90+ run_checked node scripts/promote-bitcode-canon.mjs --version V43 --commit HEAD --dry-run
7591 elif [ "$POINTER" = "V43" ]; then
76- node scripts/check-bitcode-spec-family.mjs --version V43 --mode promoted --current-target V43
77- node scripts/check-bitcode-canonical-inputs.mjs --current-target V43
78- node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V43 --draft-target V44
79- node scripts/check-v43-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests
92+ run_checked node scripts/check-bitcode-spec-family.mjs --version V43 --mode promoted --current-target V43
93+ run_checked node scripts/check-bitcode-canonical-inputs.mjs --current-target V43
94+ run_checked node scripts/check-bitcode-canon-posture-drift.mjs --active-canon V43 --draft-target V44
95+ run_checked node scripts/check-v43-gate10-promotion-readiness.mjs --promotion-mode --skip-branch-check --skip-package-tests
8096 else
8197 echo "Unexpected BITCODE_SPEC.txt pointer: $POINTER" >&2
8298 exit 1
8399 fi
84- pnpm --filter @bitcode/protocol typecheck
85- pnpm --filter @bitcode/protocol test
86- pnpm --filter @bitcode/btd typecheck
87- pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runInBand --forceExit
88- npm --prefix protocol-demonstration test
89- npm --prefix protocol-demonstration run test:v28-mvp-qa
90- pnpm --filter @bitcode/pipeline-asset-pack typecheck
91- pnpm --filter @bitcode/pipeline-hosts typecheck
92- pnpm --filter @bitcode/pipeline-asset-pack exec jest --config jest.config.cjs --passWithNoTests --forceExit
93- pnpm --filter @bitcode/pipeline-hosts exec jest --config jest.config.cjs --passWithNoTests --forceExit
94- git diff --check
100+ run_bounded 5m pnpm --filter @bitcode/protocol typecheck
101+ run_bounded 5m pnpm --filter @bitcode/protocol test
102+ run_bounded 5m pnpm --filter @bitcode/btd typecheck
103+ run_bounded 5m pnpm --filter @bitcode/btd exec jest --config jest.config.cjs --runInBand --forceExit
104+ run_bounded 5m npm --prefix protocol-demonstration test
105+ run_bounded 5m npm --prefix protocol-demonstration run test:v28-mvp-qa
106+ run_bounded 5m pnpm --filter @bitcode/pipeline-asset-pack typecheck
107+ run_bounded 5m pnpm --filter @bitcode/pipeline-hosts typecheck
108+ run_bounded 5m pnpm --filter @bitcode/pipeline-asset-pack exec jest --config jest.config.cjs --passWithNoTests --forceExit
109+ run_bounded 5m pnpm --filter @bitcode/pipeline-hosts exec jest --config jest.config.cjs --passWithNoTests --forceExit
110+ run_checked git diff --check
95111
96112 - name : Promote V43 canon files
97113 if : >-
0 commit comments