Build and publish only linux/amd64 and windows/amd64
CI / test (push) Successful in 1m58s

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
VeillaxandClaude Sonnet 5.5 committed 2026-10-26 15:48:51 -06:00
1 parent 23550176a6
commit 7597f12db9
4 files changed
+7 -6

No files matched your search

+1 -1
View File
@@ -44,7 +44,7 @@ jobs:
# Catches platform-specific breakage before a release is tagged. # Catches platform-specific breakage before a release is tagged.
- name: Every release platform compiles - name: Every release platform compiles
run: | 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" echo "building for $t"
GOOS=${t%/*} GOARCH=${t#*/} GOARM=7 CGO_ENABLED=0 go build -o /dev/null ./cmd/blacktip GOOS=${t%/*} GOARCH=${t#*/} GOARM=7 CGO_ENABLED=0 go build -o /dev/null ./cmd/blacktip
done done
+1 -1
View File
@@ -59,4 +59,4 @@ jobs:
*-*) ;; # pre-releases (v1.0.0-rc1) don't move :latest *-*) ;; # pre-releases (v1.0.0-rc1) don't move :latest
*) tags="$tags -t $image:latest" ;; *) tags="$tags -t $image:latest" ;;
esac esac
docker buildx build --platform linux/amd64,linux/arm64 $tags --push . docker buildx build --platform linux/amd64 $tags --push .
+2 -2
View File
@@ -38,7 +38,7 @@ Settings and secrets can live in a `.env` file instead of the command line; see
## Deploying ## 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)** **On a Linux server (systemd)**
@@ -52,7 +52,7 @@ sudoedit /etc/blacktip/blacktip.env # your settings and secrets
sudo systemctl start blacktip 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** **Updates**
+3 -2
View File
@@ -8,12 +8,13 @@
# dist/blacktip_<version>_<os>_<arch>.tar.gz or .zip # dist/blacktip_<version>_<os>_<arch>.tar.gz or .zip
# dist/SHA256SUMS # 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 set -eu
NAME=blacktip NAME=blacktip
cd "$(dirname "$0")/.." cd "$(dirname "$0")/.."
VERSION=${1:-$(git describe --tags --always 2>/dev/null || echo dev)} 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 rm -rf dist
mkdir -p dist/bin dist/stage mkdir -p dist/bin dist/stage