ci: cut Site over to CircleCI (remove Forgejo Actions, live deploy) #19

Merged
circleci-bot merged 5 commits from ci/cutover into main 2026-11-15 13:28:19 +00:00
Member

Merge after #18 (this branch is stacked on it; the diff shows #18's commits until #18 merges).

Why

Cutover: CircleCI has been running Site's checks, previews and a dry-run deploy alongside Forgejo Actions. This makes CircleCI the only CI and the live deployer.

What changed

  • ci: remove .forgejo/workflows/deploy.yml and preview.yml (Site's only Forgejo workflows) and the actionlint wiring that linted them (.forgejo/actionlint.yaml, the lint step, the actionlint pin).
  • ci: CircleCI's main deploy is live: release_dry_run: false for pushes to main, so deploy runs wrangler deploy with the cloudflare-prod context (main only), between a site-production deploy marker plan and its SUCCESS/FAILED update. The manual API dry run is unchanged.
  • docs: README, docs/ci.md, CONTRIBUTING: CircleCI deploys main; same-repo previews come from the sticky ci: preview label; fork PRs get the artifact preview after ci: approved. Forgejo's one-shot preview label is no longer used.

Testing

circleci config validate, the orb's conftest policies (16 pass), one workflow per event, mise run lint, mise run test. Live on merge: see the checklist below.

After merge

  • The merge's main run: deploy logs wrangler deploy, a site-production marker goes to SUCCESS in CircleCI's Deploys, gate is green.
  • magicbean.dev shows the new footer version and /version.json.
  • Rollback: revert this PR (Forgejo's workflows come back), or set release_dry_run back to true for setup-main.
**Merge after #18** (this branch is stacked on it; the diff shows #18's commits until #18 merges). ## Why Cutover: CircleCI has been running Site's checks, previews and a dry-run deploy alongside Forgejo Actions. This makes CircleCI the only CI and the live deployer. ## What changed - ci: remove `.forgejo/workflows/deploy.yml` and `preview.yml` (Site's only Forgejo workflows) and the actionlint wiring that linted them (`.forgejo/actionlint.yaml`, the lint step, the actionlint pin). - ci: CircleCI's main deploy is live: `release_dry_run: false` for pushes to main, so `deploy` runs `wrangler deploy` with the `cloudflare-prod` context (main only), between a `site-production` deploy marker plan and its SUCCESS/FAILED update. The manual API dry run is unchanged. - docs: README, `docs/ci.md`, CONTRIBUTING: CircleCI deploys main; same-repo previews come from the sticky `ci: preview` label; fork PRs get the artifact preview after `ci: approved`. Forgejo's one-shot `preview` label is no longer used. ## Testing `circleci config validate`, the orb's conftest policies (16 pass), one workflow per event, `mise run lint`, `mise run test`. Live on merge: see the checklist below. ## After merge - The merge's main run: `deploy` logs `wrangler deploy`, a `site-production` marker goes to SUCCESS in CircleCI's Deploys, `gate` is green. - magicbean.dev shows the new footer version and `/version.json`. - Rollback: revert this PR (Forgejo's workflows come back), or set `release_dry_run` back to `true` for setup-main.
chore: re-run CI
Some checks failed
ci/circleci: setup-pr
ci/circleci: preview-cloudflare
ci/circleci: lint
ci/circleci: test
ci/circleci: gate
Preview / Preview on Cloudflare (pull_request_target) Failing after 4s
9446cfca71
drcrow force-pushed ci/cutover from 9446cfca71
Some checks failed
ci/circleci: setup-pr
ci/circleci: preview-cloudflare
ci/circleci: lint
ci/circleci: test
ci/circleci: gate
Preview / Preview on Cloudflare (pull_request_target) Failing after 4s
to 768cd5338b
All checks were successful
ci/circleci: setup-pr
ci/circleci: lint
ci/circleci: test
ci/circleci: gate
ci/circleci: preview-cloudflare
2026-11-15 13:19:53 +00:00
Compare
Member
<!-- circleci-cloudflare-preview --> **Preview:** https://pr-19-magicbean-site.hckr-5e0.workers.dev This commit (768cd5338b0f) on its own: https://5ad8aaf6-magicbean-site.hckr-5e0.workers.dev
Sign in to join this conversation.
No description provided.