version: 2 project_name: unarr # Pre-build hook: fetch static ffmpeg + ffprobe per platform so each # release tarball ships them adjacent to the unarr binary. ResolveFFmpeg / # ResolveFFprobe pick them up via the "adjacent to executable" branch — no # system install or runtime download needed. before: hooks: - bash scripts/download-ffmpeg-static.sh builds: - main: ./cmd/unarr/ binary: unarr env: - CGO_ENABLED=0 goos: - linux - darwin - windows goarch: - amd64 - arm64 ldflags: - -s -w - -X github.com/torrentclaw/unarr/internal/cmd.Version={{.Version}} - -X github.com/torrentclaw/unarr/internal/sentry.dsn={{ .Env.SENTRY_DSN }} # Release-signing public key — verified by the self-updater against # checksums.txt.sig. Empty when not configured; in that case # signature verification is skipped and a warning is logged. - -X github.com/torrentclaw/unarr/internal/upgrade.releasePubKeyBase64={{ .Env.RELEASE_SIGNING_PUBKEY }} archives: - formats: [tar.gz] name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}" format_overrides: - goos: windows formats: [zip] files: - LICENSE* - README* # Bundle the matching ffmpeg + ffprobe (filename includes .exe on Windows # because download-ffmpeg-static.sh writes ffmpeg.exe / ffprobe.exe there). - src: "dist-ffbinaries/{{ .Os }}-{{ .Arch }}/*" dst: . strip_parent: true info: mode: 0o755 checksum: name_template: "checksums.txt" changelog: sort: asc filters: exclude: - "^docs:" - "^test:" - "^chore:" # Homebrew tap — requires PAT with repo scope (not GITHUB_TOKEN) # Enable when torrentclaw/homebrew-tap PAT is configured as HOMEBREW_TAP_TOKEN # brews: # - repository: # owner: torrentclaw # name: homebrew-tap # token: "{{ .Env.HOMEBREW_TAP_TOKEN }}" # name: unarr # homepage: https://github.com/torrentclaw/unarr # description: "unarr — replaces the entire *arr stack" # license: MIT # install: | # bin.install "unarr"