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.
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.
- 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.
🔄 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
🔄 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/
The issue templates for Base44 backend validation, frontend
update, and SR&ED tasks, as well as the Base44 entity schemas
reference document, are no longer needed and have been removed
to reduce clutter and improve maintainability. These files were
specific to a previous architecture and are not relevant to the
current project.
This commit introduces two new issue templates to streamline the
process of updating the backend and frontend based on Base44 exports.
The "API Validation and Backend Update from Base44" template is for
analyzing API changes, updating the backend (Data Connect, Cloud
Functions), and ensuring compatibility. It includes sections for
objective, SR&ED justification, technical implementation notes, and
acceptance criteria.
The "Frontend Update from Base44" template is for integrating the
latest UI changes (components, queries, mutations) from a Base44
export. It also includes sections for objective, SR&ED justification,
technical implementation notes, and acceptance criteria.
This commit introduces several new files and updates to support
SR&ED tracking and project management:
- Adds a template for SR&ED tasks to standardize issue creation.
- Adds a Makefile command to set up GitHub labels from a YAML file.
- Adds a Makefile command to export SR&ED-eligible issues to a
Markdown file.
- Adds a Makefile command to create issues from a file.
- Adds documentation for SR&ED tracking and development
conventions.
- Adds a YAML file to define GitHub labels.
- Adds scripts to set up GitHub labels, export issues, and create
issues from a file.
- Updates the project plan to include SR&ED considerations.
These changes aim to improve project organization, facilitate
SR&ED claims, and streamline development workflows.