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
- Checkout code
- Setup Bun
- Install dependencies
- Run
bun run build (or equivalent)
- Create GitHub Release
- 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
Goal
Automate binary builds and GitHub Releases so users can download pre-built binaries.
Workflow Design
Trigger
Build Matrix
Steps
bun run build(or equivalent)Release Format
v1.0.0v1.0.0Reference
The upstream
publish.ymlhad similar logic but also published to npm/Tauri. We only need the binary build + GitHub Release part.Acceptance Criteria