Repository navigation
ci(release): take the version as the run's input, not a bump commit - #62
Open
yaacovcorcos wants to merge 1 commit into
Open
yaacovcorcos wants to merge 1 commit into
yaacovcorcos wants to merge 1 commit into
Conversation
A release needed a pull request that bumped scient.json, then a second CI run on main, before the release run could start. Scient Desktop takes the version as the release run's input and writes it into the build's checkout without committing it; the agent now does the same. The release run takes an optional version and otherwise releases the next patch after the latest published release. Its first job checks it before any build starts, each build stamps it into its own scient.json and checks the binary reports it, and the release job checks it again before drafting. Scient-Divergence: SA-RELEASE Co-Authored-By: Claude Opus 5.5 <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.
Until now, a release needed a pull request that bumped
scient.json, then a second CI run onmain, before the release run could even start. Scient Desktop doesn't work that way: its release run takes the version as an input and writes it into the build's own checkout, without committing it (update-release-package-versions.ts). This PR gives the agent the same model.What changes
workflow_dispatchgains an optionalversion. Leave it blank to release the next patch after the latest published release, or give the next minor or major (-f version=0.2.0). Nothing commits the version, and norelease: Scient Agent x.y.zbump PR is needed any more.release-version.tsresolves the version and applies the same rule as before: right after the latest published release, with no tag on it. The job now runs on every run, doing nothing outside a release, andbuilddepends on it. A wrong version fails in about a minute instead of after the builds. Any job that depends on a skipped job would itself be skipped, which is why it always runs.release-version.ts --stamp <version>writes the version into that runner'sscient.jsonright after the build id is stamped, so the binary reports it. The version checks inbuildandverify-macoscompare against the run's version. The release job's last check before drafting uses the same version.SCIENT.mddocuments the new procedure.scient.json's version onmainis now only what a build outside a release reports, the same way Desktop's package.json version is.Unchanged: who publishes (a person publishes the draft); the tag still comes last; reusing a number for a retry (a blank version picks the same number again); signing, notarization, compression, the R2 copy, and Desktop's catalog.
Checks
scripts/scient/release-version.test.ts: 6 pass, including new cases for picking the version and stampingscient.jsonwith its layout unchanged.0.1.11v0.1.11→0.1.110.2.0→ accepted0.1.10→ refused (already tagged)0.1.13→ refused (not next)--stamp nope→ exit 2oxlintandoxfmt --checkpass on the changed files, and the divergence check passes.Not exercised: a real release run. The first release after this merges is that test. It would be 0.1.11, because main's unreleased bump already matches it.
🤖 Generated with Claude Code