GitHub torrentclaw org is shadow-banned and the CI lives at git.torrentclaw.com
now. Forgejo Actions is enabled cluster-wide; this moves the workflows into the
runner's natively-watched .forgejo/workflows/ tree and adapts each step so the
existing Forgejo runner ('docker', 'ubuntu-latest' labels) can execute them
without leaning on GitHub-only tooling.
- ci.yml: drop actions/setup-go (use container: golang:1.25), replace
golangci-lint-action with the upstream install.sh, drop codecov-action
(third-party, can re-add later with a Forgejo-compatible variant).
- release.yml: drop goreleaser-action (install via curl), wire GITEA_TOKEN +
the new release.gitea_urls block in .goreleaser.yml so goreleaser publishes
to Forgejo. Sign step swaps 'gh release upload' for curl against the Forgejo
releases API (via the in-cluster forgejo:3000 hostname). VirusTotal job
dropped — depended heavily on 'gh release' wiring; can be reimplemented
against the Forgejo API later if we re-enable it.
- docker-rebuild.yml: drop docker/login-action + docker/build-push-action,
use raw 'docker' commands with manually-installed buildx + qemu. Same
weekly schedule (Mon 04:17 UTC) and same 'latest' refresh behaviour.
- pages.yml: deleted — install.sh / install.ps1 are already served from the
Hetzner releases volume at torrentclaw.com/install.sh, so the GitHub Pages
copy was redundant even before the shadow-ban.
.goreleaser.yml: add release.gitea_urls (api=forgejo:3000, download via the
public Forgejo URL) + prerelease:auto. ship.sh uses '--skip=publish' so local
runs aren't affected by the new release block.
86 lines
2.6 KiB
YAML
86 lines
2.6 KiB
YAML
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:"
|
|
|
|
# Self-hosted Forgejo at git.torrentclaw.com. goreleaser detects GITEA_TOKEN +
|
|
# these URLs and publishes the release there instead of GitHub. Reachable via
|
|
# `forgejo` hostname inside the dokploy-network (the runner shares it); for
|
|
# local goreleaser runs outside the network, override via env GITEA_API_URL.
|
|
release:
|
|
gitea_urls:
|
|
api: http://forgejo:3000/api/v1
|
|
download: https://git.torrentclaw.com
|
|
skip_tls_verify: false
|
|
draft: false
|
|
prerelease: auto
|
|
|
|
# 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"
|