Dev checkpoint: deploy main to dev once lanes 9 and 10 land #895

Closed
opened 2026-09-27 17:55:44 +00:00 by claude-bot · 2 comments
Collaborator

The owner approved on 2026-09-27: deploy main to dev (not prod) once lane 9 (#886, #889) and lane 10 (#883, #885) have merged. The aims are to run the v4.5.0 migrations against real data and to let the owner review the redesign so far.

Dev has run v4.4.1-era code since the lanes started. Since v4.4.1, main carries 776 commits and 34 migrations, and several of those rewrite data (the wiki's text and page audiences, the notification settings, parties).

Pre-flight

  1. Confirm main's CI is green on the commit being deployed. Record that sha.

  2. On dev, record the running commit. That's the rollback point.

  3. Back up dev's database with pg_dump, to a dated file on the dev host. Check disk space first.

    Several migrations rewrite data, and downgrades aren't a reliable way back from those. Rollback means restoring this dump and checking out the previous commit.

Deploy

cd /home/claude/projects/Quest-Board && git pull --ff-only && docker compose up -d --build, via the ai-dev-server ssh alias. The migrate service runs alembic.

Verify

  • APP_VERSION, /ready, docker compose ps.
  • alembic is at the expected head.
  • The backend, worker and migrate logs are clean, especially the migrations' own log lines.
  • Fonts (#891): a .woff2 from the built CSS returns font/woff2.
  • The bot starts. It's disabled on dev because there's no token, and that's expected.

Demo seed (#821)

Re-run the demo seed with its previous arguments, so the lane 5 to 9 additions appear. The seed deletes only its own rows and never touches real users.

Afterwards

A short "what's new on dev" list for the owner.

The owner approved on 2026-09-27: deploy main to **dev** (not prod) once lane 9 (#886, #889) and lane 10 (#883, #885) have merged. The aims are to run the v4.5.0 migrations against real data and to let the owner review the redesign so far. Dev has run v4.4.1-era code since the lanes started. Since v4.4.1, main carries 776 commits and **34 migrations**, and several of those rewrite data (the wiki's text and page audiences, the notification settings, parties). ## Pre-flight 1. Confirm main's CI is green on the commit being deployed. Record that sha. 2. On dev, record the running commit. That's the rollback point. 3. **Back up dev's database** with `pg_dump`, to a dated file on the dev host. Check disk space first. Several migrations rewrite data, and downgrades aren't a reliable way back from those. Rollback means restoring this dump and checking out the previous commit. ## Deploy `cd /home/claude/projects/Quest-Board && git pull --ff-only && docker compose up -d --build`, via the `ai-dev-server` ssh alias. The migrate service runs alembic. ## Verify - `APP_VERSION`, `/ready`, `docker compose ps`. - alembic is at the expected head. - The backend, worker and migrate logs are clean, especially the migrations' own log lines. - **Fonts (#891):** a `.woff2` from the built CSS returns `font/woff2`. - The bot starts. It's disabled on dev because there's no token, and that's expected. ## Demo seed (#821) Re-run the demo seed with its previous arguments, so the lane 5 to 9 additions appear. The seed deletes only its own rows and never touches real users. ## Afterwards A short "what's new on dev" list for the owner.
Author
Collaborator

Done: dev now runs main at ea4f8e5e (the #885 merge; CI green on that commit).

  • Rollback point: dev was at 52cf89f9 (#820). The backup is at /home/claude/predeploy-backups/questboard-20260927-222043-52cf89f9.dump (pg_dump -Fc, 1.6 MB, data for 68 tables, and pg_restore -l reads it).
  • Migrations: 20 applied, with migrate exiting 0 and no errors. alembic is at head 10b2c3d4e5f6.
  • Health: every service is healthy and /ready is ok. The logs have no errors in the backend, worker, beat, bot or frontend. The bot is disabled because dev has no Discord token, as expected.
  • Fonts (#891): 14 .woff2 files are served as font/woff2 with a wOF2 body. A missing /assets/… returns 404.
  • Demo seed (#821): re-run with --reset for the owner's account, after a dry run. It rebuilt The Amberwake Accord, the Tuesday Tide, the archived Salt Crown and the binned Brinewatch. The real campaigns and the 7 real accounts are untouched.

APP_VERSION is still 4.4.1, as expected; this is a checkpoint, not a release.

**Done: dev now runs main at `ea4f8e5e`** (the #885 merge; CI green on that commit). - **Rollback point:** dev was at `52cf89f9` (#820). The backup is at `/home/claude/predeploy-backups/questboard-20260927-222043-52cf89f9.dump` (`pg_dump -Fc`, 1.6 MB, data for 68 tables, and `pg_restore -l` reads it). - **Migrations:** 20 applied, with migrate exiting 0 and no errors. alembic is at head `10b2c3d4e5f6`. - **Health:** every service is healthy and `/ready` is ok. The logs have no errors in the backend, worker, beat, bot or frontend. The bot is disabled because dev has no Discord token, as expected. - **Fonts (#891):** 14 `.woff2` files are served as `font/woff2` with a `wOF2` body. A missing `/assets/…` returns 404. - **Demo seed (#821):** re-run with `--reset` for the owner's account, after a dry run. It rebuilt The Amberwake Accord, the Tuesday Tide, the archived Salt Crown and the binned Brinewatch. The real campaigns and the 7 real accounts are untouched. `APP_VERSION` is still 4.4.1, as expected; this is a checkpoint, not a release.
Author
Collaborator

Second dev deploy (2026-09-28), at the owner's request: main c2864acd, the #905 merge. main's CI is green on that commit.

  • Rollback point: ea4f8e5e. The dump is at /home/claude/predeploy-backups/questboard-20260928-060726-ea4f8e5e.dump (1.7 MB, data for 81 tables, and it reads back).
  • Migrations: lane 8's 7 migrations applied, 8b2c → 8d4e → 8c3d → 8e5f → 8f6a → 8a7b → 8b8c. migrate exited 0 with no errors, and the head is 8b8c9d0e1f2a.
  • Health: every service is healthy, /ready is ok, and the logs have no errors.
  • The data moves checked out:
    • 31 plot_threads became 31 quest pages, one to one, each with its legacy_plot_thread_id;
    • 8 parties;
    • 508 wiki links backfilled.
  • The demo seed was not re-run; the migrations carried its data forward.
**Second dev deploy (2026-09-28), at the owner's request: main `c2864acd`,** the #905 merge. main's CI is green on that commit. - **Rollback point:** `ea4f8e5e`. The dump is at `/home/claude/predeploy-backups/questboard-20260928-060726-ea4f8e5e.dump` (1.7 MB, data for 81 tables, and it reads back). - **Migrations:** lane 8's 7 migrations applied, `8b2c → 8d4e → 8c3d → 8e5f → 8f6a → 8a7b → 8b8c`. migrate exited 0 with no errors, and the head is `8b8c9d0e1f2a`. - **Health:** every service is healthy, `/ready` is ok, and the logs have no errors. - **The data moves checked out:** - 31 `plot_threads` became 31 quest pages, one to one, each with its `legacy_plot_thread_id`; - 8 parties; - 508 wiki links backfilled. - **The demo seed was not re-run;** the migrations carried its data forward.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/Quest-Board#895
No description provided.