Files
replicate/.goreleaser.yml
zeekay 48f794e96a release: unify Homebrew tap to hanzoai/homebrew (one tap, not per-tool)
Point the goreleaser brew formula at the single hanzoai/homebrew tap
(was the never-created hanzoai/homebrew-replicate — the 401 that failed
every release) and feed it UNIVERSE_PAT, the org-scoped PAT with
cross-repo write (the unset HOMEBREW_TAP_GITHUB_TOKEN fell back to the
repo-local GITHUB_TOKEN, which cannot push to a sibling repo). One tap
for all hanzoai formulae.
2026-07-07 22:36:34 -07:00

191 lines
4.5 KiB
YAML

version: 2
project_name: replicate
before:
hooks:
- go mod tidy
builds:
- id: replicate
main: ./cmd/replicate
binary: replicate
env:
- CGO_ENABLED=0
goos:
- linux
- darwin
- windows
goarch:
- amd64
- arm64
- arm
goarm:
- "6"
- "7"
ldflags:
- -s -w -X main.Version={{.Version}}
ignore:
- goos: windows
goarch: arm
- goos: darwin
goarch: arm
archives:
- id: main
formats:
- tar.gz
format_overrides:
- goos: windows
formats:
- zip
name_template: >-
{{ .ProjectName }}-
{{- .Version }}-
{{- .Os }}-
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
files:
- etc/replicate.yml
- etc/replicate.service
- README.md
- LICENSE
nfpms:
- vendor: Hanzo AI
homepage: https://github.com/hanzoai/replicate
maintainer: Hanzo AI <[email protected]>
description: Streaming replication for SQLite databases
license: Apache 2.0
formats:
- deb
- rpm
contents:
- src: etc/replicate.yml
dst: /etc/replicate.yml
type: config
- src: etc/replicate.service
dst: /lib/systemd/system/replicate.service
type: config
bindir: /usr/bin
file_name_template: >-
{{ .ProjectName }}-
{{- .Version }}-
{{- .Os }}-
{{- if eq .Arch "amd64" }}x86_64
{{- else if eq .Arch "386" }}i386
{{- else }}{{ .Arch }}{{ end }}
{{- if .Arm }}v{{ .Arm }}{{ end }}
brews:
- name: replicate
homepage: https://github.com/hanzoai/replicate
description: Streaming replication for SQLite databases
license: Apache-2.0
repository:
owner: hanzoai
name: homebrew
branch: main
token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}"
install: |
bin.install "replicate"
etc.install "etc/replicate.yml" => "replicate.yml"
test: |
system "#{bin}/replicate", "version"
commit_author:
name: goreleaser
email: [email protected]
checksum:
name_template: 'checksums.txt'
algorithm: sha256
snapshot:
version_template: "{{ .Tag }}-next"
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
- '^chore:'
- 'Merge pull request'
- 'Merge branch'
release:
github:
owner: hanzoai
name: replicate
draft: false
prerelease: auto
mode: replace
header: |
## Platform Support
⚠️ **Windows Notice**: Windows binaries are provided for convenience but Windows is NOT an officially supported platform. Use at your own risk. Community contributions for Windows improvements are welcome.
✅ **Supported Platforms**: Linux (amd64, arm64, armv6, armv7), macOS (amd64, arm64)
## Installation
### Homebrew (macOS and Linux)
```bash
brew tap hanzoai/replicate
brew install replicate
```
### Debian/Ubuntu
Download the `.deb` file for your architecture and install:
```bash
sudo dpkg -i replicate-*.deb
```
### RPM-based systems
Download the `.rpm` file for your architecture and install:
```bash
sudo rpm -i replicate-*.rpm
```
### Binary installation
Download the appropriate archive for your platform, extract, and move to your PATH.
## VFS Extension (Experimental)
SQLite loadable extensions for read-only access to Replicate replicas are available for supported platforms:
| Platform | File |
|----------|------|
| Linux x86_64 | `replicate-vfs-v{{.Version}}-linux-amd64.tar.gz` |
| Linux ARM64 | `replicate-vfs-v{{.Version}}-linux-arm64.tar.gz` |
| macOS Intel | `replicate-vfs-v{{.Version}}-darwin-amd64.tar.gz` |
| macOS Apple Silicon | `replicate-vfs-v{{.Version}}-darwin-arm64.tar.gz` |
Install via package managers:
```bash
pip install replicate-vfs # Python
npm install replicate-vfs # Node.js
gem install replicate-vfs # Ruby
```
# Signing configuration
# signs:
# - id: macos
# cmd: gon
# args:
# - "{{ .ProjectPath }}/gon-sign.hcl"
# artifacts: archive
# ids:
# - main
# signature: "${artifact}.zip"
# output: true
# env:
# - APPLE_DEVELOPER_ID_APPLICATION={{ .Env.APPLE_DEVELOPER_ID }}
# - APPLE_DEVELOPER_TEAM_ID={{ .Env.APPLE_TEAM_ID }}
# - AC_PASSWORD={{ .Env.AC_PASSWORD }}
sboms:
- artifacts: archive