Skip to content

[CI] GitHub Action for building and releasing binaries #24

Description

@randomm

Goal

Automate binary builds and GitHub Releases so users can download pre-built binaries.

Workflow Design

Trigger

on:
  push:
    tags:
      - 'v*.*.*'

Build Matrix

Platform Architecture Binary Name
macOS arm64 opencode-darwin-arm64
macOS x64 opencode-darwin-x64
Linux arm64 opencode-linux-arm64
Linux x64 opencode-linux-x64
Windows x64 opencode-windows-x64.exe

Steps

  1. Checkout code
  2. Setup Bun
  3. Install dependencies
  4. Run bun run build (or equivalent)
  5. Create GitHub Release
  6. Upload binaries as release assets

Release Format

  • Tag: v1.0.0
  • Release title: v1.0.0
  • Assets: All platform binaries
  • Auto-generate release notes from commits

Reference

The upstream publish.yml had similar logic but also published to npm/Tauri. We only need the binary build + GitHub Release part.

Acceptance Criteria

  • Workflow triggers on version tags
  • Builds for all 5 platform/arch combinations
  • Creates GitHub Release automatically
  • Binaries downloadable from Releases page
  • Build completes in reasonable time (<10 min)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions