Commit Graph

1462 Commits

Author SHA1 Message Date
Achintha Isuru
8378ebddea ci: change all workflows to manual trigger only (workflow_dispatch)
Updated workflows to use workflow_dispatch instead of pull_request/push:

- backend-foundation.yml: Removed pull_request and push triggers

- mobile-ci.yml: Removed pull_request and push triggers with path filters

- web-quality.yml: Removed pull_request and push triggers

Workflows now only run manually via Actions tab. This gives more control over when CI runs and reduces unnecessary workflow executions.
2026-03-05 14:54:18 -05:00
Achintha Isuru
62b6dd22aa fix: update Flutter version to 3.38.x in product release workflow 2026-03-05 14:31:23 -05:00
Achintha Isuru
920ba40c50 fix(ci): improve version extraction script for GitHub Actions compatibility
- Replace bash [[ ]] regex test with grep -Eq for better portability

- Add debug output showing pwd and directory listing on file not found

- Use explicit regex groups for + and - separately for better compatibility
2026-03-05 14:25:34 -05:00
Achintha Isuru
639aeeb708 fix(ci): keep version suffix/build in tags and fix Node.js cache
- Keep full version format (0.0.1-m3 or 1.2.3+456) instead of stripping suffix

- Tags now include full version: krow-withus-worker-mobile/dev-v0.0.1-m3

