Release a new TestFlight beta build of PrintFarmer iOS. Use when: releasing beta, cutting a release, shipping to TestFlight, tagging a new build, merging development to main for release.
Cut a new TestFlight beta of PrintFarmer iOS by merging development → main, tagging, and pushing to the release remote.
development branch and pushed to originorigin → jpapiez/PrintFarmerMobile (development repo)release → OlyForge3D/PrintFarmerMobile (triggers Xcode Cloud build)Find the latest tag and increment:
git tag --sort=-creatordate | head -1
The next beta number is the current highest + 1. If the user provided a beta number, use that instead.
Show the user what commits are on development but not yet in the latest tag:
git log --oneline <latest-tag>..development
Summarize the changes and confirm with the user before proceeding.
Add a new section at the top of CHANGELOG.md (after the # Changelog header) for the new version. Follow the existing format:
## [v1.0-beta.XX] — YYYY-MM-DD
### Added
- **Feature name** — Description.
### Fixed
- **Fix name** — Description.
### Changed
- **Change name** — Description.
Categorize commits into Added/Fixed/Changed sections. Omit empty sections.
git add CHANGELOG.md
git commit -m "docs: update changelog for v1.0-beta.XX"
./scripts/release-beta.sh <beta-number>
This script:
main and merges development.squad/, .ai-team/, etc.) from mainv1.0-beta.<number>main and the tag to the release remote (OlyForge3D)After the release script completes, push the changelog commit:
git push origin development
git status shows clean working treemain, then continue the script manually