build(deps): Bump @angular/cli from 21.2.4 to 21.2.5 - #119
Closed
dependabot[bot] wants to merge 1 commit into
Closed
build(deps): Bump @angular/cli from 21.2.4 to 21.2.5#119dependabot[bot] wants to merge 1 commit into
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 21.2.4 to 21.2.5. - [Release notes](https://github.com/angular/angular-cli/releases) - [Changelog](https://github.com/angular/angular-cli/blob/main/CHANGELOG.md) - [Commits](angular/angular-cli@v21.2.4...v21.2.5) --- updated-dependencies: - dependency-name: "@angular/cli" dependency-version: 21.2.5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
Author
|
Superseded by #145. |
4 tasks
adamtasteslikegood
added a commit
that referenced
this pull request
Apr 30, 2026
…2901) ## Summary - Wires a Cloud Run **Job** (`flask-backend-migrate`) into `cloudbuild.yaml` between "Push Flask Backend Version Tag" and "Deploy Flask Backend". The Job reuses the just-pushed `flask-backend` image, overrides the command to `flask db upgrade`, mirrors the Flask service's env + secrets + VPC config, and runs to completion with `--wait`. A failing migration aborts the build so the old Flask revision keeps serving traffic — no half-deployed schema can ship alongside code that depends on it. - Bumps the `Backend` submodule to `dev` tip (`15ba254`) which now contains the Alembic merge migration (Backend PR #119, merged). With both pieces in place, the next release tag heals prod's `recipe.status` / `recipe.slug` / `recipe.is_public` schema gap. - Fixes `.gitmodules`: `branch = dev/backend_sub222` → `branch = dev`. The old branch name no longer exists on the Backend remote; this restores `git submodule update --remote Backend` so the cookbook can fast-forward the pointer cleanly. - Adds explicit "Branching strategy (FINAL)" section, new "Database migrations" section documenting the Cloud Run Job + multi-PR head conflict policy, updated "Release flow" to include the migrate step, and rewritten "Backend submodule" non-obvious pattern in `CLAUDE.md` and `AGENTS.md` (mirrored). ## Why Recipe generation and auth are 500ing on tasteslikegood.org because the live Cloud SQL DB is missing the `recipe.status`, `recipe.slug`, and `recipe.is_public` columns. Two issues compounded: 1. **No migration step in the deploy pipeline.** `cloudbuild.yaml` built and deployed Flask but never ran `flask db upgrade`, so schema-changing PRs (Backend #115, #116) shipped code that referenced columns that didn't exist on prod. 2. **Branched Alembic heads.** `03da1e46c9a5` (`recipe.status`) and `fc014cd27ab4` (`recipe.slug`, `recipe.is_public`) both branched off `e5a1b3c7d9f2`. Even if migrations had been running, Alembic would have refused to upgrade past two heads. Resolved in Backend #119 with a merge migration (`c60f6530f4ff`). ## Test plan - [x] Backend PR #119 merged to Backend `dev`. Merge migration verified locally on fresh SQLite — `recipe` table has `status`, `slug`, `is_public`; `alembic_version` pinned to single head. - [x] `.gitmodules` syntax valid; submodule pointer updates cleanly with `git submodule update`. - [ ] Cookbook CI green - [ ] After merge to `dev`: PR `dev` → `main` with `v0.2.2` version + CHANGELOG bump. The release tag fires the new pipeline; the Cloud Run migrate Job runs against prod Cloud SQL, applies the merge migration, and the live errors clear. ## Operational notes - The migrate Job uses `--max-retries=1`, `--task-timeout=600`, runs in the `default` VPC + subnet so it can hit Cloud SQL via private IP. - **First execution**: when this PR's release builds, `gcloud run jobs deploy flask-backend-migrate ...` will create the Job for the first time. The subsequent `execute --wait` will apply all pending migrations (including the merge) in one shot. If something goes wrong, the Flask service is NOT redeployed and the build aborts. - Manual override for hotfixes: `gcloud run jobs execute flask-backend-migrate --region=us-central1 --wait` after the Job exists. ## Companion - Backend PR #119 (merged): adamtasteslikegood/tasteslikegood.com#119 🤖 Generated with [Claude Code](https://claude.com/claude-code)
7 tasks
adamtasteslikegood
added a commit
that referenced
this pull request
Apr 30, 2026
…2904) ## Summary Bump `package.json` from `0.2.1` → `0.2.2` and add the v0.2.2 CHANGELOG entry. On merge, `release.yml` extracts the version, tags `v0.2.2`, and pushes the tag — which hits the Cloud Build trigger (regex `^v[0-9]+\.[0-9]+\.[0-9]+$`) and runs `cloudbuild.yaml`. ## What ships The pending `dev` work that lands on `main` with this PR: | Cookbook commit | What | |---|---| | `9edb772` (#2901) | Cloud Run migrate Job + `.gitmodules` fix + FINAL branching/release docs | | `1e0143e` (#2901) | Backend submodule pointer bump to `15ba254` | | `cffd3e3` (#2901) | Migrate Job `waitFor` optimization (Copilot review fix) | | Backend `15ba254` | Alembic merge migration + Backend CLAUDE.md/AGENTS.md rewrite (Backend #119) | ## Why this fixes prod When the v0.2.2 tag fires the Cloud Build trigger: 1. **`flask-backend-migrate` Job runs** (new in v0.2.2). It overrides the container command to `flask db upgrade`, mounts the same `DATABASE_URL` secret as the Flask service, and runs to completion against Cloud SQL via private VPC IP. With the merge migration in place, Alembic walks the linear path from current → `c60f6530f4ff (head)` and applies `recipe.status`, `recipe.slug`, `recipe.is_public` to the prod schema. 2. **If the migration fails, the build aborts.** The old Flask revision keeps serving traffic; nothing broken can ship alongside the new code. 3. **Flask service redeploys.** Code that references the new columns now sees them in the schema. 4. **Express service redeploys.** Frontend stays in lockstep. Recipe generation and auth resume on `tasteslikegood.org` the moment step 4 completes. ## Test plan - [ ] CI green - [ ] Merge → `release.yml` creates `v0.2.2` tag + GitHub Release - [ ] Cloud Build trigger fires on the tag - [ ] `flask-backend-migrate` Job: status `Succeeded`, log shows `Running upgrade ... -> c60f6530f4ff, merge status and slug heads` - [ ] `flask-backend` Cloud Run service: new revision serving 100% traffic, `/api/health` 200s - [ ] `express-frontend` Cloud Run service: new revision serving 100% traffic - [ ] Browser: hit `https://www.tasteslikegood.org/`, generate a recipe end-to-end, log in via Google. Both should succeed without 500s. ## Rollback plan If the migrate Job succeeds but the new Flask revision fails health checks, Cloud Run auto-rolls back to the previous revision — but the schema is now ahead. The old Flask code tolerates extra columns (SQLAlchemy ignores unmapped columns), so this is safe. If the migrate Job itself fails, no Flask redeploy happens; investigate the Job logs at `gcloud run jobs executions list --job=flask-backend-migrate --region=us-central1`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps @angular/cli from 21.2.4 to 21.2.5.
Release notes
Sourced from
@angular/cli's releases.Changelog
Sourced from
@angular/cli's changelog.... (truncated)
Commits
3018612release: cut the v21.2.5 release349bd43build: update dependency picomatch to v4.0.4cadf9b2feat(@angular/cli): support custom port in MCP devserver start toolbbc2554fix(@angular/ssr): allow underscores in host validation88ac998build: update cross-repo angular dependencies022e0efbuild: update github/codeql-action action to v4.34.1c363f19build: update dependency node to v22.22.2b1fe66afix(@angular/ssr): patch Headers.forEach in cloneRequestAndPatchHeadersDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)