- Remove invalid Node.js cache path that was causing resolution errors
2026-03-05 14:21:27 -05:00
Achintha Isuru
be43030058 fix(ci): redirect script messages to stderr and support version format X.Y.Z-suffix
Fixed workflow failure by ensuring only data goes to stdout, not informational messages. Also added support for version format X.Y.Z-suffix in addition to X.Y.Z+build.
2026-03-05 14:10:05 -05:00
Achintha Isuru
bdacedbced Add mobile APK signing, build and release scripts
Add four new helper scripts for mobile APK workflows: setup-apk-signing.sh (decode keystores and export signing env vars), verify-apk-signature.sh (check and display APK certificate info), attach-apk-to-release.sh (rename and upload APK to a GitHub Release), and setup-mobile-github-secrets.sh (helper to generate/show required GitHub Secrets). Update product-release.yml to expose version/tag outputs and add a build-mobile-artifacts job that sets up Java/Flutter, installs deps, configures signing from repository secrets, builds APKs for worker/client apps, verifies signatures, uploads artifacts, and optionally attaches the APK to the GitHub Release. Secrets and envvar naming conventions are handled to support dev/staging/prod keystores; documentation references (docs/RELEASE/APK_SIGNING_SETUP.md) are noted in scripts.
2026-03-05 14:03:21 -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
4cc2dafa18 Normalize mobile app pubspec versions to 0.0.1-m3
Standardize prerelease version tags for mobile apps. Updated client and staff pubspecs to use 0.0.1-m3 instead of their previous Iliana*-M3 suffixed versions:
- apps/mobile/apps/client/pubspec.yaml: 0.0.1-IlianaClientM3 -> 0.0.1-m3
- apps/mobile/apps/staff/pubspec.yaml: 0.0.1-IlianaStaffM3 -> 0.0.1-m3
This keeps version naming consistent across the mobile projects.
2026-03-05 12:40:59 -05:00
Achintha Isuru
dbbf54287f Add GitHub workflows, release scripts, PR template
Add CI/CD and release automation assets: new GitHub Actions workflows (backend-foundation, hotfix-branch-creation, mobile-ci, product-release, web-quality), shell scripts for version/tag/release-note extraction and release-summary generation (.github/scripts/*), and a Pull Request template. Implements hotfix branch creation from tags, automatic tag name generation, version extraction from pubspec.yaml, CHANGELOG-based release notes extraction, selective mobile CI (detects changed files, builds and lints only affected Dart files), backend service test dry-runs, and automated GitHub release creation with summaries.
2026-03-05 12:40:13 -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
73bd431518 docs(mobile): add M3 milestone CHANGELOGs for staff and client apps 2026-03-05 11:10:03 -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
afa4d7cba9 Merge branch 'dev' into 493-implement-rapid-order-creation-voice-text-in-client-mobile-app 2026-03-05 09:36:37 -05:00
Achintha Isuru
308105a1f9 Update formatting for profile completion notes in M4 demo guide 2026-03-04 17:03:16 -05:00
Achintha Isuru
856e7545f6 Implement profile completion checks in shift details flow and update UI accordingly 2026-03-04 16:48:49 -05:00
Achintha Isuru
020b541ed1 Bump staff app version to IlianaStaffM4
Update apps/mobile/apps/staff/pubspec.yaml version from 0.0.1-IlianaStaffM3 to 0.0.1-IlianaStaffM4 to reflect the new staff app build/release.
2026-03-04 14:34:47 -05:00
Achintha Isuru
01f4990e33 Update codemagic.yaml 2026-03-04 14:29:28 -05:00
Achintha Isuru
da3bbb7056 Update Codemagic scripts and add M4 demo guide
Normalize spacing in Codemagic job names (add space after emoji) and remove duplicated android_signing environment variable mappings for staff keystores across dev, staging, and prod workflows in codemagic.yaml. Add docs/MILESTONES/M4/demos/m4-client-note.md with the M4 demo guide (deliverables, test accounts, core improvements, and key deliverables).
2026-03-04 14:27:20 -05:00
Achintha Isuru
a56d8e5fd6 Update pubspec.yaml 2026-03-04 14:10:25 -05:00
Achintha Isuru
7442030e46 Update codemagic.yaml 2026-03-04 13:58:57 -05:00
Achintha Isuru
e386c34b86 Use shared CI keystore env vars; remove backup
Standardize CI signing config and clean up Android build files:

- Replace app-specific CodeMagic keystore env vars (CM_KEYSTORE_PATH_CLIENT/STAFF, CM_KEYSTORE_PASSWORD_CLIENT/STAFF, CM_KEY_ALIAS_CLIENT/STAFF, CM_KEY_PASSWORD_CLIENT/STAFF) with shared variables (CM_KEYSTORE_PATH, CM_KEYSTORE_PASSWORD, CM_KEY_ALIAS, CM_KEY_PASSWORD) in client and staff build.gradle.kts to unify CI configuration.
- Remove stray TODO comment about applicationId in both build files (cleanup).
- Adjust manifestPlaceholders placement in the client build file.
- Delete a backup google-services.json_back from the staff app to remove an unnecessary/sensitive artifact.
2026-03-04 13:58:21 -05:00
Achintha Isuru
38007d32bc refactor: Enhance StaffPayment model and PaymentHistoryItem widget with shift details 2026-03-04 13:37:42 -05:00
Achintha Isuru
256f9fd678 refactor: Remove unused code and improve PaymentHistoryItem widget styling 2026-03-04 13:27:14 -05:00
Achintha Isuru
76ffeb9667 refactor: Clean up imports and comment out unused button in CoverageShiftList widget 2026-03-04 13:19:43 -05:00
Achintha Isuru
867ff8d61c refactor: Replace Navigator.pop with Modular.to.popSafe for consistent navigation handling 2026-03-04 13:08:39 -05:00
Achintha Isuru
b20039ae84 refactor: Enhance DailyOpsReportPage layout and improve UI consistency 2026-03-04 12:59:56 -05:00
Achintha Isuru
4a5c2be489 refactor: Clean up view order card layout and improve text overflow handling 2026-03-04 12:56:25 -05:00
Achintha Isuru
2a11dbc120 docs: Update comment for getDefaultLocale method to clarify locale handling 2026-03-04 12:14:07 -05:00
Achintha Isuru
d5e796ea81 refactor: Simplify getDefaultLocale method by removing device locale check 2026-03-04 12:13:09 -05:00
Achintha Isuru
138cb9a82e refactor: Update navigation configuration and improve order dialog hub handling 2026-03-04 12:09:08 -05:00
Achintha Isuru
26663d4e02 fix: Specify type for BlocProvider in CoverageReportPage 2026-03-03 23:45:43 -05:00
Achintha Isuru
8e83e6dcbf fix: Remove unnecessary background color setting in report pages 2026-03-03 23:44:17 -05:00