Merge pull request #1836 from niyajali/configure-actions

Refactor: Migrate CI to Use GitHub Actions
This commit is contained in:
Sk Niyaj Ali 2024-12-17 15:50:32 +05:30 committed by GitHub
commit bf2f9a60ce
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 73 additions and 90 deletions

View File

@ -1,35 +0,0 @@
name: Publish Android App on Firebase
on:
workflow_dispatch:
jobs:
publish_android_app_on_firebase:
runs-on: macos-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Publish Android App on Firebase
uses: openMF/KMP-android-firebase-publish-action@v1.0.0
with:
android_package_name: 'mifospay-android'
keystore_file: ${{ secrets.ORIGINAL_KEYSTORE_FILE }}
keystore_password: ${{ secrets.ORIGINAL_KEYSTORE_FILE_PASSWORD }}
key_alias: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS }}
key_password: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS_PASSWORD }}
google_services: ${{ secrets.GOOGLESERVICES }}
firebase_creds: ${{ secrets.FIREBASECREDS }}
github_token: ${{ secrets.GITHUB_TOKEN }}
target_branch: 'dev'

View File

@ -1,29 +0,0 @@
name: Publish Web App
on:
workflow_dispatch:
concurrency:
group: "pages"
cancel-in-progress: false
permissions:
contents: read # Read repository contents
pages: write # Write to GitHub Pages
id-token: write # Write authentication tokens
jobs:
build_web_app:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Build & Publish Web App
uses: openMF/KMP-web-publish-action@v1.0.0
id: deployment
with:
web_package_name: 'mifospay-web'

View File

@ -84,5 +84,7 @@ jobs:
uses: openMF/mifos-mobile-github-actions/.github/workflows/pr-check.yaml@main
secrets: inherit
with:
android_package_name: 'mifospay-android'
desktop_package_name: 'mifospay-desktop'
android_package_name: 'mifospay-android' # <-- Change Your Android Package Name
desktop_package_name: 'mifospay-desktop' # <-- Change Your Desktop Package Name
web_package_name: 'mifospay-web' # <-- Change Your Web Package Name
ios_package_name: 'mifospay-ios' # <-- Change Your iOS Package Name

View File

@ -54,9 +54,6 @@
# - Manual workflow dispatch
# - Callable from other workflows
# https://github.com/openMF/mifos-mobile-github-actions/blob/main/.github/workflows/tag-weekly-release.yaml
# ##############################################################################
# DON'T EDIT THIS FILE UNLESS NECESSARY #
# ##############################################################################
@ -79,7 +76,40 @@ concurrency:
jobs:
tag:
name: Tag Weekly Release
uses: openMF/mifos-mobile-github-actions/.github/workflows/tag-weekly-release.yaml@main
secrets: inherit
with:
target_branch: 'dev'
runs-on: ubuntu-latest
steps:
# Checkout the repository with full history for proper versioning
- uses: actions/checkout@v4
with:
fetch-depth: 0
# Setup Java environment for Gradle operations
- name: Set up JDK 17
uses: actions/setup-java@v4.2.2
with:
distribution: 'temurin'
java-version: '17'
# Create and push a new version tag using Reckon
# This uses the 'final' stage for production-ready releases
- name: Tag Weekly Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./gradlew :reckonTagPush -Preckon.stage=final
# Trigger the build and publish workflow for beta release
# This starts the process of building and deploying the app to various platforms
- name: Trigger Workflow
uses: actions/github-script@v7
with:
script: |
github.rest.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'multi-platform-build-and-publish.yml',
ref: 'dev',
inputs: {
"release_type": "beta",
},
})

View File

@ -10,7 +10,7 @@ GEM
artifactory (3.0.17)
atomos (0.1.3)
aws-eventstream (1.3.0)
aws-partitions (1.1013.0)
aws-partitions (1.1023.0)
aws-sdk-core (3.214.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
@ -19,7 +19,7 @@ GEM
aws-sdk-kms (1.96.0)
aws-sdk-core (~> 3, >= 3.210.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.174.0)
aws-sdk-s3 (1.176.1)
aws-sdk-core (~> 3, >= 3.210.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
@ -68,7 +68,7 @@ GEM
faraday_middleware (1.2.1)
faraday (~> 1.0)
fastimage (2.3.1)
fastlane (2.225.0)
fastlane (2.226.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
@ -108,7 +108,7 @@ GEM
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.3.0)
xcpretty (~> 0.4.0)
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
fastlane-plugin-firebase_app_distribution (0.9.1)
google-apis-firebaseappdistribution_v1 (~> 0.3.0)
@ -158,11 +158,11 @@ GEM
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.7)
http-cookie (1.0.8)
domain_name (~> 0.5)
httpclient (2.8.3)
jmespath (1.6.2)
json (2.8.2)
json (2.9.0)
jwt (2.9.3)
base64
mini_magick (4.13.2)
@ -182,8 +182,8 @@ GEM
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.3.9)
rouge (2.0.7)
rexml (3.4.0)
rouge (3.28.0)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
security (0.1.5)
@ -214,8 +214,8 @@ GEM
colored2 (~> 3.1)
nanaimo (~> 0.4.0)
rexml (>= 3.3.6, < 4.0)
xcpretty (0.3.0)
rouge (~> 2.0.7)
xcpretty (0.4.0)
rouge (~> 3.28.0)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)

View File

@ -53,29 +53,44 @@ platform :ios do
desc "Build iOS application"
lane :build_ios do
build_ios_app(
project: "mifospay-ios/iosApp.xcodeproj/project.pbxproj",
project: "mifospay-ios/iosApp.xcodeproj",
scheme: "iosApp",
# Set configuration to debug for now
configuration: "Debug",
output_directory: "mifospay-ios/",
output_name: "mifospay-ios-app"
output_name: "mifospay-ios-app.ipa",
skip_codesigning: "true",
skip_archive: "true"
)
end
lane :increment_version do
latest_release = firebase_app_distribution_get_latest_release(
app: "1:728434912738:ios:86a7badfaed88b841a1dbb"
)
increment_build_number(
xcodeproj: "mifospay-ios/iosApp.xcodeproj",
build_number: latest_release[:buildVersion].to_i + 1
)
end
desc "Upload iOS application to Firebase App Distribution"
lane :deploy_on_firebase do
increment_build_number(
xcodeproj: "mifospay-ios/iosApp.xcodeproj/project.pbxproj"
xcodeproj: "mifospay-ios/iosApp.xcodeproj"
)
build_ios_app(
project: "mifospay-ios/iosApp.xcodeproj/project.pbxproj",
# Set configuration to debug for now
project: "mifospay-ios/iosApp.xcodeproj",
scheme: "iosApp",
configuration: "Debug",
skip_codesigning: "true",
skip_archive: "true"
)
release = firebase_app_distribution(
app: "1:728434912738:ios:86a7badfaed88b841a1dbb",
service_credentials_file: "mifospay-android/firebaseAppDistributionServiceCredentialsFile.json",
release_notes_file: "mifospay-android/build/outputs/changelogBeta",
service_credentials_file: "mifospay-ios/firebaseAppDistributionServiceCredentialsFile.json",
release_notes_file: "mifospay-ios/changelogBeta",
groups: "mifos-wallet-testers"
)