From 2d47edbee2fd5241b96fc2a48554ce717e04e0cd Mon Sep 17 00:00:00 2001 From: Hugo Nijhuis Date: Sat, 10 Jan 2026 23:56:19 +0100 Subject: [PATCH] Fix CI workflow - auto-detect architecture The Gitea runner uses ARM64, not x86_64. Detect architecture at runtime and download the appropriate NATS server binary. Co-Authored-By: Claude Opus 4.5 --- .gitea/workflows/ci.yaml | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 56eb01b..e943bae 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -27,13 +27,27 @@ jobs: go-version: '1.23' - name: Install and Start NATS Server run: | - # Download nats-server - curl -L https://github.com/nats-io/nats-server/releases/download/v2.10.24/nats-server-v2.10.24-linux-amd64.tar.gz -o nats-server.tar.gz + # Detect architecture and download appropriate binary + ARCH=$(uname -m) + if [ "$ARCH" = "x86_64" ]; then + NATS_ARCH="amd64" + elif [ "$ARCH" = "aarch64" ] || [ "$ARCH" = "arm64" ]; then + NATS_ARCH="arm64" + else + echo "Unsupported architecture: $ARCH" + exit 1 + fi + echo "Detected architecture: $ARCH, using NATS binary: $NATS_ARCH" + + # Download and extract nats-server + curl -L "https://github.com/nats-io/nats-server/releases/download/v2.10.24/nats-server-v2.10.24-linux-${NATS_ARCH}.tar.gz" -o nats-server.tar.gz tar -xzf nats-server.tar.gz - # Run directly from extracted location (no sudo needed) - ./nats-server-v2.10.24-linux-amd64/nats-server -js -p 4222 & + + # Start NATS with JetStream + ./nats-server-v2.10.24-linux-${NATS_ARCH}/nats-server -js -p 4222 & + # Wait for NATS to be ready sleep 3 - ./nats-server-v2.10.24-linux-amd64/nats-server --version + ./nats-server-v2.10.24-linux-${NATS_ARCH}/nats-server --version - name: Run Integration Tests run: go test -tags=integration -v ./...