Skip to content

chore: improve CI and add release workflow - #30

Closed
jatinkrmalik wants to merge 1 commit into
mainfrom
chore/improve-ci-and-release
Closed

chore: improve CI and add release workflow#30
jatinkrmalik wants to merge 1 commit into
mainfrom
chore/improve-ci-and-release

Conversation

@jatinkrmalik

Copy link
Copy Markdown
Member

Changes

CI Improvements (ci.yml)

  • SPM dependency caching - faster builds using actions/cache@v4
  • Concurrency control - cancels in-progress runs for the same branch
  • 30-minute timeout - prevents hung builds
  • Release build check - verifies release build succeeds (not just debug)
  • App bundle verification - runs build.sh, verifies .app exists and codesign passes

New Release Workflow (release.yml)

Triggered by pushing a version tag (v*):

  1. Builds release binary and .app bundle
  2. Runs test suite
  3. Creates DMG with drag-to-Applications installer
  4. Creates ZIP archive
  5. Generates SHA-256 checksums
  6. Publishes a draft GitHub Release with all artifacts

New Release Documentation (docs/RELEASE.md)

  • Complete release process with checklist
  • Versioning conventions (semver)
  • CI workflow descriptions
  • Manual release instructions (without CI)
  • Hotfix process
  • Code signing roadmap (ad-hoc now, Developer ID later)

How to Release

After merging this PR:

git tag -a v0.1.0 -m "VocaMac v0.1.0 - Alpha Release"
git push origin v0.1.0

Then review and publish the draft release on GitHub.

CI improvements:
- Add SPM dependency caching for faster builds
- Add concurrency control (cancel in-progress runs)
- Add 30-minute timeout
- Add release build verification step
- Add app bundle creation and codesign verification

New release workflow (release.yml):
- Triggered by version tags (v*)
- Builds release binary and .app bundle
- Creates DMG with drag-to-Applications installer
- Creates ZIP archive
- Generates SHA-256 checksums
- Publishes draft GitHub Release with all artifacts

New docs/RELEASE.md:
- Complete release process documentation
- Version checklist and testing steps
- CI workflow descriptions
- Manual release instructions
- Hotfix process
- Code signing roadmap
@jatinkrmalik

Copy link
Copy Markdown
Member Author

Changes moved to PR #20

@jatinkrmalik
jatinkrmalik deleted the chore/improve-ci-and-release branch March 5, 2026 05:10
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