ci: tag-driven GitHub Releases - #10
Merged
Merged
Conversation
Add a release workflow triggered only by pushing a v* tag, matching the house pattern already used in butterstack-connector. The tag run re-runs the same marketplace lint as lint.yml (so a release can never be cut from a broken manifest) and then cuts a GitHub Release with generated notes. This repo has no build artifact, so the release step is the whole job. Per-plugin versions in each plugin.json are untouched and keep moving on their own independent cadence; the tag only versions the collection. Also documents the strategy in a short README Releases section.
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.
Summary
Gives this repo the same tag-driven release strategy that ButterStack/butterstack-connector already uses.
.github/workflows/release.yml, triggered only by pushing av*tag. Merging to main publishes nothing.lint.ymlruns (same steps, same action versions, copied verbatim), so a broken marketplace manifest can never be tagged into a release.gh release create "$GITHUB_REF_NAME" --title "$GITHUB_REF_NAME" --generate-notes --verify-tag.What this deliberately does not touch
Per-plugin versions are independent and already out of step with each other on purpose (perforce/unity at
0.2.0, unreal/lore/godot/jenkins at0.1.0). This PR does not add a guard forcing plugin versions to match the repo tag, and does not bump anyplugin.json. The repo tag versions the collection, not any individual plugin.Also added a short
## Releasessection to the README documenting this in plain terms.Verify
python3 -c "import yaml;yaml.safe_load(open('.github/workflows/release.yml'))"parses clean.actions/checkout@v6andactions/setup-node@v4(copied fromlint.yml) both confirmed to exist.plugin.json, orlint.ymlwas changed.Test plan
v0.3.0) and confirm the workflow runs lint, then cuts a GitHub Release with generated notes.mainalone triggers no release.