Conversation
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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.
Related GitHub Issue
Closes: #784
Description
Publishes nightly pre-release builds to Open VSX in addition to the VS Code Marketplace, and adds a guard so the release-PR merge back into
maindoesn't also trigger a redundant nightly pre-release.Open VSX pre-release publishing
The workflow previously skipped Open VSX for nightlies, with a comment claiming Open VSX has no pre-release concept. That was incorrect — verified against the Open VSX server source (
ExtensionVersionJooqRepository.findLatestQuery, eclipse-openvsx/openvsx) and confirmed live against the realZooCodeOrganization.zoo-codelisting:pre-releasealias correctly isolates pre-release-flagged versions.latestalias resolves to the highest semver across stable and pre-release, using the pre-release flag only as a tie-breaker at identicalmajor.minor.patch. A nightly build can therefore transiently becomelatestuntil the next stable release outranks it — the same trade-off already accepted for Marketplace pre-release publishing, since both track "newest published version."The Open VSX publish step intentionally omits
ovsx publish --pre-release: for an already-packaged.vsix(built earlier in the job viavsce package --pre-release),ovsxignores that flag and warns that it's a no-op — the pre-release marker is already baked into the VSIX'sMicrosoft.VisualStudio.Code.PreReleasemanifest property, which is what Open VSX actually reads.Skip on release merge
The release runbook (
.roo/commands/release.md) squash-merges release PRs intomainwith the commit messagechore: prepare v[version] release, after the tag has already been pushed and stable has already shipped. Without a guard, that merge would also trigger a nightly pre-release publish of code that was just released as stable. Added a "Skip if this push is a release merge" step that checks:src/package.jsonversion (belt-and-suspenders if the message convention ever drifts).gh release viewfailures are distinguished by message: "release not found" is the expected non-match; anything else (auth/API failure) fails the step loudly instead of silently falling through to a publish.Duplicate-publish logging
The Open VSX publish step now checks
ovsx's output for "is already published" and logs that the version was skipped rather than unconditionally claiming a fresh publish —--skip-duplicatereturns success without actually publishing in that case.Test Procedure
vsce package --pre-releaseand confirmed theMicrosoft.VisualStudio.Code.PreReleasemanifest property is set.ZooCodeOrganization.zoo-codeOpen VSX listing and confirmed via the registry API that thepre-releasealias correctly isolated it whilelatesttracked highest-semver as expected.chore: prepare v3.64.0 release (#729),chore: prepare v3.62.0 release (#658)) and against a normal feature commit, confirming correct match/no-match in both directions.gh release viewerror handling against three cases: version not found, version found (existing stable releasev3.64.0), and an invalid token (401) — confirmed each takes the correct branch.ovsx"already published" response and a real publish-success response.Pre-Submission Checklist
Documentation Updates
Additional Notes
This is a CI/workflow-only change (
.github/workflows/nightly-publish.yml); there's no application code path to unit test. Verification was done by exercising the actualovsx/ghcommands and shell logic locally against the real registry and repo, as detailed in the Test Procedure above.