Files
Joshua King 35136cb9ad
Build (Dev) / build (push) Successful in 11s
CI/CD / lint-and-typecheck (push) Successful in 7s
CI/CD / test (push) Successful in 7s
CI/CD / build (push) Failing after 8s
CI/CD / deploy (push) Has been skipped
ci: install Go via setup-go (go-react image has Node but not Go)
build-dev failed with "go: command not found" — the go-react image ships
Node but no Go. Restore setup-go (its static Go binary runs on this runner,
unlike setup-node's dynamic Node), and keep Node from the image.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 09:52:14 -04:00

53 lines
1.5 KiB
YAML

name: Build (Dev)
on:
push:
branches:
- dev
workflow_dispatch:
env:
BINARY_NAME: remoterig
jobs:
build:
runs-on: go-react
steps:
- name: Checkout
uses: actions/checkout@v4
# go-react has Node but not Go. setup-go installs a statically-linked
# Go that runs fine here; setup-node's dynamically-linked Node does
# not (so Node comes from the image instead).
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: "1.25"
- name: Toolchain versions
run: |
go version
node --version
- name: Build React frontend
run: |
npm ci
npm run build
- name: Build Go binary (ARM64 cross-compile)
run: |
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 \
go build -ldflags="-s -w -X main.version=${GITHUB_SHA:0:8}" \
-o ${{ env.BINARY_NAME }} ./cmd/server
# Pull-based deploy: publish the binary to a rolling "dev" release.
# The Pi polls this release and self-updates (scripts/pi-update.sh);
# the runner never needs to reach the closed RemoteRig network.
# Done in Node (runner image has no curl/jq/sudo; Node is present).
- name: Publish to rolling dev release
env:
TOKEN: ${{ secrets.GITHUB_TOKEN }}
SERVER: ${{ github.server_url }}
REPO: ${{ github.repository }}
SHA: ${{ github.sha }}
run: node .gitea/scripts/publish-release.mjs