feat: added android support for running with termux Adds GOOS=android arm64 build to goreleaser and platform detection in npm postinstall. Tested by contributor on Termux where os.platform() returns 'android' and Linux binaries fail due to bionic vs glibc.
245 lines
5.3 KiB
YAML
245 lines
5.3 KiB
YAML
# GoReleaser configuration for beads
|
|
# See https://goreleaser.com for documentation
|
|
|
|
version: 2
|
|
|
|
before:
|
|
hooks:
|
|
# Ensure dependencies are up to date
|
|
- go mod tidy
|
|
|
|
builds:
|
|
- id: bd-linux-amd64
|
|
main: ./cmd/bd
|
|
binary: bd
|
|
env:
|
|
- CGO_ENABLED=1
|
|
goos:
|
|
- linux
|
|
goarch:
|
|
- amd64
|
|
ldflags:
|
|
- -s -w
|
|
- -X main.Version={{.Version}}
|
|
- -X main.Build={{.ShortCommit}}
|
|
- -X main.Commit={{.Commit}}
|
|
- -X main.Branch={{.Branch}}
|
|
|
|
- id: bd-linux-arm64
|
|
main: ./cmd/bd
|
|
binary: bd
|
|
env:
|
|
- CGO_ENABLED=1
|
|
- CC=aarch64-linux-gnu-gcc
|
|
- CXX=aarch64-linux-gnu-g++
|
|
goos:
|
|
- linux
|
|
goarch:
|
|
- arm64
|
|
ldflags:
|
|
- -s -w
|
|
- -X main.Version={{.Version}}
|
|
- -X main.Build={{.ShortCommit}}
|
|
- -X main.Commit={{.Commit}}
|
|
- -X main.Branch={{.Branch}}
|
|
|
|
- id: bd-android-arm64
|
|
main: ./cmd/bd
|
|
binary: bd
|
|
env:
|
|
- CGO_ENABLED=0
|
|
goos:
|
|
- android
|
|
goarch:
|
|
- arm64
|
|
ldflags:
|
|
- -s -w
|
|
- -X main.Version={{.Version}}
|
|
- -X main.Build={{.ShortCommit}}
|
|
- -X main.Commit={{.Commit}}
|
|
- -X main.Branch={{.Branch}}
|
|
|
|
- id: bd-darwin-amd64
|
|
main: ./cmd/bd
|
|
binary: bd
|
|
env:
|
|
- CGO_ENABLED=1
|
|
goos:
|
|
- darwin
|
|
goarch:
|
|
- amd64
|
|
ldflags:
|
|
- -s -w
|
|
- -X main.Version={{.Version}}
|
|
- -X main.Build={{.ShortCommit}}
|
|
- -X main.Commit={{.Commit}}
|
|
- -X main.Branch={{.Branch}}
|
|
|
|
- id: bd-darwin-arm64
|
|
main: ./cmd/bd
|
|
binary: bd
|
|
env:
|
|
- CGO_ENABLED=1
|
|
goos:
|
|
- darwin
|
|
goarch:
|
|
- arm64
|
|
ldflags:
|
|
- -s -w
|
|
- -X main.Version={{.Version}}
|
|
- -X main.Build={{.ShortCommit}}
|
|
- -X main.Commit={{.Commit}}
|
|
- -X main.Branch={{.Branch}}
|
|
|
|
- id: bd-windows-amd64
|
|
main: ./cmd/bd
|
|
binary: bd
|
|
env:
|
|
- CGO_ENABLED=1
|
|
- CC=x86_64-w64-mingw32-gcc
|
|
- CXX=x86_64-w64-mingw32-g++
|
|
goos:
|
|
- windows
|
|
goarch:
|
|
- amd64
|
|
ldflags:
|
|
- -s -w
|
|
- -X main.Version={{.Version}}
|
|
- -X main.Build={{.ShortCommit}}
|
|
- -X main.Commit={{.Commit}}
|
|
- -X main.Branch={{.Branch}}
|
|
- -buildmode=exe
|
|
hooks:
|
|
post:
|
|
# Sign Windows executable with Authenticode certificate
|
|
# Requires WINDOWS_SIGNING_CERT_PFX_BASE64 and WINDOWS_SIGNING_CERT_PASSWORD secrets
|
|
- ./scripts/sign-windows.sh "{{ .Path }}"
|
|
|
|
- id: bd-windows-arm64
|
|
main: ./cmd/bd
|
|
binary: bd
|
|
env:
|
|
- CGO_ENABLED=0
|
|
goos:
|
|
- windows
|
|
goarch:
|
|
- arm64
|
|
ldflags:
|
|
- -s -w
|
|
- -X main.Version={{.Version}}
|
|
- -X main.Build={{.ShortCommit}}
|
|
- -X main.Commit={{.Commit}}
|
|
- -X main.Branch={{.Branch}}
|
|
- -buildmode=exe
|
|
hooks:
|
|
post:
|
|
# Sign Windows executable with Authenticode certificate
|
|
# Requires WINDOWS_SIGNING_CERT_PFX_BASE64 and WINDOWS_SIGNING_CERT_PASSWORD secrets
|
|
- ./scripts/sign-windows.sh "{{ .Path }}"
|
|
|
|
- id: bd-freebsd-amd64
|
|
main: ./cmd/bd
|
|
binary: bd
|
|
env:
|
|
- CGO_ENABLED=0
|
|
goos:
|
|
- freebsd
|
|
goarch:
|
|
- amd64
|
|
ldflags:
|
|
- -s -w
|
|
- -X main.Version={{.Version}}
|
|
- -X main.Build={{.ShortCommit}}
|
|
- -X main.Commit={{.Commit}}
|
|
- -X main.Branch={{.Branch}}
|
|
|
|
archives:
|
|
- id: bd-archive
|
|
format: tar.gz
|
|
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
|
|
format_overrides:
|
|
- goos: windows
|
|
format: zip
|
|
files:
|
|
- LICENSE
|
|
- README.md
|
|
- CHANGELOG.md
|
|
|
|
checksum:
|
|
name_template: "checksums.txt"
|
|
algorithm: sha256
|
|
|
|
snapshot:
|
|
version_template: "{{ incpatch .Version }}-next"
|
|
|
|
changelog:
|
|
sort: asc
|
|
filters:
|
|
exclude:
|
|
- "^docs:"
|
|
- "^test:"
|
|
- "^chore:"
|
|
- "Merge pull request"
|
|
- "Merge branch"
|
|
groups:
|
|
- title: "Features"
|
|
regexp: '^.*feat(\(\w+\))?:.*$'
|
|
order: 0
|
|
- title: "Bug Fixes"
|
|
regexp: '^.*fix(\(\w+\))?:.*$'
|
|
order: 1
|
|
- title: "Others"
|
|
order: 999
|
|
|
|
release:
|
|
github:
|
|
owner: steveyegge
|
|
name: beads
|
|
draft: false
|
|
prerelease: auto
|
|
name_template: "v{{.Version}}"
|
|
header: |
|
|
## beads v{{.Version}}
|
|
|
|
Pre-compiled binaries for Linux, macOS (Intel & Apple Silicon), Windows (AMD64 & ARM64), Android/Termux (ARM64), and FreeBSD.
|
|
|
|
### Installation
|
|
|
|
**Homebrew (macOS/Linux):**
|
|
```bash
|
|
brew install steveyegge/beads/bd
|
|
```
|
|
|
|
**Quick Install (macOS/Linux):**
|
|
```bash
|
|
curl -sSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash
|
|
```
|
|
|
|
**Windows (PowerShell):**
|
|
```powershell
|
|
irm https://raw.githubusercontent.com/steveyegge/beads/main/install.ps1 | iex
|
|
```
|
|
|
|
**Manual Install:**
|
|
Download the appropriate binary for your platform below, extract it, and place it in your PATH.
|
|
|
|
# Homebrew tap - disabled, handled by separate workflow
|
|
# brews:
|
|
# - name: bd
|
|
# repository:
|
|
# owner: steveyegge
|
|
# name: homebrew-beads
|
|
# branch: main
|
|
# directory: Formula
|
|
# homepage: https://github.com/steveyegge/beads
|
|
# description: "AI-supervised issue tracker for coding workflows"
|
|
# license: MIT
|
|
# test: |
|
|
# system "#{bin}/bd", "version"
|
|
# install: |
|
|
# bin.install "bd"
|
|
|
|
# Announce the release
|
|
announce:
|
|
skip: false
|