Skip to content

Move the main-branch Cloud Build trigger's steps into a tracked cloudbuild.yaml - #189

Merged
brianglass merged 1 commit into
mainfrom
cloudbuild-yaml-migration
Aug 17, 2026
Merged

Move the main-branch Cloud Build trigger's steps into a tracked cloudbuild.yaml#189
brianglass merged 1 commit into
mainfrom
cloudbuild-yaml-migration

Conversation

@brianglass

Copy link
Copy Markdown
Owner

Summary

  • Adds cloudbuild.yaml, mirroring the orthocal Cloud Run deploy trigger's current live build steps exactly (Build, Push, Deploy, UpdateJob, plus the ExtractStatic/FirebaseDeploy steps added for Firebase Hosting's static-asset offload -- see Serve static assets from Firebase Hosting's CDN instead of proxying through Cloud Run #187).
  • Not wired up yet -- the trigger keeps using its inline config until this merges. Cloud Build reads a filename-referenced config from the branch that triggered the build, so pointing the trigger at this file before it exists on main would break the next deploy.
  • Follow-up after merge: update the trigger to use filename: cloudbuild.yaml instead of its inline build block. Substitution values (_DEPLOY_REGION, _SERVICE_NAME, _JOB_NAME, etc.) stay on the trigger itself, not duplicated in this file, since a filename-based config still receives them from the trigger at build time.

Why

This repo is public, and nothing in this build pipeline is secret -- every step authenticates implicitly via the Cloud Build service account's IAM role bindings (most recently roles/firebasehosting.admin), never an embedded token or key. Keeping it in git means it's diffable, reviewable, and has real history -- the inline-only setup is exactly how a duplicate, years-stale trigger (76b104f9, deploying the same Cloud Run service on every push to main) went unnoticed until this session.

Test plan

  • Content diffed 1:1 against the currently-live trigger's exported config (gcloud beta builds triggers export) to confirm no behavior change.
  • After merge: update the trigger's filename field and confirm the next push to main builds successfully from this file (manual, left to Brian).

Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com

https://claude.ai/code/session_01Hf6j2xXQXywHVh3HAVRxB3

…build.yaml

The build steps for the "orthocal" Cloud Run deploy trigger lived only as
inline config on the GCP trigger object itself -- no version history, no
code review, no diff when something changed. That's exactly how a
duplicate trigger (76b104f9, deleted this session) went unnoticed for
years: nothing about the pipeline was visible from the repo.

This file is not wired up yet -- the trigger still uses its own inline
build config until this merges to main, since Cloud Build reads a
filename-referenced config from the branch that triggered the build, so
switching the trigger over before the file exists on main would break
the next deploy. The trigger will be pointed at this file (via its
`filename` field, replacing the inline `build` block) as a follow-up
once this is merged.

Content matches the trigger's current live steps exactly (Build, Push,
Deploy, UpdateJob, plus the just-added ExtractStatic/FirebaseDeploy
steps for Firebase Hosting's static-asset offload) -- substitution
values (_DEPLOY_REGION, _SERVICE_NAME, etc.) stay defined on the trigger
itself, not duplicated here, since filename-based configs still pull
substitutions from the trigger at build time.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hf6j2xXQXywHVh3HAVRxB3
@brianglass
brianglass merged commit 7006bac into main Aug 17, 2026
4 checks passed
brianglass added a commit that referenced this pull request Aug 17, 2026
Its remaining use was the firebase target for manually deploying
Firebase Hosting -- now automated as part of the main Cloud Build
trigger (ExtractStatic/FirebaseDeploy steps in cloudbuild.yaml, see
#189), making the manual deploy path (and the docker/run/uvicorn/deploy/
test targets alongside it, all superseded by docker compose) dead
weight.


Claude-Session: https://claude.ai/code/session_01Hf6j2xXQXywHVh3HAVRxB3

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
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