Skip to content

ci: build API image on the runner (drop Cloud Build) - #15

Merged
amrtgaber merged 1 commit into
mainfrom
ci/runner-docker-build
Jun 16, 2026
Merged

ci: build API image on the runner (drop Cloud Build)#15
amrtgaber merged 1 commit into
mainfrom
ci/runner-docker-build

Conversation

@amrtgaber

Copy link
Copy Markdown
Contributor

Cloud Build's log streaming requires project Viewer/Owner — which the least-privilege github-deployer SA intentionally lacks — so gcloud builds submit returned non-zero even though the build + push actually succeeded.

This builds the image with docker on the runner and pushes to Artifact Registry using the deploy SA's existing artifactregistry.writer. No Cloud Build, no log streaming, no compute-SA actAs.

Cloud Build's log streaming requires project Viewer/Owner, which the scoped
github-deployer SA intentionally lacks, so gcloud builds submit returned
non-zero despite the build succeeding. Build with docker on the runner and push
to Artifact Registry (the deploy SA already has artifactregistry.writer) — no
Cloud Build, no log streaming.
@amrtgaber
amrtgaber merged commit 8e22afd into main Jun 16, 2026
amrtgaber added a commit that referenced this pull request Jun 16, 2026
… 20 (#16)

Closes out the Phase D / CI-CD work: auto-deploy (GitHub Actions + Workload Identity Federation) has been live since #15, so this syncs the docs to match and clears the runtime deprecation warning.

### Docs
- **`README.md`** — replaced the `CI/CD … tracked in #5` stub (a now-closed issue) with a **Continuous deployment** section: WIF auth (no stored keys), image built on the runner + `docker push` (not Cloud Build, and *why*), migrations not run in CI. Manual `deploy.sh` path relabelled a fallback with a cross-link.
- **`scripts/deploy.sh`** — header reframed from "Until Phase D wires up auto-deploy…" to "auto-deploy is live; this is the manual fallback."

### CI
- **`.github/workflows/deploy.yml`** — bump the three actions to their first Node-24 major (verified each `action.yml` declares `runs.using: node24` and still accepts the inputs we pass):
  - `actions/checkout` v4 → v5
  - `google-github-actions/auth` v2 → v3
  - `google-github-actions/setup-gcloud` v2 → v3

No workflow-logic or app-behavior change. Merging triggers one auto-deploy that runs on the bumped actions — which doubles as the verification that they work and the Node-20 warning is gone.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant