Build & Deploy / Build & push images (push) Successful in 4m35s
Build & Deploy / Deploy Firestore rules & indexes (push) Successful in 1m34s
Build & Deploy / Deploy to VM (push) Successful in 1m54s
Build & Deploy / Report a failed deploy (push) Skipped
Build & Deploy / Tag release (push) Successful in 5s
VERSION holds MAJOR.MINOR (1.1). The build job works out the next patch (scripts/next-version.sh, integer count) and stamps it into c2-core as DRB_VERSION, which /health returns. The new "Tag release" job tags the commit only after the deploy job succeeds, so a failed deploy's number is reused. Node checkins carry `version`, stored on the node doc. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
21 lines
629 B
Docker
21 lines
629 B
Docker
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
|
|
COPY requirements.txt .
|
|
RUN pip install uv && uv pip install --system --no-cache-dir -r requirements.txt
|
|
|
|
COPY app/ ./app/
|
|
COPY tests/ ./tests/
|
|
|
|
# Stamped by CI so /health can prove WHICH build is running. A deploy that
|
|
# reports success while the old container keeps running is otherwise silent
|
|
# -- exactly how production served two-day-old code for two days.
|
|
ARG GIT_SHA=unknown
|
|
ENV GIT_SHA=$GIT_SHA
|
|
# The release tag this build becomes (node-26#49), e.g. 1.1.4.
|
|
ARG DRB_VERSION=untagged
|
|
ENV DRB_VERSION=$DRB_VERSION
|
|
|
|
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
|