* chore: Update web dependencies
Updated the following dependencies:
- Upgraded `enhanced-resolve` from 5.17.0 to 5.18.0
- Upgraded `karma` from 6.4.3 to 6.4.4
- Upgraded `kotlin-web-helpers` to 2.0.0
- Upgraded `mocha` from 10.7.0 to 10.7.3
- Upgraded `webpack` from 5.93.0 to 5.94.0
- Upgraded `ws` from 8.5.0 to 8.18.0
Removed the following dependencies:
- `@types/eslint`
- `@types/eslint-scope`
Also, updated the multi-platform build and publish workflow to use `niyajali/mifos-mobile-github-actions` instead of `openMF/mifos-mobile-github-actions`.
* ci: Update GitHub Actions workflow
This commit updates the GitHub Actions workflows to:
- Remove the pull request trigger from the `build-and-deploy-site` workflow. The workflow will now only be triggered manually or on a schedule.
- Add `build_ios` as an input to the `multi-platform-build-and-publish` workflow to control whether the iOS app should be built.
- Remove unused inputs from the `multi-platform-build-and-publish` workflow, including `publish_desktop` and `publish_web`.
* chore: Add Fastlane lanes and update workflows
This commit introduces new Fastlane lanes for Android and iOS:
- **Android:**
- `assembleDebugApks`: Assembles debug APKs.
- `assembleReleaseApks`: Assembles release APKs using a keystore.
- `bundlePlayStoreRelease`: Bundles a Play Store release, including generating a version and release notes.
- `deploy_on_firebase`: Deploys the release APK to Firebase App Distribution.
- `buildAndSignApp`: A private lane to build and sign the app with provided keystore credentials.
- `generateVersion`: Generates and sets version information.
- `generateReleaseNotes`: Generates release notes from git commits.
- **iOS:**
- `build_ios`: Builds the iOS app with optional configuration (defaults to Debug).
- `increment_version`: Increments the build number using Firebase App Distribution's latest release.
- `deploy_on_firebase`: Deploys the iOS app to Firebase App Distribution, including incrementing the build number.
- `generateReleaseNotes`: Generates release notes from git commits.
It also updates the following workflows:
- **promote-to-production.yml**: Removes the manual trigger and workflow dispatch, making it only triggered by GitHub releases.
- **tag-weekly-release.yml**: Updates the cron schedule to run weekly.
- **multi-platform-build-and-publish.yml**: Switches back to using `openMF/mifos-mobile-github-actions` instead of `niyajali/mifos-mobile-github-actions`.
Additionally, it relocates the keystore to a `keystores` directory, updates the `build.gradle.kts` file to reflect this change, and adds necessary metadata for the Play Store. It also updates the `AppFile` to use the playStorePublishServiceCredentialsFile from the secrets directory and adds a `secrets` directory to the `.gitignore`.
* ci: Remove `publish_android` input from multi-platform workflow
This commit removes the `publish_android` input from the `multi-platform-build-and-publish` workflow.
This input was previously used to control whether the Android app should be published to the Play Store.
Since this functionality is no longer required, the input has been removed to simplify the workflow configuration.
* chore: Remove `repoName` param from `generateReleaseNotes` lane
This commit removes the `repoName` parameter from the `generateReleaseNotes` lane in the Fastfile. The `repoName` parameter is no longer needed as the lane now automatically determines the repository name.
This change simplifies the `generateReleaseNotes` lane and makes it more robust.
* Chore: Updated Fastlane and CI for release
This commit adds Fastlane for automating the Android release process and configures CI for internal, beta, and production releases using GitHub Actions.
The following changes were made:
- Added Fastlane configuration files for building, testing, and deploying the app.
- Added GitHub Actions workflows for triggering internal, beta, and production releases.
- Updated .gitignore to exclude Fastlane report files.
- Updated dependency versions in Gemfile.lock.
- Added a README for Fastlane.
- Updated the make_site workflow to trigger on released releases instead of published releases.
* Configured CI/CD And Fastlane to Release App to Play Store
This commit introduces a comprehensive CI/CD pipeline using Github Actions and Fastlane.
The following
workflows have been added:
- **On Push:** Builds, archives, and creates Github pre-releases for beta builds. Deploys to Playstore internal track and promotes to beta if specified.
- **Play Publish:** Builds and deploys to Playstore internal track. Optionally promotes to beta.
- **
Production Deploy:** Promotes beta releases to production on the Playstore.
- **Bump our Calendar Version:** Creates monthly releases.
- **Tag Weekly Release:** Tags weekly releases and triggers the On Push workflow for beta builds.
Additionally, Fastlane has been configured to handle deployments to the Playstore and Amazon Appstore. Secret inflation and release note generation have been automated using Github Actions.
* Configured CI/CD And Fastlane to Release App to Play Store
This commit introduces a comprehensive CI/CD pipeline using Github Actions and Fastlane.
The following
workflows have been added:
- **On Push:** Builds, archives, and creates Github pre-releases for beta builds. Deploys to Playstore internal track and promotes to beta if specified.
- **Play Publish:** Builds and deploys to Playstore internal track. Optionally promotes to beta.
- **
Production Deploy:** Promotes beta releases to production on the Playstore.
- **Bump our Calendar Version:** Creates monthly releases.
- **Tag Weekly Release:** Tags weekly releases and triggers the On Push workflow for beta builds.
Additionally, Fastlane has been configured to handle deployments to the Playstore and Amazon Appstore. Secret inflation and release note generation have been automated using Github Actions.
* fix: Improved pre-commit and pre-push scripts
* Updated Badging
* Updated Badging