From 7597f12db98f8ace01fd3b82026744161040227d Mon Sep 17 00:00:00 2001 From: Veillax <126523099+Veillax@users.noreply.github.com> Date: Mon, 26 Oct 2026 15:48:51 -0600 Subject: [PATCH] Build and publish only linux/amd64 and windows/amd64 Co-Authored-By: Claude Sonnet 5.5 --- .gitea/workflows/ci.yml | 2 +- .gitea/workflows/release.yml | 2 +- README.md | 4 ++-- deploy/build.sh | 5 +++-- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 0a2a01e..cf03a8d 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -44,7 +44,7 @@ jobs: # Catches platform-specific breakage before a release is tagged. - name: Every release platform compiles run: | - for t in linux/amd64 linux/arm64 linux/arm windows/amd64 darwin/amd64 darwin/arm64; do + for t in linux/amd64 windows/amd64; do echo "building for $t" GOOS=${t%/*} GOARCH=${t#*/} GOARM=7 CGO_ENABLED=0 go build -o /dev/null ./cmd/blacktip done diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 73e9d80..db1666b 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -59,4 +59,4 @@ jobs: *-*) ;; # pre-releases (v1.0.0-rc1) don't move :latest *) tags="$tags -t $image:latest" ;; esac - docker buildx build --platform linux/amd64,linux/arm64 $tags --push . + docker buildx build --platform linux/amd64 $tags --push . diff --git a/README.md b/README.md index 85dae98..18c6837 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ Settings and secrets can live in a `.env` file instead of the command line; see ## Deploying -Releases are built by Gitea Actions. Pushing a tag such as `v0.2.0` runs `.gitea/workflows/release.yml`, which tests the code, builds Blacktip for Linux (amd64, arm64, armv7), Windows (amd64) and macOS (amd64, arm64), publishes the archives with a `SHA256SUMS` file on the Releases page, and pushes a multi-architecture container image to this server's registry (`git.veillax.com/veillax/blacktip`). Every push and pull request runs `.gitea/workflows/ci.yml`: formatting, vet, tests, and a check that every release platform still compiles. +Releases are built by Gitea Actions. Pushing a tag such as `v0.2.0` runs `.gitea/workflows/release.yml`, which tests the code, builds Blacktip for Linux (amd64) and Windows (amd64), publishes the archives with a `SHA256SUMS` file on the Releases page, and pushes a container image (linux/amd64) to this server's registry (`git.veillax.com/veillax/blacktip`). Every push and pull request runs `.gitea/workflows/ci.yml`: formatting, vet, tests, and a check that every release platform still compiles. **On a Linux server (systemd)** @@ -52,7 +52,7 @@ sudoedit /etc/blacktip/blacktip.env # your settings and secrets sudo systemctl start blacktip ``` -Use `linux_arm64` or `linux_arm` for Raspberry Pi and other ARM machines. To upgrade, repeat the same steps: your settings and data are kept. `sudo ./install.sh --uninstall` removes the service and binary but leaves `/etc/blacktip` and `/var/lib/blacktip` alone. `blacktip -version` tells you which build is running. +Releases are published for x86-64 only; for ARM machines build it yourself (`TARGETS=linux/arm64 sh deploy/build.sh`). To upgrade, repeat the same steps: your settings and data are kept. `sudo ./install.sh --uninstall` removes the service and binary but leaves `/etc/blacktip` and `/var/lib/blacktip` alone. `blacktip -version` tells you which build is running. **Updates** diff --git a/deploy/build.sh b/deploy/build.sh index 1747e3f..b8d524f 100644 --- a/deploy/build.sh +++ b/deploy/build.sh @@ -8,12 +8,13 @@ # dist/blacktip___.tar.gz or .zip # dist/SHA256SUMS # -# Set TARGETS="linux/amd64 linux/arm64" to build fewer platforms. +# Releases are published for linux/amd64 and windows/amd64 only. Set TARGETS="linux/arm64 darwin/arm64" +# (any GOOS/GOARCH pair Go supports) to build something else by hand. set -eu NAME=blacktip cd "$(dirname "$0")/.." VERSION=${1:-$(git describe --tags --always 2>/dev/null || echo dev)} -TARGETS=${TARGETS:-"linux/amd64 linux/arm64 linux/arm windows/amd64 darwin/amd64 darwin/arm64"} +TARGETS=${TARGETS:-"linux/amd64 windows/amd64"} rm -rf dist mkdir -p dist/bin dist/stage