Repository navigation
ci(release): add a tag check, a full test gate and generated notes - #21
Merged
Merged
Conversation
Release read the version from package.json and, when its tag already existed, re-uploaded the bundles with --clobber. A forgotten version bump would therefore replace a published release's bundles and checksums without any error. A new preflight job stops the release when the tag points at another commit; a re-run of the same commit still goes through. CI ran only the kernel suites, so the tests a pull request adds never ran in CI. It now runs the whole suite, skipping by name the three daemon-older-version cases that fail on any fork build (FORK.md). Release calls CI on the commit it publishes, alongside the kernel builds. Release notes now append GitHub's generated notes: the pull requests merged since the previous release, their authors and a compare link.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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.
Makes a release safe to trigger and tested before it ships.
Changes
A published version can no longer be replaced.
release.ymlreads the version frompackage.json, and when its tag already existed it re-uploaded the bundles with--clobber. A forgotten version bump would therefore replace the bundles andSHA256SUMSof a published release without any error. A newpreflightjob runsscripts/check-release-tag.shbefore anything is built:v<version>CI runs the whole test suite. It used to run only
__tests__/kernel-*.test.ts, so the tests a pull request adds never ran in CI. It now runs the full suite after the kernel gate. The threedaemon-older-versioncases that fail on any fork build (seeFORK.md) are skipped by test name, because each workspace project sets its ownexclude, which overrides--exclude.Release runs CI on the commit it publishes. A prerelease is usually cut from a branch no pull request has tested.
ci.ymlis now callable (workflow_call), Release calls it alongside the kernel builds, and the release job waits for both. The concurrency group now includes the workflow name, so a release's test run and a push tomaindo not cancel each other.Release notes list what changed. After the existing description, the notes now carry GitHub's generated notes: the pull requests merged since the previous release, their authors, and a compare link.
Verification
scripts/check-release-tag.shagainst this repository's tags: an unreleased version passes;v1.6.2-fmagent.2at869643bpasses as a re-run;v1.6.2-fmagent.1andv1.6.2-fmagent.2at190d40afail; the annotatedv1.6.0-fmagent.4resolves to the commit it points at.bundle-launchercases failed there because the machine has nozip; the GitHub runner has it, and they pass in this pull request's CI run.actionlint1.7.7 reports nothing.preflightwith the error above, and no other job ran. A fresh version ran every job: the test job took about ten minutes (606 files; 7,360 tests passed, 40 skipped), and the prerelease it published listed Fix C function extraction across conditional signatures #20 and a compare link in its notes. The throwaway release, tags and branch have been deleted.