🔄 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/
- Add Documents & Certificates management features
- Include Camera/gallery support for uploads
- Add Benefits overview section
- Expand Attire management with verification states
- Include RAPID order audio recording and transcription
- Add Hub manager assignment and Cost center features
- Include session management improvements
- Add navigation enhancements and bug fixes
- Document Core API services integration
- Include all user-facing features from milestone issues
- Introduced RELEASE_VISUAL_GUIDE.md for a visual overview of the release pipeline, including development, staging, and production phases.
- Created RELEASE_WORKFLOW.md detailing step-by-step release procedures for single and multi-product releases, including hotfix processes.
- Added VERSION_FILES_REFERENCE.md to outline all necessary version file updates for each product during releases, ensuring consistency and completeness.
- Updated ActionsWidget, CoverageWidget, SpendingWidget, ReorderWidget, and LiveActivityWidget to utilize SectionLayout for consistent layout structure.
- Introduced SectionHeader for displaying titles and optional actions in sections.
- Added ClientHomeBody, ClientHomeEditModeBody, ClientHomeNormalModeBody, and ClientHomeErrorState for improved state management and UI separation.
- Enhanced dashboard widget builder to support edit mode and error handling.
- Updated import paths for home_cubit.dart to reflect new structure.
- Introduced BenefitsOverviewCubit to manage benefits overview page state.
- Created BenefitsOverviewState to handle loading, loaded, and error states for benefits.
- Implemented HomeCubit to manage home page state, including shifts and benefits.
- Added new widgets for benefits overview: BenefitCard, BenefitCardHeader, AccordionHistory, ComplianceBanner, StatChip, and BenefitsOverviewBody.
- Implemented custom painter for circular progress indicators.
- Enhanced UI components for displaying benefits and their statuses.
- Added benefits section with state management
- Refactored home page to include new sections for quick actions, today's shifts, and tomorrow's shifts
- Introduced full-width divider for better layout
- Created reusable section layout widget for consistent UI
- Implemented circular progress indicator for benefits
- Removed deprecated benefits widget and replaced with new structure
- Updated data connection configuration for validation environment