Skip to content

Add release automation workflow (GitHub Actions) #59

@dhilgaertner

Description

@dhilgaertner

Parent Issue

Part of #52 — Open Source Readiness & Launch Strategy

Overview

Automate the release process so that tagging a version produces signed binaries, a .app bundle, and a GitHub Release with attached artifacts.

Scope

  • Create .github/workflows/release.yml
  • Trigger on: push of version tags (e.g., v*.*.*)
  • Build release binary via make release
  • Create .app bundle via scripts/bundle.sh
  • Package as DMG (using hdiutil or create-dmg)
  • Create GitHub Release with release notes
  • Attach DMG as release artifact
  • Auto-generate changelog from commits/PRs since last tag
  • Consider: Homebrew tap auto-update (publish to radiusmethod/homebrew-tap)
  • Consider: release candidate workflow (pre-release tags like v0.2.0-rc.1)

Technical Notes

  • Current bundle.sh creates Crow.app with hardcoded version 0.1.0 — needs to accept version from tag
  • generate-build-info.sh captures git SHA and build date for AboutView
  • Code signing and notarization should be integrated here (see separate issue)
  • Bundle identifier: com.radiusmethod.crow

Dependencies

Acceptance Criteria

  • Pushing a version tag triggers automated release
  • GitHub Release is created with release notes and DMG artifact
  • Version in app matches the tag

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions