Repository navigation
Release rehearse step and charge vocabulary CI check - #41
Merged
Merged
Conversation
added 3 commits
October 23, 2026 15:26
rehearse publishes the prepared commits into throwaway clones with recorded pushes, checks the push order, then runs the Website test:all and the Dataset unittest suite on the synced pair. After prepare and before publish the cross-repo tests cannot pass in the real checkouts, so the rehearsal is the release gate. Website dependencies are shared through a directory link that is removed before the clones are deleted (rmtree follows Windows junctions). Also fixes BEL characters that had replaced the backslash-a in two paths of docs/daily-pricing-release.md.
A Dataset-only unit or component makes every Website pricing sync reject the first row that uses it; this fails the Dataset PR until the Website has it.
Website tests diff against local main, which a clone of a feature branch lacks. Print the rehearsal report as ASCII JSON so redirected output stays UTF-8 safe.
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.
Dataset half of the release-chain hardening (items 1 and 4). Website half linqiang-max/aicostbudget#95 is merged and live.
Rehearse —
daily-pricing-release.ps1 -Rehearse/python -m scripts.daily_pricing_release rehearse, run after Prepare (and approval amends), before Publish:publish_releasein the clones with recorded pushes; checks the order (Website → Dataset → HF);npm run test:all(DATASET_ROOT= Dataset clone) and Datasetpython -m unittest discover -s tests(WEBSITE_SOURCE_ROOT= Website clone) on the synced pair; printsREHEARSAL PASS/REHEARSAL FAILwith failure tails (exit 1 on fail);node_modulesthrough a junction/symlink that is removed before clone cleanup (Python 3.11rmtreefollows junctions); gives the Website clone a localmainfor tests that diff against it.After Prepare the cross-repo tests cannot pass in the real checkouts, so the rehearsal is the release gate. Documented in
docs/daily-pricing-release.md(also fixes BEL characters that had replaced\ain paths there).Vocabulary CI —
validate.ymlruns the Websitescripts/test-pricing-vocabulary.mjsagainst this checkout, so a Dataset-only unit/component fails the PR until the Website has it.Checks: 721 unittests pass; release tests 29 pass (6 new rehearsal tests). End-to-end rehearsal of release 95947f8: against Website b46d52b (pre-TTS-3) → REHEARSAL FAIL on exactly the three stale pins later fixed in #95; against the guardrails branch → REHEARSAL PASS (318 Website executions, 717 Dataset tests).