trails/.github/workflows
Ullrich Schäfer c8a7a0b253
Add staging + PR-preview environments on the flagship
Implements the staging-environments OpenSpec change. Persistent staging at
staging.trails.cool / planner.staging.trails.cool deploys from main; PR
opens get a journal-only preview at pr-<N>.staging.trails.cool that shares
the persistent planner. cd-staging.yml builds tagged images, manages
per-PR Postgres databases and Caddyfile snippets, evicts the oldest
preview at the cap of 3, and tears everything down on PR close.
staging-cleanup.yml runs weekly to sweep orphaned previews.

DNS records (staging + *.staging A/AAAA) already applied to production
via tofu.

Caddy approach: per-PR Caddyfile snippets imported from /etc/caddy/sites/
and reloaded on each PR event — no wildcard / on-demand TLS, no router
service. Production compose gains a trails-shared network for the staging
project to reach Postgres, and host.docker.internal on Caddy so it can
reverse-proxy staging containers published on the host loopback.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-03 22:03:38 +02:00
..
cd-apps.yml Apply wahoo-route-update: PUT on re-push instead of duplicate POST 2026-05-01 12:08:16 +02:00
cd-brouter.yml Update brouter deploy scp to single ssh 2026-04-24 14:41:30 +02:00
cd-infra.yml Rebuild the Journal home around a public feed and flagship marketing 2026-04-24 20:00:23 +02:00
cd-staging.yml Add staging + PR-preview environments on the flagship 2026-05-03 22:03:38 +02:00
ci.yml Add CI check for missing workspace packages in Dockerfiles 2026-04-14 12:15:25 +02:00
dependabot-dedupe.yml Prefix dedupe commit message + set GH_TOKEN for push step 2026-04-19 21:06:38 +02:00
staging-cleanup.yml Add staging + PR-preview environments on the flagship 2026-05-03 22:03:38 +02:00