Skip to content

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

@randomm

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)

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