ci: merge test+build+push into single pipeline (#1)
CI / test-build-push (push) Failing after 1m57s

Merge ci.yaml + build-push.yml into single CI pipeline. Single job: vet → test → build binary → build image → push. Image push gated on main push only. Fixed Dockerfile to golang:1.26, build cmd/worker, removed HTTP healthcheck.

---------

Co-authored-by: Test <[email protected]>
Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
2026-09-06 13:18:10 +00:00
co-authored by Test
parent 7ed0642819
commit e81bfbc98d
3 changed files with 43 additions and 72 deletions
+11 -13
View File
@@ -1,22 +1,20 @@
FROM golang:1.21-alpine as builder
FROM golang:1.26-alpine AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -o workflows ./cmd/poimen/main.go
FROM alpine:latest
# Re-use CI-built binary if present, otherwise build
ARG BINARY_PATH=
RUN if [ -n "$BINARY_PATH" ] && [ -f "$BINARY_PATH" ]; then \
cp "$BINARY_PATH" worker; \
else \
CGO_ENABLED=0 GOOS=linux go build -o worker ./cmd/worker; \
fi
FROM alpine:3.20
RUN apk --no-cache add ca-certificates
WORKDIR /app
COPY --from=builder /app/workflows .
EXPOSE 8080
HEALTHCHECK --interval=10s --timeout=5s --start-period=10s --retries=3 \
CMD wget --no-verbose --tries=1 --spider http://localhost:8080/health || exit 1
ENTRYPOINT ["./workflows"]
COPY --from=builder /app/worker .
ENTRYPOINT ["./worker"]