Skip to content

feat(release): automate web/mobile release flow with version tracking and templates#14

Open
mnaimfaizy wants to merge 2 commits intomainfrom
feat/release-governance-mobile-web
Open

feat(release): automate web/mobile release flow with version tracking and templates#14
mnaimfaizy wants to merge 2 commits intomainfrom
feat/release-governance-mobile-web

Conversation

@mnaimfaizy
Copy link
Owner

Summary

This PR introduces an end-to-end release governance and automation framework for both Mobile and Web, with explicit branch/tag separation, automatic version storage updates, release templates, and developer documentation in canonical docs + docs-site.

What was added

1) Automated release versioning + tagging

  • Added tools/scripts/prepare-release.mjs for release branch/tag automation.
  • Supports target-specific release flows for mobile and web.
  • Enforces semver release format (x.y.z) and target naming conventions:
    • Branches: mobile/vX.Y.Z, web/vX.Y.Z
    • Tags: mobile/vX.Y.Z, web/vX.Y.Z
  • Adds automatic version derivation for next release (using prior target tags) when --version is omitted.
  • Adds automatic version inference from current release branch when tagging.
  • Updates version artifacts automatically at tag time and commits them before creating annotated tags.

2) Version storage and source-of-truth artifacts

  • Added docs/release/versions.json as shared release version store.
  • Mobile version source managed in apps/mobile/app.json (expo.version).
  • Web release version artifact added at apps/web/public/version.json.

3) PR templates for release quality gates

  • Added mobile release PR template:
    • .github/PULL_REQUEST_TEMPLATE/mobile-release.md
  • Added web release PR template:
    • .github/PULL_REQUEST_TEMPLATE/web-release.md
  • Both include release validation and deployment/rollback checklist sections.

4) Mobile release automation workflows

  • Added GitHub Actions workflow:
    • .github/workflows/mobile-release.yml
  • Added EAS Workflows config:
    • .eas/workflows/build-and-submit-production.yml

5) Documentation (canonical + docs-site)

  • Added/expanded canonical docs under docs/mobile/* and docs/release/*:
    • mobile build/deploy/OTA/CI/security/troubleshoot/release process
    • global release governance and version store docs
  • Added docs-site pages and navigation:
    • docs-site/dev/mobile.md
    • docs-site/dev/release-process.md
    • updated sidebar and cross-links in developer docs pages.

Why this change

  • Removes manual and error-prone release version updates.
  • Creates consistent, auditable release mechanics per target.
  • Enforces separation between Web and Mobile release tracks via branch/tag namespaces.
  • Standardizes release readiness and reviewer expectations through dedicated PR templates and release note guidance.

Validation performed

  • node --check tools/scripts/prepare-release.mjs
  • npm run docs:build from docs-site

Notes

  • Existing modified docs and release files were intentionally included to keep release process documentation and automation cohesive in one changeset.

@mnaimfaizy mnaimfaizy self-assigned this Mar 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant