mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-07 11:35:53 +00:00
2.3 KiB
2.3 KiB
Release Process Improvements Summary
Issues Fixed
1. ✅ Dry-Run Mode Now Actually Dry
- Added proper
--dry-runflag support that prevents ALL file modifications - Shows what would be done without making any changes
- Can be used with any release type:
./scripts/release.sh beta 7 --dry-run
2. ✅ Clear Parameter Documentation
- Added
--helpflag with comprehensive usage examples - Better error messages that show exactly what's expected
- Created
RELEASE_PROCESS.mdwith detailed workflow documentation
3. ✅ CHANGELOG.md Location Fixed
- Script now looks in project root first (where it actually exists)
- Removed confusing warnings about copying to mac/ directory
- Falls back gracefully if not found
4. ✅ iOS Info.plist Fixed
- Changed from hardcoded "1.0" to
$(MARKETING_VERSION) - Changed from hardcoded "1" to
$(CURRENT_PROJECT_VERSION) - Now properly syncs with version.xcconfig
5. ✅ Version Management Clarified
- Documented that version.xcconfig is the source of truth
- Script parameters are for validation, not version modification
- Clear examples of correct usage for each release type
New Features
Enhanced Error Messages
# Before: Confusing error
❌ Error: Pre-release number required for beta
# After: Clear guidance
❌ Error: Pre-release number required for beta releases
Usage: ./scripts/release.sh beta <number>
Example: ./scripts/release.sh beta 7
Proper Argument Parsing
- Supports flags in any order
- Validates pre-release numbers are positive integers
- Shows helpful examples on errors
Comprehensive Documentation
docs/RELEASE_PROCESS.md- Complete workflow guide- Clear explanation of version vs release type relationship
- Common mistakes and troubleshooting section
Usage Examples
Test a release without changes:
./scripts/release.sh beta 7 --dry-run
Get help:
./scripts/release.sh --help
Create actual release:
./scripts/release.sh beta 7
Benefits
- Safer: Dry-run prevents accidental modifications during testing
- Clearer: Better documentation and error messages reduce confusion
- Consistent: iOS now uses same version variables as macOS
- Maintainable: Improved code structure makes future changes easier