c3d09d3bd4
Build & push image / build-and-push (push) Successful in 6s
Phase 3: one consolidated, live-updating PR comment aggregating every model's per-lens progress (queued -> running -> finished + verdict), so the swarm's progress is visible at a glance and a watcher can tell when it's done. Opt-in statusWriter in the binary (atomic writes) + a background status-board.sh renderer wired through entrypoint.sh; default on, GADFLY_STATUS_BOARD=0 to disable. Also restores gadfly's dogfood swarm to the full cloud fleet (9 cloud + M5; M1 dropped as too slow) matching mort, and folds in the 3 real bugs the swarm found on its own PR (skip-binary stuck-waiting, panic-stuck lens, busy-loop on bad poll interval). All 36 findings graded via the gadfly MCP (18 real / 18 false-positive). gofmt clean, go vet quiet, go build + go test -race green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Steve Dudenhoeffer <steve@stevedudenhoeffer.com> Co-committed-by: Steve Dudenhoeffer <steve@stevedudenhoeffer.com>
33 lines
1.3 KiB
Docker
33 lines
1.3 KiB
Docker
# syntax=docker/dockerfile:1
|
|
#
|
|
# Multi-stage so the private-module credentials (used to fetch the majordomo
|
|
# dependency) live ONLY in the build stage via BuildKit secrets and never land
|
|
# in the final image. Mirrors mort's Dockerfile secret idiom.
|
|
|
|
FROM golang:1.26 AS build
|
|
ARG GIT_HOST=gitea.stevedudenhoeffer.com
|
|
ENV CGO_ENABLED=0 \
|
|
GOFLAGS=-mod=mod \
|
|
GOSUMDB=off \
|
|
GOTOOLCHAIN=auto
|
|
ENV GOPRIVATE=${GIT_HOST}/* GONOSUMDB=${GIT_HOST}/*
|
|
WORKDIR /src
|
|
COPY go.mod go.sum ./
|
|
RUN --mount=type=secret,id=REGISTRY_USER \
|
|
--mount=type=secret,id=REGISTRY_PASSWORD \
|
|
--mount=type=cache,target=/go/pkg/mod \
|
|
git config --global url."https://$(cat /run/secrets/REGISTRY_USER):$(cat /run/secrets/REGISTRY_PASSWORD)@${GIT_HOST}/".insteadOf "https://${GIT_HOST}/" \
|
|
&& go mod download
|
|
COPY . .
|
|
RUN --mount=type=cache,target=/go/pkg/mod \
|
|
--mount=type=cache,target=/root/.cache/go-build \
|
|
go build -trimpath -ldflags="-s -w" -o /out/gadfly ./cmd/gadfly
|
|
|
|
FROM alpine:3.20
|
|
RUN apk add --no-cache bash git curl jq ca-certificates
|
|
COPY --from=build /out/gadfly /usr/local/bin/gadfly
|
|
COPY scripts /app/scripts
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh /app/scripts/run.sh /app/scripts/status-board.sh /usr/local/bin/gadfly
|
|
ENTRYPOINT ["/entrypoint.sh"]
|