Repository navigation
chore: prepare Zoom 0.43.0 - #243
Merged
Merged
Conversation
leemour
added a commit
that referenced
this pull request
Oct 25, 2026
…angelog and the version (#272) ## Task PERF-5 from the CI speed-up handoff: skip the heavy jobs on a pull request that changes only the version. The same change as WireCatLabs/tg-cli#733, ported from cli-core's WireCatLabs/cli-core#2022. ## Why `bin/release`'s version pull requests change only `CHANGELOG.md`, the `"version"` in `package.json` and `src/version.ts`, and ran the full validation anyway. #243 took 146 s, 93 s of it in `test:coverage`; #240 took 439 s with the installed-platform matrix. zoom-cli has several of these a day. ## What - `pr.yml` gets a `version-only` job first. It runs `scripts/ci-unchanged.sh`, which: - fingerprints the tree of this pull request and of main, with `CHANGELOG.md` left out and both versions set to `0.0.0` (`scripts/ci-fingerprint.sh`); - when they match, asks `scripts/release-reuse.sh` whether main's own pull request passed `standards` and the three `validation / ci / …` checks on the same tree. main's ruleset requires only `standards`, so the validation checks are passed as `EXTRA_CONTEXTS`. - On "yes", `changelog-only` runs `pnpm version:check` and `pnpm docs:check`, then reports the three `validation / ci / …` checks as passed (so the next version pull request finds them) with a summary of the evidence (`scripts/ci-pass-checks.sh`). On "no", or when the decision fails, the full validation runs as before. `main.yml` still runs the full validation after the merge. - Differences from cli-core: - `src/version.ts` is in the fingerprint (exactly one `VERSION` line, or the script fails and the full validation runs). - `version:check` runs on the skip path, because the fingerprint hides a mismatch between the two versions. - No ruleset change. `release.yml` has no tree reuse, so a release is unaffected. ## Testing - `scripts/ci-fingerprint.test.ts`: 6 cases, including `src/version.ts`. Passing locally. - On real history: - Every one of the last 10 version pull requests shares a fingerprint with its parent. - `release-reuse.sh` in pull-request mode, with the validation checks as `EXTRA_CONTEXTS`, gives `reuse=true` for 9 of them. The tenth (#268) followed #266, which merged behind main. - Before: version PR #243 146 s wall (#240 439 s); feature PR #269 161 s. - After: this PR takes the full path. Its run time is in a comment below. The skip path is proven by a probe version-only pull request, closed unmerged. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
Prepare merged #241 for the owner-requested publication. Pins registry Core 0.411.0 and Base 0.51.0 through the reviewed adoption. Raises package/runtime versions and dates Unreleased; older released sections stay unchanged. Normal bin/release owns security, validation, six installed-platform checks, immutable artifact publication and tag/release creation. No live account tests are part of this release.