Updates slackpath-2 and slackpath-4 to use POST /projects/{id}/components/batch
for adding multiple Go components atomically in a single git commit. This
prevents the go.work race condition where individual commits reference modules
that don't exist yet.
Also adds on_error: continue for infrastructure provisioning steps that may
already exist from skeleton (redis, postgres).
Verified:
- slackpath-1: ✅ Complete (wait_build polled 5 times, detected success)
- slackpath-2: ✅ Complete (wait_build polled 111 times, detected success)
- slackpath-3: ✅ Infrastructure passed (worker capacity limited testing)
- slackpath-4: ✅ Infrastructure passed (worker capacity limited testing)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
30 lines
736 B
Cheetah
30 lines
736 B
Cheetah
# Build stage
|
|
FROM golang:1.23-alpine AS builder
|
|
|
|
RUN apk add --no-cache git
|
|
|
|
# Configure Go private modules
|
|
# Disable workspace mode - each component builds independently with replace directives
|
|
ENV GOPRIVATE=git.threesix.ai/*
|
|
ENV GOWORK=off
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy shared pkg and this worker only
|
|
COPY pkg/ ./pkg/
|
|
COPY workers/{{COMPONENT_NAME}}/ ./workers/{{COMPONENT_NAME}}/
|
|
|
|
# Build from the worker directory (uses replace directive for ../pkg)
|
|
RUN cd workers/{{COMPONENT_NAME}} && CGO_ENABLED=0 go build -o /{{COMPONENT_NAME}} ./cmd/worker
|
|
|
|
# Production stage
|
|
FROM alpine:3.19
|
|
|
|
RUN apk add --no-cache ca-certificates tzdata
|
|
|
|
WORKDIR /
|
|
|
|
COPY --from=builder /{{COMPONENT_NAME}} /{{COMPONENT_NAME}}
|
|
|
|
ENTRYPOINT ["/{{COMPONENT_NAME}}"]
|