Commit Graph

33 Commits

Author SHA1 Message Date
Achintha Isuru
ac8891c43c fix(ci): fix YAML syntax error in hotfix-branch-creation workflow
Fixed line 168 syntax error caused by sed command with backslash continuation.

Replaced:

  sed -i "1 a\\\

  \\

  $HOTFIX_ENTRY" "$CHANGELOG_PATH"

With simpler approach:

  - Extract title line

  - Extract body

  - Reconstruct file with hotfix entry inserted

This avoids YAML parsing issues with backslash escaping.
2026-03-05 15:38:14 -05:00
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
f8bdbcc2fb Update product-release.yml 2026-03-05 12:31:36 -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
zouantchaw
3da94f16fd Merge remote-tracking branch 'origin/dev' into codex/feat-architecture-lead-bootstrap 2026-02-26 09:45:09 -05:00
zouantchaw
f8f81ec77c feat(backend): add foundation services and sql idempotency 2026-02-23 22:27:40 -05:00
f7284b5cfb Merge branch 'dev' into feature/session-persistence-424 2026-02-20 20:56:18 +05:30
474be43448 fix: add ignore_for_file to data connect Repos and modify CI to avoid analyzing deleted files 2026-02-20 19:51:44 +05:30
Achintha Isuru
af78b38ea2 fix: Add pipefail option to lint step for improved error handling 2026-02-20 02:01:29 -05:00
Achintha Isuru
c3f8a4768a fix: Update mobile CI workflow for improved error handling and efficiency 2026-02-20 01:55:16 -05:00
Achintha Isuru
50309bfb39 fix: Add pipefail option to compilation check for better error handling 2026-02-20 01:47:47 -05:00
Achintha Isuru
518991f895 fix: Improve error handling in mobile app build process 2026-02-20 01:43:03 -05:00
Achintha Isuru
2162b5493e fix: Change build mode from 'dev' to 'debug' for mobile client and staff apps 2026-02-20 01:33:15 -05:00
Achintha Isuru
614851274b feat: Update mobile CI workflow to streamline build process and remove CI-specific setup 2026-02-20 01:26:13 -05:00
Achintha Isuru
0fad902991 feat: Install Firebase CLI in CI workflow and simplify SDK generation process 2026-02-20 01:10:38 -05:00
Achintha Isuru
49f32b24f4 feat: Update mobile CI workflow to use mobile-install-ci for CI-specific setup 2026-02-20 01:02:37 -05:00
Achintha Isuru
1510b69d59 feat: Enhance mobile CI workflow to compare all changes in PRs and streamline analysis commands 2026-02-19 17:13:03 -05:00
Achintha Isuru
1dd3699373 feat: Update mobile CI workflow to use melos for build and analysis 2026-02-19 17:05:56 -05:00
Achintha Isuru
b6c3fb8487 feat: Update Flutter version to 3.38.x in mobile CI workflow 2026-02-19 16:49:23 -05:00
Achintha Isuru
410e5b5cd1 feat: Update Flutter version file path in mobile CI workflow 2026-02-19 16:47:25 -05:00
Achintha Isuru
b8772b301e feat: Update Flutter version handling in CI and adjust pubspec files for compatibility 2026-02-19 16:45:03 -05:00
Achintha Isuru
e650af87c0 feat: Add mobile CI workflow for change detection, compilation, and linting 2026-02-19 16:28:06 -05:00
zouantchaw
cb7c03abfc Generate dataconnect SDK in CI instead of tracking web artifacts 2026-02-13 10:51:29 -05:00
zouantchaw
1269f7228e Add web typecheck gate and remove order update any-casts 2026-02-13 10:42:47 -05:00
zouantchaw
8df6ac5569 Fix web-quality action pnpm setup order 2026-02-13 10:26:43 -05:00
zouantchaw
6502a2f983 Add quality gates and baseline tests for web/mobile 2026-02-12 23:21:25 -05:00