Promote main to release (domain-sha tag keying) #5

Merged
admin_emi merged 6 commits from main into release 2026-07-23 13:44:32 +00:00
Showing only changes of commit 67e4d651f5 - Show all commits

View file

@ -69,10 +69,42 @@ deploy.
a `uses: ./.forgejo/workflows/build.yml` + `with:` job must pass its input. a `uses: ./.forgejo/workflows/build.yml` + `with:` job must pass its input.
If paths aren't honored, fall back to the pr-build pattern (diff job + If paths aren't honored, fall back to the pr-build pattern (diff job +
gated jobs) for the push workflows too. gated jobs) for the push workflows too.
3. **Land the in-flight split-repo branches** (backend/frontend 3. **Branch drift**: the split repos' branch state as of 2026-07-22 evening is
`reconcile-dev-with-main`, infra `phase5/discord-bot-flag`, …) in the split fully migrated (see "Branch migration status" below) — re-run the check
repos, then re-subtree or graft the deltas — this assembly is `origin/main` (`git merge-tree --write-tree` per branch vs dev/main) if cutover slips and
as of 2026-07-22 and goes stale as those merge. upstream moves again.
## Branch migration status (2026-07-22)
Checked every split-repo branch by dry-run merge; migrated everything real:
- **`dev` (this repo)** = `main` + backend/frontend `origin/dev` subtrees: the
in-image test CI feature (ported into root `build.yml` — backend full suite,
frontend unit tier; their subtree `build.yml` edits resolved as deleted) +
backend test scripts/Makefile/compose.test + frontend two-tier suite with
fixtures. Faithful to upstream: the feature is dev-only, so mono `main`
doesn't have it; promote with dev→main like the split flow.
- **`feature/geocode-local``feature/history-meteostat-gusts`
`feature/nasa-primary-flip``feature/era5-seed`** — the unmerged backend
stack, rebuilt stacked on mono `dev`. ⚠️ Two conflicts were resolved here
that upstream has NOT resolved (the same conflicts exist merging those
branches into split-repo dev): `data/climate.py` (dev's hardened `_request`
signature combined with the gust-fill wrap) and `tests/data/test_climate.py`
(kept both appended test blocks). **Unverified** — tests weren't runnable
locally (Docker Hub blocked); run the in-image suite on these branches
before trusting them.
- **Stale (absorbed upstream, nothing migrated — safe to delete in the split
repos):** backend `ci-run-tests-in-image`, `perf/*`,
`phase5/discord-gateway-bot`, `port-discord-gateway-bot`,
`reconcile-dev-with-main`, `test-runner-and-smoke`; frontend
`ci-run-tests-in-image`, `reconcile-dev-with-main`; all three infra branches
(`ci-fix/render-secrets-owner`, `phase5/discord-bot-flag`,
`terraform-two-image-tags` — all landed in infra `main`); both observability
dashboard branches.
- **Dismissed, not stale-but-not-migrated:** frontend
`perf/frontend-responsiveness` (its "new" content would resurrect test
files dev reorganized into the unit tier) and `test-real-backend-harness`
(an older revision of dev's `tests/unit/test_rendering.py`).
## Cutover runbook ## Cutover runbook