ci: automate releases (release-please + DMG + Homebrew cask)#2
Merged
Conversation
hdiutil attach -mountpoint failed because the directory was never created, so the curl one-liner died at the mount step. mkdir -p it first.
Adopt release-please (simple release type) to own versioning: it maintains version.txt + CHANGELOG.md, tags as vX.Y.Z, and cuts GitHub releases from conventional commits. Baseline set to 2.1.0.
When release-please cuts a release, build the Release config with the release version injected, package a DMG, attach it to the GitHub release, and push the new version + sha256 to the mulhamna/homebrew-tap cask. Build runs in the same workflow (gated on releases_created) because a GITHUB_TOKEN-created release does not trigger a separate on:release workflow. Requires a TAP_TOKEN secret with repo scope on the tap.
Replace the manual bump/DMG/cask instructions with the automated release-please flow (semver, injected MARKETING_VERSION, auto DMG + cask).
Release-As: 3.0.0
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
Changes
hdiutil attach— the curl one-liner was dying at the mount step.release-please-config.json+.release-please-manifest.json(baseline2.1.0).release-please.yml— on merge, maintain a release PR; when a release is cut, build the Release config with the tag injected asMARKETING_VERSION, packagePortBar-X.Y.Z.dmg, attach it to the release, and push version + sha256 tomulhamna/homebrew-tap.Release-As: 3.0.0commit so the first automated release is3.0.0.Prerequisite
TAP_TOKEN(PAT withreposcope onmulhamna/homebrew-tap) — required for the cask push.Test plan
PortBar-3.0.0.dmgto releasev3.0.0.3.0.0+ new sha256.curl -fsSL .../scripts/install.sh | bashinstalls 3.0.0;brew upgrade --cask portbarworks.