This is a quick reference for creating a new release. For detailed information, see RELEASE.md.
# Make sure you're on develop branch
git checkout develop
git pull origin develop
# Run the release script
./scripts/release.sh 1.0.0The script will:
- Validate version format
- Check for uncommitted changes
- Update version in
gate_entry/__init__.py - Create a release branch
- Commit the version change
- Create an annotated git tag
Before committing, update CHANGELOG.md with:
- New features
- Bug fixes
- Breaking changes (if any)
- Date of release
# Run tests
bench --site [your-site] run-tests --app gate_entry
# Manual testing on staging environment# Push release branch
git push origin release/v1.0.0
# Push tag
git push origin v1.0.0git checkout main
git merge --no-ff release/v1.0.0 -m "Release v1.0.0"
git push origin maingit checkout develop
git merge --no-ff release/v1.0.0 -m "Merge release v1.0.0 into develop"
git push origin develop- Go to GitHub → Releases → Draft a new release
- Select tag
v1.0.0 - Title:
Gate Entry v1.0.0 - Copy changelog entries
- Publish
- Patch (1.0.0 → 1.0.1): Bug fixes
- Minor (1.0.0 → 1.1.0): New features (backward compatible)
- Major (1.0.0 → 2.0.0): Breaking changes
For urgent production fixes:
# Create hotfix from latest release tag
git checkout -b hotfix/v1.0.1 v1.0.0
# Make fixes, update version, test
# Then tag and merge to both main and developTest the release script without making changes:
./scripts/release.sh 1.0.0 --dry-run