Repository navigation
build: publish prereleases from the beta and alpha branches - #544
Merged
Merged
Conversation
Every push to beta or alpha publishes to the Marketplace channel of the same name and creates a GitHub prerelease. Versions are the next patch after the latest stable release, numbered per channel. Publishing moves into a reusable workflow shared with stable releases, which now require a plain X.Y.Z tag. Closes #538
The target version is the newest CHANGELOG.md section above the latest stable release, otherwise the next patch. Numbering continues after the highest version on the Marketplace channel or in GitHub tags, using the existing format without a dot (1.3.0-alpha5).
|
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.



The Problem/Issue/Bug:
There is no way to get alpha or beta builds to the Marketplace. The prerelease tag handling in
release.ymlandpublish-release.ymlnever ran: releases created byrelease.ymluse the workflow token, which can't startpublish-release.yml.How this PR Solves the Problem:
publish-prerelease.yml: every push tobetaoralphapublishes both platform variants to the Marketplace channel of the same name, creates a Sentry release and a GitHub prerelease with the zips and generated notes. Runs are queued per branch so version numbers can't collide.publish-marketplace.yml: reusable publish and Sentry jobs, used by both the stable and prerelease paths.publish-release.yml: stable only. It fails unless the tag is plainX.Y.Z, so promoting a prerelease can't publish it to stable.release.yml: no longer matches prerelease tags.betaandalpha.CONTRIBUTING.mddescribes the release flow and the channel repository URLs.Versioning
## [X.Y.Z]section inCHANGELOG.mdwhen it is above the latest stable release, otherwise the next patch. Adding## [1.3.0]onalphamakes its builds1.3.0-alphaN.1.3.0-alpha5.alpha5,beta1).CHANGELOG.mdsection.Manual Testing Instructions:
actionlint passes. The version step was dry-run against this repository and the live Marketplace channels: with
CHANGELOG.mdtopping at 1.2.10 it gives1.2.11-beta1and1.2.11-alpha1; with a## [1.3.0]section it gives1.3.0-alpha5and1.3.0-beta1.patchPluginXmlfor1.2.11-beta3picks up the## [1.2.11]change notes.After merging:
betaandalphafrommain(the first push publishes immediately) and protect both branches. Add the## [1.3.0]section onalphabefore its first push so it continues after1.3.0-alpha4.1.2.11-beta1+251and1.2.11-beta1+261to the beta channel and creates the GitHub prerelease.https://plugins.jetbrains.com/plugins/beta/listas a plugin repository in the IDE and confirm the update shows up.Related Issue Link(s):
Closes #538