Commit Graph

1514 Commits

Author SHA1 Message Date
Achintha Isuru
14bb00aae4 Rename mobile app dirs; update changelog versions
Rename mobile app directories (client_app -> client, staff_app -> staff) and normalize changelog version tags from `0.0.1-M3` to `v0.0.1-m3` in the affected CHANGELOG.md files to standardize folder naming and version formatting.
2026-03-05 15:10:28 -05:00
Achintha Isuru
107ce1d48a feat(ci): update release notes format to new template
Updated extract-release-notes.sh to follow new format:

**Environment:** {ENV}

**Tag:** {TAG}

## What is new in this release

{changelog content}

Improvements:

- Moved environment and tag info to the top

- Added 'What is new in this release' heading

- Improved awk pattern to properly extract changelog sections

- Support both [vX.Y.Z] and [X.Y.Z] version formats in CHANGELOG

- Removes unnecessary app name and separator lines

Testing:

 worker-mobile-app: Extracts content from apps/mobile/apps/staff/CHANGELOG.md

 client-mobile-app: Extracts content from apps/mobile/apps/client/CHANGELOG.md

 Handles [v0.0.1-m3] format correctly
2026-03-05 15:09:32 -05:00
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