Files
multica/.goreleaser.yml

93 lines
2.3 KiB
YAML

version: 2
project_name: multica
release:
# GitHub rejects duplicate asset names with 422. On a same-tag rerun,
# replace only the matching CLI artifact and retry the upload; unrelated
# release assets (for example manually published macOS builds) stay intact.
replace_existing_artifacts: true
builds:
- id: multica
main: ./cmd/multica
dir: server
binary: multica
ldflags:
- -s -w
- -X main.version={{.Version}}
- -X main.commit={{.ShortCommit}}
- -X main.buildCommit={{.FullCommit}}
- -X main.date={{.Date}}
env:
- CGO_ENABLED=0
goos:
- darwin
- linux
- windows
goarch:
- amd64
- arm64
archives:
# Legacy archive name kept so already-released CLIs (whose `multica update`
# looks for `multica_{os}_{arch}.{ext}`) can keep self-updating. Remove
# once those versions are no longer in use.
- id: legacy
files:
- LICENSE*
- README*
- NOTICE
formats:
- tar.gz
format_overrides:
- goos: windows
formats:
- zip
name_template: "{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}"
# Versioned archive name used by current CLI / install scripts /
# desktop bootstrap going forward.
- id: versioned
files:
- LICENSE*
- README*
- NOTICE
formats:
- tar.gz
format_overrides:
- goos: windows
formats:
- zip
name_template: "{{ .ProjectName }}-cli-{{ .Version }}-{{ .Os }}-{{ .Arch }}"
checksum:
name_template: "checksums.txt"
changelog:
sort: asc
filters:
exclude:
- "^docs:"
- "^test:"
- "^chore:"
brews:
- name: multica
ids:
- versioned
repository:
owner: multica-ai
name: homebrew-tap
branch: main
token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}"
directory: Formula
homepage: "https://github.com/multica-ai/multica"
description: "Multica CLI — local agent runtime and management tool for the Multica platform"
# No license stanza: Multica ships under the Multica License (Apache 2.0
# terms with additional conditions, see LICENSE), which has no SPDX
# identifier, so declaring "Apache-2.0" here would be a false claim.
install: |
bin.install "multica"
test: |
system "#{bin}/multica", "version"