Files
litestream/.goreleaser.yml
2025-12-01 13:23:30 -07:00

183 lines
4.3 KiB
YAML

version: 2
project_name: litestream
before:
hooks:
- go mod tidy
builds:
- id: litestream
main: ./cmd/litestream
binary: litestream
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/litestream.yml
- etc/litestream.service
- README.md
- LICENSE
nfpms:
- vendor: Litestream
homepage: https://litestream.io
maintainer: Litestream Contributors <benbjohnson@yahoo.com>
description: Streaming replication for SQLite databases
license: Apache 2.0
formats:
- deb
- rpm
contents:
- src: etc/litestream.yml
dst: /etc/litestream.yml
type: config
- src: etc/litestream.service
dst: /lib/systemd/system/litestream.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: litestream
# homepage: https://litestream.io
# description: Streaming replication for SQLite databases
# license: Apache-2.0
# repository:
# owner: benbjohnson
# name: homebrew-litestream
# branch: main
# install: |
# bin.install "litestream"
# etc.install "etc/litestream.yml" => "litestream.yml"
# test: |
# system "#{bin}/litestream", "version"
# commit_author:
# name: goreleaser
# email: bot@goreleaser.com
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: benbjohnson
name: litestream
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 benbjohnson/litestream
brew install litestream
```
### Debian/Ubuntu
Download the `.deb` file for your architecture and install:
```bash
sudo dpkg -i litestream-*.deb
```
### RPM-based systems
Download the `.rpm` file for your architecture and install:
```bash
sudo rpm -i litestream-*.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 Litestream replicas are available for supported platforms:
| Platform | File |
|----------|------|
| Linux x86_64 | `litestream-vfs-v{{.Version}}-linux-amd64.tar.gz` |
| Linux ARM64 | `litestream-vfs-v{{.Version}}-linux-arm64.tar.gz` |
| macOS Intel | `litestream-vfs-v{{.Version}}-darwin-amd64.tar.gz` |
| macOS Apple Silicon | `litestream-vfs-v{{.Version}}-darwin-arm64.tar.gz` |
# 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