Skip to content

ci: Add tag-triggered release workflow#4

Merged
cuiko merged 1 commit into
mainfrom
ci/release
May 22, 2026
Merged

ci: Add tag-triggered release workflow#4
cuiko merged 1 commit into
mainfrom
ci/release

Conversation

@cuiko

@cuiko cuiko commented May 22, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add .github/workflows/release.yml that fires on v* tag pushes and publishes a GitHub Release with the bundled DMG.
  • Release notes auto-generated from PR titles merged since the previous tag (gh release create --generate-notes).
  • Requires only contents: write permission; uses the default GITHUB_TOKEN, no extra secrets.

After merge the release ritual collapses to:

# bump CFBundleVersion + CFBundleShortVersionString in Info.plist
git add Info.plist
git commit -m "chore: Bump version to x.y.z"
git tag vx.y.z
git push origin main --tags

CI on macos-14 picks up the tag, runs make dist, and creates the Release. No local make dist or gh release create step needed anymore.

Test plan

  • Workflow file is syntactically valid (visible green check in Actions tab once on main)
  • Next real release (likely v1.3.0 after the SPM refactor in ref: Reorganise into Swift Package Manager layout #2 merges) produces a DMG-bearing GitHub Release automatically without manual gh invocation

Bumping the version, committing, and tagging \`vx.y.z\` should be the
entire release ritual — the rest is mechanical. Add
\`.github/workflows/release.yml\` that fires on \`v*\` tag pushes, runs
\`make dist\` on a macos-14 runner, and creates a GitHub Release with
the DMG attached.

Release notes use \`gh release create --generate-notes\`, which derives
them from PR titles merged since the previous tag (same algorithm as
the "Generate release notes" button in the GitHub UI). This removes
the manual \`make dist\` + \`gh release create\` steps from the release
flow entirely.

The workflow needs \`contents: write\` to create the release; no other
permissions or secrets are required since \`GITHUB_TOKEN\` covers the
release API surface.
@cuiko
cuiko merged commit f719b9a into main May 22, 2026
1 check passed
@cuiko
cuiko deleted the ci/release branch May 22, 2026 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant