Commit Graph

1382 Commits

Author SHA1 Message Date
Achintha Isuru
83c05ad99e Improve release scripts and make workflows manual
Redirect script informational/warning output to stderr and improve robustness of release tooling. Changes include:

- Redirect many echo messages to stderr so scripts can emit machine-readable output on stdout.
- Extract-release-notes: better parsing of CHANGELOG entries (tries v-prefixed and non-prefixed headings, cleaner note formatting) and improved fallbacks when changelog is missing.
- Extract-version: accept versions with +build or -suffix, add diagnostic output when pubspec is missing, and tighten validation.
- Setup/verify APK signing: more consistent stderr logging and clearer warnings; ensure keystore decoding/logging is visible.
- Minor script usage message fixes (generate-tag-name, attach-apk-to-release).
- CI/workflows: change backend-foundation, mobile-ci, and web-quality triggers to workflow_dispatch (manual runs); update product-release (make scripts step label emoji, remove node cache lines, bump Flutter to 3.38.x).

These changes improve CI reliability, make scripts friendlier for automated consumers, and fix release note/version parsing edge cases.
2026-03-05 15:30:27 -05:00
Achintha Isuru
11bbd8c87a feat: Refactor APK signing and verification process into separate scripts 2026-03-05 14:02:26 -05:00
Achintha Isuru
8b9a58adb1 feat: Add mobile CI/CD secrets setup for APK signing
- Updated Makefile to include new command for setting up mobile CI secrets.
- Enhanced tools.mk with setup-mobile-ci-secrets target.
- Created setup-mobile-github-secrets.sh script for configuring GitHub Secrets for APK signing.
- Added APK signing implementation summary documentation.
- Created detailed APK signing setup guide.
- Added GitHub secrets checklist for easy reference.
2026-03-05 13:55:38 -05:00
Achintha Isuru
8aa29b3149 fix: rename workflow to clarify purpose as Hotfix Branch Creation 2026-03-05 12:35:59 -05:00
Achintha Isuru
7f7c44f691 Merge branch 'dev' into 577-mobile-define-and-automate-release-and-tagging-strategy-for-client-staff-apps 2026-03-05 12:31:42 -05:00
Achintha Isuru
f8bdbcc2fb Update product-release.yml 2026-03-05 12:31:36 -05:00
Achintha Isuru
0394fe18eb Merge pull request #578 from Oloodi/577-mobile-define-and-automate-release-and-tagging-strategy-for-client-staff-apps
Defined and automate release and tagging strategy for client staff apps
2026-03-05 12:27:45 -05:00
Achintha Isuru
c3c305c827 feat: add pull request template for improved contribution guidelines 2026-03-05 12:25:25 -05:00
Achintha Isuru
7e52b19dd5 docs: remove outdated root-level release documentation
🗑️ Removed Files:
- RELEASE_IMPLEMENTATION.md
- RELEASE_INDEX.md
- RELEASE_PACKAGE_SUMMARY.md
- RELEASE_QUICK_REFERENCE.md
- RELEASE_STRATEGY.md
- RELEASE_VISUAL_GUIDE.md
- RELEASE_WORKFLOW.md
- VERSION_FILES_REFERENCE.md

📍 Reason for Removal:
- These were draft/planning documents with incorrect tag format
- Used 'staff-mobile/*' instead of correct 'krow-withus-worker-mobile/*'
- Not aligned with actual GitHub Actions workflows
- Caused confusion about which documentation to follow

✅ Current Documentation (Correct & Up-to-Date):
- docs/RELEASE/MOBILE_RELEASE_PLAN.md
- docs/RELEASE/HOTFIX_PROCESS.md
- docs/RELEASE/OVERALL_RELEASE_PLAN.md

The docs/RELEASE/ files use correct tag naming and align with the
implemented GitHub Actions workflows (.github/workflows/product-release.yml
and hotfix-branch-creation.yml).
2026-03-05 12:16:54 -05:00
Achintha Isuru
39f0d9d53c refactor(ci): update product options to be more specific
🔄 Changed product option values:
- worker → worker-mobile-app
- client → client-mobile-app

📝 Updated Files:
- .github/workflows/hotfix-branch-creation.yml
- .github/workflows/product-release.yml
- .github/scripts/extract-version.sh
- .github/scripts/extract-release-notes.sh
- .github/scripts/create-release-summary.sh
- .github/scripts/generate-tag-name.sh

🎯 Key Changes:
- Product dropdown options now more specific
- All conditional checks updated to use new values
- Tag/branch names remain clean (strips -mobile-app suffix)
- Tag format unchanged: krow-withus-worker-mobile/prod-v0.1.0
- Branch format unchanged: hotfix/krow-withus-worker-mobile-v0.1.0

