Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(actions): Migrated Android & iOS Workflows to use Fastlane #1841

Merged
merged 7 commits into from
Dec 31, 2024

Conversation

niyajali
Copy link
Collaborator

@niyajali niyajali commented Dec 30, 2024

Issue Fix

Fixes #{Issue Number}
Jira Task: MW-173

Screenshots

Description

  • Apply the AndroidStyle.xml style template to your code in Android Studio.

  • Run the unit tests with ./gradlew check to make sure you didn't break anything

  • If you have multiple commits please combine them into one commit by squashing them.

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`.
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`.
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`.
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.
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.
@niyajali niyajali self-assigned this Dec 30, 2024
@therajanmaurya therajanmaurya merged commit f0d3d72 into openMF:dev Dec 31, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants