🔄 Hotfix Workflow Enhancements:
- Accept tags from any environment (dev/stage/prod), not just production
- Changed input parameter: 'production_tag' → 'tag'
- Updated validation to show all available tags (not just prod)
- Made terminology more generic throughout
- Show 20 most recent tags instead of 10 for better visibility
📝 File Renames:
- .github/workflows/mobile-hotfix.yml → hotfix-branch-creation.yml
- .github/workflows/mobile-release.yml → product-release.yml
Benefits:
✅ Hotfix workflow now works with dev/stage/prod tags
✅ More flexible for various hotfix scenarios
✅ Clearer, more descriptive workflow file names
✅ Consistent with product-agnostic terminology
🔄 Updated workflows and scripts to use product-agnostic naming:
Workflow Changes:
- 📱 Mobile Release → 📦 Product Release
- 🚨 Mobile Hotfix → 🚨 Product Hotfix
- Mobile App → Product (in descriptions)
- "mobile app" → "product" (in messages and tags)
- "pubspec.yaml" → "version file" (in user-facing text)
Display Names:
- Worker Mobile → Worker Product
- Client Mobile → Client Product
- Staff Mobile App → Staff Product (Worker)
- Client Mobile App → Client Product
Benefits:
✅ Makes workflows extensible for other product types
✅ Consistent terminology across all automation
✅ Easier to add web, backend, or other products later
✅ Keeps implementation details (paths, scripts) unchanged
✅ Maintains backward compatibility with existing tags
Note: File paths remain unchanged (apps/mobile/...) as they are implementation-specific
✨ Enhanced mobile-release.yml workflow:
- 📱 Added emojis to all steps for better visual feedback
- 🔧 Version now automatically extracted from pubspec.yaml
- No manual version input required
- Reads from apps/mobile/apps/staff/pubspec.yaml for worker
- Reads from apps/mobile/apps/client/pubspec.yaml for client
- 📝 Removed manual version input field from workflow
🔨 Created reusable shell scripts in .github/scripts/:
1. extract-version.sh - Extract version from pubspec.yaml
2. generate-tag-name.sh - Generate tag names consistently
3. extract-release-notes.sh - Extract CHANGELOG sections
4. create-release-summary.sh - Generate GitHub Step Summary with emojis
Benefits:
✅ Simpler workflow - just select app and environment
✅ Single source of truth for versions (pubspec.yaml)
✅ Reusable scripts can be used in other workflows
✅ Better error messages and validation
✅ Enhanced visual feedback with emojis
✅ Cleaner workflow file (moved logic to scripts)
- Add mobile-release.yml workflow:
- Manual trigger with app (worker/client) and environment (dev/stage/prod) selection
- Version validation (semantic versioning)
- Tag creation with format: krow-withus-<app>-mobile/<env>-vX.Y.Z
- GitHub Release creation with CHANGELOG extraction
- Release naming: 'Krow With Us - Worker Mobile - DEV - v0.1.0'
- Pre-release support
- Add mobile-hotfix.yml workflow:
- Emergency production fix automation
- Creates hotfix branch from production tag
- Auto-increments PATCH version
- Updates pubspec.yaml and CHANGELOG.md
- Creates PR with hotfix instructions
- Follows documented hotfix process
Both workflows support staff (worker) and client mobile apps independently.
Implements mobile release strategy from docs/release/