Skip to content

ci: migrate to trunk-based development - #581

Merged
Michael (mschilling) merged 1 commit into
mainfrom
feat/trunk-based-ci
Jul 5, 2026
Merged

ci: migrate to trunk-based development#581
Michael (mschilling) merged 1 commit into
mainfrom
feat/trunk-based-ci

Conversation

@mschilling

Copy link
Copy Markdown
Contributor

What

Migrates Geekbites from gitflow (develop + main) to trunk-based development. After this PR merges, main becomes the default branch and develop + integration/dependabot will be deleted.

Why

  • Last production release was v2.15.0 (July 2025) — the develop→main release step was a manual bottleneck that nobody performed for almost a year ("Next release" PR Next release #549 sat open since March 2026).
  • Deploy bug: DeployProduction depended on CreateRelease, so a main merge with only build/chore commits produced no release and therefore no production deploy (happened on Next release #500 and again on Next release #549).
  • The last release run failed with EGITNOPERMISSION: package.json → repository.url still pointed at the old move4mobile org.

Changes

Area Change
ci.yml (new) PR validation: build + internal link check + Firebase preview channel
deploy-production.yml (new, replaces cicd.yml) Every push to main → build → deploy to production. workflow_dispatch as manual redeploy/rollback escape hatch. Deploy no longer depends on the release job
semantic-release Slimmed to commit-analyzer + release-notes-generator + github. No more chore(release) commit-back, version bumps or CHANGELOG writes. CHANGELOG.md frozen in favor of GitHub Releases
package.json repository.url/bugs/homepagemove-frontend (fixes the release failure)
Dependabot Weekly grouped updates against main per the frontend discipline standard (cooldown, eleventy/release-tools/github-actions groups). integration/dependabot funnel retired
CodeQL develop references → main
Docs README/CLAUDE/GEMINI/copilot-instructions describe the trunk-based model

Follow-up (repo settings, after merge)

  • Default branch → main
  • Branch protection: copy develop rules to main; delete develop + integration/dependabot
  • Fix production environment deployment branch policy (release/productionmain)
  • Remove unused environments: Development, Acceptance, Test, github-pages

Test plan

  • npm run build succeeds locally (Node 24)
  • npm run check-broken-links:internal — 0 broken
  • All workflow YAML parses
  • PR preview channel deploys (this PR)
  • First push to main: production deploy runs independent of release outcome

Replace the gitflow pipeline (cicd.yml) with a trunk-based setup:

- ci.yml: PR validation (build + internal link check) and Firebase
  preview channel per pull request
- deploy-production.yml: every push to main builds and deploys to
  production, with workflow_dispatch as manual redeploy/rollback
  escape hatch; deploy no longer depends on the release job
- semantic-release slimmed down to commit-analyzer,
  release-notes-generator and github plugins — no more
  chore(release) commit-back, version bump or CHANGELOG.md writes;
  CHANGELOG.md is frozen in favor of GitHub Releases
- fix repository.url (move4mobile -> move-frontend), the cause of
  the EGITNOPERMISSION failure in the last release run
- dependabot: weekly grouped updates against main per the
  discipline standard (cooldown, eleventy/release-tools groups,
  github-actions ecosystem); integration/dependabot funnel retired
- codeql: develop references replaced by main
- docs updated to describe the trunk-based branch model
@github-actions

github-actions Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Visit the preview URL for this PR (updated for commit ad9f654):

https://m4m-geekbites-dev--pr581-feat-trunk-based-ci-atsclmgp.web.app

(expires Sun, 12 Jul 2026 14:00:46 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 995f16c8ca726a359e48b7c460e5b3e3ea21476d

@mschilling
Michael (mschilling) merged commit 45001a6 into main Jul 5, 2026
7 checks passed
@mschilling
Michael (mschilling) deleted the feat/trunk-based-ci branch July 5, 2026 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

1 participant