Benefits:
✅ Clearer product selection (distinguishes mobile from future web/backend)
✅ Backward compatible tag format
✅ Maintains clean naming conventions
2026-03-05 12:11:45 -05:00
Achintha Isuru
4ec1b2ca26 refactor(ci): enhance hotfix workflow and rename workflow files
🔄 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
2026-03-05 12:07:32 -05:00
Achintha Isuru
3e31002d1e refactor(ci): replace mobile-specific terms with generic product 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
2026-03-05 11:58:28 -05:00
Achintha Isuru
0e296bf83b refactor(ci): enhance mobile release workflow with emojis and extracted scripts
✨ 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)
2026-03-05 11:49:11 -05:00
Achintha Isuru
054852fcde feat(ci): add GitHub Actions workflows for mobile releases and hotfixes
- 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/
2026-03-05 11:41:45 -05:00
Achintha Isuru
89dd9fe723 docs(mobile): remove placeholder entries for RAPID and recurring orders in CHANGELOGs 2026-03-05 11:38:36 -05:00
Achintha Isuru
f771bca72a docs(mobile): enhance CHANGELOGs with comprehensive M4 features from git history
- 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
2026-03-05 11:34:00 -05:00
Achintha Isuru
c06e14e668 docs(mobile): update M4 version to 0.0.1-M4 (keeping same base version) 2026-03-05 11:21:43 -05:00
Achintha Isuru
6b26a72144 feat(mobile): add localization support for Spanish language in staff app 2026-03-05 11:16:52 -05:00
Achintha Isuru
889d48144c docs(mobile): move CHANGELOGs to correct app directories (staff and client) 2026-03-05 11:15:05 -05:00
Achintha Isuru
e6b0a061ba docs(mobile): add M4 milestone features to staff and client app CHANGELOGs 2026-03-05 11:11:15 -05:00
Achintha Isuru
7be3ff5bea docs(mobile): add M3 milestone CHANGELOGs for staff and client apps 2026-03-05 11:10:12 -05:00
Achintha Isuru
085445e730 feat: add comprehensive release process documentation and version file references
- 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.
2026-03-05 10:49:09 -05:00
Achintha Isuru
faae6c07d5 Merge pull request #564 from Oloodi/493-implement-rapid-order-creation-voice-text-in-client-mobile-app
Improved Benefit screen and improved UX of worker and client homepages
2026-03-03 23:41:39 -05:00
Achintha Isuru
0726f1dfbb feat: Add subtitle support to SectionLayout in various widgets 2026-03-03 22:11:51 -05:00
Achintha Isuru
6f2a195724 feat: Refactor client home widgets to use SectionLayout and add titles
- 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.
2026-03-03 22:00:42 -05:00
Achintha Isuru
2d20254ce3 fix: Remove unnecessary whitespace in TomorrowsShiftsSection widget 2026-03-03 21:37:11 -05:00
Achintha Isuru
630b90ee38 feat: Implement show/hide functionality for bottom navigation bar based on route changes 2026-03-03 21:35:59 -05:00
Achintha Isuru
6d9cb64487 refactor: Move constructor to the top of the Benefit class for improved readability 2026-03-03 21:26:48 -05:00
Achintha Isuru
65ac22953e fix: Update default stroke width in CircularProgressPainter for consistency 2026-03-03 21:26:08 -05:00
Achintha Isuru
ca60e03c1e feat: Refactor benefit card components for improved styling and performance 2026-03-03 21:25:21 -05:00
Achintha Isuru
85936e9b94 feat: Refactor home cubit and add benefits overview functionality
- 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.
2026-03-03 21:15:04 -05:00
Achintha Isuru
4474a732c2 feat: Enhance benefits section and layout for improved user experience 2026-03-03 20:47:15 -05:00
Achintha Isuru
a7d66a1efe feat: Implement rapid order creation via voice and text in mobile app
- 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
2026-03-03 20:28:12 -05:00
Achintha Isuru
017c0d4823 chore: Remove redundant line from use case completion audit document 2026-03-03 16:56:27 -05:00
Achintha Isuru
c13faea3d9 Merge pull request #562 from Oloodi/493-implement-rapid-order-creation-voice-text-in-client-mobile-app
Session clearance issue fixed
2026-03-03 00:06:08 -05:00
Achintha Isuru
14c223540e Update 04-use-case-completion-audit.md 2026-03-02 23:42:45 -05:00
Achintha Isuru
e8b768b978 feat: Refactor sign-out method to use unified service call across repositories 2026-03-02 16:04:20 -05:00
Achintha Isuru
8497709356 fix: Correct formatting and improve comments in various files for clarity 2026-03-02 12:38:57 -05:00
Achintha Isuru
a13cadefc8 feat: Implement attire options, documents, and certificates completion use cases in staff profile 2026-03-02 12:32:39 -05:00
Achintha Isuru
78e99ac470 feat: Remove tax forms from staff profile completion queries and related checks 2026-03-02 12:12:08 -05:00
Achintha Isuru
2ea5a25858 feat: Update styling for legal and privacy section widgets with improved background color and border properties 2026-03-02 12:09:51 -05:00
Achintha Isuru
a206459cbd feat: Enhance tax forms page with progress overview and refactor components for better structure 2026-03-02 12:05:09 -05:00
Achintha Isuru
ca6c10552d feat: Implement attestation checkbox in attire capture page and refactor related components 2026-03-02 10:33:22 -05:00
Achintha Isuru
07a0a29106 Merge pull request #561 from Oloodi/493-implement-rapid-order-creation-voice-text-in-client-mobile-app
Fix issues in the staff and client mobile apps
2026-03-02 01:00:22 -05:00
Achintha Isuru
ea77a49224 feat: Remove commented-out code for commute tracker and attire photo section in ClockInPage 2026-03-01 22:29:15 -05:00
Achintha Isuru
be2aae1ba0 feat: Update keystore file paths in key.properties for client and staff configurations 2026-03-01 21:35:10 -05:00
Achintha Isuru
2e043f35b9 feat: Refactor ClockInPage for improved readability and consistency in code formatting 2026-03-01 21:18:41 -05:00
Achintha Isuru
8e95589551 feat: Enhance certificate upload process with file change verification and signed URL generation 2026-03-01 21:17:45 -05:00
Achintha Isuru
49ecede35f feat: Remove redundant PDF file validation before certificate upload 2026-03-01 21:11:05 -05:00
Achintha Isuru
5b4b8b7138 feat: Update file selector and PDF types banner to use super.key for improved widget initialization 2026-03-01 21:05:48 -05:00