Skip to content

Commit

Permalink
feat: Final KMM Clean Up (#1814)
Browse files Browse the repository at this point in the history
* Feat: KMP Library Setup (#1766)

* Migrating from hilt to koin (This) (#1764)

* Migrating from hilt to koin

* Fixed Instance creation error

* refactor: Removed Hilt and migrated to Koin

This commit removes Hilt and migrates the project to Koin for dependency injection.

The following
 changes were made:

- Removed the `AndroidHiltConventionPlugin`.
- Added the `AndroidKoinConventionPlugin`.
- Updated dependencies to use Koin.
- Updated KSP configuration for Koin.
- Updated feature modules to use Koin.
- Updated common modules to use Koin
.
- Removed Hilt annotations and replaced them with Koin annotations.
- Updated ViewModels to use Koin for dependency injection.
- Updated modules to use Koin for dependency injection.

* Formatted Dependencies

* migrating from hilt to koin clean up commit

* Revert "migrating from hilt to koin clean up commit"

This reverts commit bb63058.

---------

Co-authored-by: Sk Niyaj Ali <[email protected]>

* Feat: KMP Library Setup

---------

Co-authored-by: Nagarjuna <[email protected]>

* Feat: [:core:model] - Migrated to KMM (#1770)

* Feat: [:core:common] KMP Migration (#1768)

* Feat: [:core:common] KMP Migration

* Updated Usage Declaration

* Feat: [:core:datastore] - Migrated to KMP (#1769)

* Feat: [:core:network] - Migrated to KMP (#1772)

* Feat: [:core:network] - Migrated to KMP

* Feat: [:core:data] - Migrated to KMP Library

* Feat: [:core:designsystem] - Migrated to KMP with CMP Library (#1774)

* Feat: [:core:ui] - Migrated to KMP with CMP Library (#1775)

* Feat: [:feature:auth] - Migrated to Kotlin Multiplatform (#1782)

* Feat: [:feature:auth] - Migrated to Kotlin Multiplatform

* Added Support For Web

* Feat: Migrated Passcode Module to KMP (#1783)

* Feat: Migrated Home Module to KMP (#1784)

* Feat: Migrated Edit Password Module to KMP (#1787)

* Feat: Migrated FAQ module to kmp (#1786)

* Feat: Migrated Settings Module to KMP (#1785)

* Feat: Migrated Profile Module to KMP (#1788)

* Feat: Migrated History Module to KMP (#1790)

* Feat: Migrated Payments Module to KMP (#1791)

* Feat: Migrated Finance Module to KMP (#1792)

* Feat: Migrated Accounts Module to KMP (#1793)

* Feat: Migrated Accounts Module to KMP

* Updated README.md

* Update README.md

* Feat: Migrated Invoices Module to KMP (#1794)

* Feat: Migrated KYC Module to KMP (#1798)

* Migrated Notification Module to KMP (#1799)

* Feat: Migrated KYC Module to KMP

* Feat: Migrated Notification Module to KMP

* Feat: Migrated Saved Card Module to KMP (#1800)

* Feat: Migrated Receipt Module to KMP (#1801)

* fix: Ios Build (#1802)

* Feat: Migrated SI Module to KMP (#1803)

* Feat: Migrated Request Money Module to KMP (#1807)

* Feat: Migrated Send Money Module to KMP (#1808)

* Feat: Migrated Make Transfer Module to KMP (#1809)

* Feat: Migrated QR Module to KMP (#1810)

* Feat: Migrated UPI Setup Module to KMP (#1811)

* Feat: Final Clean-up For KMP (#1812)

* Feat: Final Cleanup For KMP

* Update README.md

* Update EditPassword README.md

* Update FAQ README.md

* Update Finance README.md

* Update History README.md

* Update Home README.md

* Update Invoice README.md

* Update KYC README.md

* Update Make Transfer README.md

* Update Notification README.md

* Update Payments README.md

* Update Profile README.md

* Update Saved Card README.md

* Update Send Money README.md

* Update Settings README.md

* Update SI README.md

* Migrating from hilt to koin (This) (#1764)

* Migrating from hilt to koin

* Fixed Instance creation error

* refactor: Removed Hilt and migrated to Koin

This commit removes Hilt and migrates the project to Koin for dependency injection.

The following
 changes were made:

- Removed the `AndroidHiltConventionPlugin`.
- Added the `AndroidKoinConventionPlugin`.
- Updated dependencies to use Koin.
- Updated KSP configuration for Koin.
- Updated feature modules to use Koin.
- Updated common modules to use Koin
.
- Removed Hilt annotations and replaced them with Koin annotations.
- Updated ViewModels to use Koin for dependency injection.
- Updated modules to use Koin for dependency injection.

* Formatted Dependencies

* migrating from hilt to koin clean up commit

* Revert "migrating from hilt to koin clean up commit"

This reverts commit bb63058.

---------

Co-authored-by: Sk Niyaj Ali <[email protected]>

* Profile UI redesign  (#1767)

* Refactor Profile UI

* Fixed Build Issue

* Profile UI Bug Fix & Improvement

* added placeholder for  when uri is null

cleanup

fix spotless test failure

* Fix - CI Build Issue

---------

Co-authored-by: Sk Niyaj Ali <[email protected]>

* refactor: Redesign payment screen (#1773)

* refactor: Redesign payment screen

* resolved detekt error

* refactor : changed current theme instead of using NewUi

* resolved spotless errors

* refactor: Redesign finance screen (#1777)

* refactor: Redesign payment screen

* resolved detekt error

* refactor : changed current theme instead of using NewUi

* resolved spotless errors

* refactor: Redesign finance screen UI

* resolved spotless errors

* resolved conflicts

* changed structure of accounts screen

* refactor padding values in finance screen

* fix: dark theme colors (#1789)

* fix: dark theme colors

* fixed edit icon tint

* Fix invoice api (#1797)

* Redesign requeset screen UI

* fix MissingKoinDefinitionException

* removed comments and fixed share qr code bug

* fix: Invoice APIs

* update readme file (#1804)

* update readme file

* update readme file

* update readme file with how to contribute

* Add branch policy (#1805)

* update readme file

* update readme file

* update readme file with how to contribute

* update readme file with how to contribute

* update readme file with branch Policy

---------

Co-authored-by: Rajan Maurya <[email protected]>

* Migrating from hilt to koin (This) (#1764)

* Migrating from hilt to koin

* Fixed Instance creation error

* refactor: Removed Hilt and migrated to Koin

This commit removes Hilt and migrates the project to Koin for dependency injection.

The following
 changes were made:

- Removed the `AndroidHiltConventionPlugin`.
- Added the `AndroidKoinConventionPlugin`.
- Updated dependencies to use Koin.
- Updated KSP configuration for Koin.
- Updated feature modules to use Koin.
- Updated common modules to use Koin
.
- Removed Hilt annotations and replaced them with Koin annotations.
- Updated ViewModels to use Koin for dependency injection.
- Updated modules to use Koin for dependency injection.

* Formatted Dependencies

* migrating from hilt to koin clean up commit

* Revert "migrating from hilt to koin clean up commit"

This reverts commit bb63058.

---------

Co-authored-by: Sk Niyaj Ali <[email protected]>

* Merge kmm-impl to dev

* feat: Final Dev Cleanup

- Fixed CI Workflow
- Enabled Weekly & Monthly Release
- Fixed Release Build Issue

---------

Co-authored-by: Nagarjuna <[email protected]>
Co-authored-by: Rajan Maurya <[email protected]>
Co-authored-by: Pronay Sarker <[email protected]>
Co-authored-by: kapmaurya <[email protected]>
  • Loading branch information
5 people authored Nov 19, 2024
1 parent 3782fd0 commit 6980ca7
Show file tree
Hide file tree
Showing 41 changed files with 1,957 additions and 1,375 deletions.
6 changes: 3 additions & 3 deletions .github/actions/create-release-notes/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,16 @@ runs:
id: version-generator
shell: bash
run: |
mkdir -p ./app/build/outputs/
mkdir -p ./mifospay-android/build/outputs/
echo "Previous Release Tag:"
echo "${{ steps.latest-release-tag.outputs.result }}"
echo "Full Changelog:"
CHANGELOG="${{ steps.generate-notes.outputs.result }}"
echo -e "$CHANGELOG"
printf "$CHANGELOG" > ./mifospay/build/outputs/changelogGithub
printf "$CHANGELOG" > ./mifospay-android/build/outputs/changelogGithub
echo "Beta Changelog:"
git log --format="* %s" HEAD^..HEAD
git log --format="* %s" HEAD^..HEAD > ./mifospay/build/outputs/changelogBeta
git log --format="* %s" HEAD^..HEAD > ./mifospay-android/build/outputs/changelogBeta
9 changes: 4 additions & 5 deletions .github/actions/inflate-secrets/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,25 @@ runs:
- name: Mock debug google-services.json
shell: bash
run: |
cp .github/mock-google-services.json mifospay/src/demo/google-services.json
cp .github/mock-google-services.json mifospay/src/prod/google-services.json
cp .github/mock-google-services.json mifospay-android/google-services.json
- name: Inflate release_keystore.keystore
shell: bash
env:
KEYSTORE: ${{ inputs.keystore }}
run: |
echo $KEYSTORE | base64 --decode > mifospay/release_keystore.keystore
echo $KEYSTORE | base64 --decode > mifospay-android/release_keystore.keystore
- name: Inflate google-services.json
shell: bash
env:
GOOGLE_SERVICES: ${{ inputs.google-services }}
run: |
echo $GOOGLE_SERVICES > mifospay/google-services.json
echo $GOOGLE_SERVICES > mifospay-android/google-services.json
- name: Inflate playStorePublishServiceCredentialsFile.json
shell: bash
env:
CREDS: ${{ inputs.playstore-creds }}
run: |
echo $CREDS > mifospay/playStorePublishServiceCredentialsFile.json
echo $CREDS > mifospay-android/playStorePublishServiceCredentialsFile.json
Original file line number Diff line number Diff line change
@@ -1,22 +1,49 @@
name: On Push
name: Internal Or Beta Release

on:
workflow_dispatch:
inputs:
beta:
description: 'true if this is a beta release'
release_type:
required: false
default: 'false'
push:
branches:
- master
default: 'internal'
description: Please select the release type
type: choice
options:
- internal
- beta

env:
SUPPLY_UPLOAD_MAX_RETRIES: 5

jobs:
build_desktop_app:
strategy:
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest

runs-on: ${{ matrix.os }}
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17

- name: Build Desktop App
env:
NOTARIZATION_APPLE_ID: ${{ secrets.NOTARIZATION_APPLE_ID }}
NOTARIZATION_PASSWORD: ${{ secrets.NOTARIZATION_PASSWORD }}
NOTARIZATION_TEAM_ID: ${{ secrets.NOTARIZATION_TEAM_ID }}
run: ./gradlew packageReleaseDistributionForCurrentOS

app_build:
name: Github, Firebase, and Sentry Release
needs: [ build_desktop_app ]
runs-on: ubuntu-latest
permissions:
contents: write
Expand Down Expand Up @@ -63,33 +90,37 @@ jobs:
KEYSTORE_ALIAS_PASSWORD: ${{ secrets.ORIGINAL_KEYSTORE_ALIAS_PASSWORD }}
VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
run: |
./gradlew :mifospay:assembleRelease
./gradlew :mifospay-android:assembleRelease
- name: Archive Build
uses: actions/upload-artifact@v4
with:
path: ./**/*.apk

- name: Create Version File
if: github.event.inputs.beta == 'true'
if: github.event.inputs.release_type == 'beta'
shell: bash
env:
VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
run: |
echo $VERSION_CODE > ./app/build/outputs/version_code.txt
echo $VERSION_CODE > ./mifospay-android/build/outputs/version_code.txt
- name: Create Github Pre-Release
if: github.event.inputs.beta == 'true'
if: github.event.inputs.release_type == 'beta'
uses: softprops/[email protected]
with:
tag_name: ${{ steps.rel_number.outputs.version }}
body_path: ./app/build/outputs/changelogGithub
body_path: ./mifospay-android/build/outputs/changelogGithub
draft: false
prerelease: true
files: |
./mifospay/build/outputs/apk/demo/release/mifospay-demo-release.apk
./mifospay/build/outputs/apk/prod/release/mifospay-prod-release.apk
./mifospay/build/outputs/version_code.txt
./mifospay-android/build/outputs/apk/demo/release/mifospay-android-demo-release.apk
./mifospay-android/build/outputs/apk/prod/release/mifospay-android-prod-release.apk
./mifospay-android/build/outputs/version_code.txt
./mifospay-desktop/build/compose/binaries/main-release/exe/*.exe
./mifospay-desktop/build/compose/binaries/main-release/msi/*.msi
./mifospay-desktop/build/compose/binaries/main-release/deb/*.deb
./mifospay-desktop/build/compose/binaries/main-release/dmg/*.dmg
- name: Print `git status`
run: git status
Expand Down Expand Up @@ -144,11 +175,11 @@ jobs:
KEYSTORE_ALIAS_PASSWORD: ${{ secrets.UPLOAD_KEYSTORE_ALIAS_PASSWORD }}
VERSION_CODE: ${{ steps.rel_number.outputs.version-code }}
run: |
./gradlew :mifospay:bundleRelease
./gradlew :mifospay-android:bundleRelease
- name: Deploy to Playstore Internal
run: bundle exec fastlane deploy_internal

- name: Promote Internal to Beta
if: github.event.inputs.beta == 'true'
if: github.event.inputs.release_type == 'beta'
run: bundle exec fastlane promote_to_beta
49 changes: 49 additions & 0 deletions .github/workflows/make_site.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Publish Web App

on:
# Runs on pushes targeting the default branch
push:
branches: ["dev"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
build_web_app:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17

- name: Build Web(JS) App
run: ./gradlew jsBrowserDistribution

- name: Setup Pages
uses: actions/configure-pages@v5

- name: Upload static files as artifact
uses: actions/upload-pages-artifact@v3
with:
path: './mifospay-web/build/dist/js/productionExecutable/'

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
50 changes: 49 additions & 1 deletion .github/workflows/master_dev_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Mobile-Wallet CI[Master/Dev]

on:
push:
branches: [ dev, master, payment_hub ]
branches: [ dev ]
pull_request:

concurrency:
Expand Down Expand Up @@ -62,6 +62,8 @@ jobs:
**/build/reports/detekt/detekt.md
dependency_guard:
needs: setup
runs-on: ubuntu-latest
Expand Down Expand Up @@ -120,6 +122,8 @@ jobs:
**/build/reports/lint-results-*.html
**/build/test-results/test*UnitTest/**.xml
build:
needs: [ checks, dependency_guard, tests_and_lint ]
runs-on: ubuntu-latest
Expand All @@ -144,3 +148,47 @@ jobs:
name: APKs
path: '**/build/outputs/apk/**/*.apk'

build_desktop_app:
needs: [ checks, dependency_guard, tests_and_lint ]
strategy:
matrix:
os:
- windows-latest
- ubuntu-latest
- macos-latest

runs-on: ${{ matrix.os }}
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17

- name: Build Desktop App
run: ./gradlew packageDistributionForCurrentOS

- name: Upload Windows Apps
if: matrix.os == 'windows-latest'
uses: actions/upload-artifact@v4
with:
name: Windows-App
path: |
./mifospay-desktop/build/compose/binaries/main/exe/*.exe
./mifospay-desktop/build/compose/binaries/main/msi/*.msi
- name: Upload Linux App
if: matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v4
with:
name: Windows-App
path: './mifospay-desktop/build/compose/binaries/main/deb/*.deb'

- name: Upload MacOS App
if: matrix.os == 'macos-latest'
uses: actions/upload-artifact@v4
with:
name: Windows-App
path: './mifospay-desktop/build/compose/binaries/main/dmg/*.dmg'
6 changes: 2 additions & 4 deletions .github/workflows/monthly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@ name: Bump our Calendar Version

on:
workflow_dispatch:
# This is a monthly cron job that runs on the first of the month at 3:30 AM UTC
# Turning off for now
# schedule:
# - cron: '30 3 1 * *'
schedule:
- cron: '30 3 1 * *'
jobs:
tag:
name: Tag Monthly Release
Expand Down
12 changes: 5 additions & 7 deletions .github/workflows/weekly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@ name: Tag Weekly Release

on:
workflow_dispatch:
# This is a weekly cron job that runs every Sunday at 4:00 AM UTC
# Turning off for now
# schedule:
# - cron: '0 4 * * 0'
schedule:
- cron: '0 4 */2 * 0'
jobs:
tag:
name: Tag Weekly Release
Expand Down Expand Up @@ -33,9 +31,9 @@ jobs:
github.rest.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'onPush.yml',
ref: 'master',
workflow_id: 'internal_or_beta_release.yml',
ref: 'dev',
inputs: {
"beta": "true",
"release_type": "beta",
},
})
3 changes: 3 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,10 @@ GEM
xcpretty (~> 0.2, >= 0.0.7)

PLATFORMS
arm64-darwin-22
x64-mingw-ucrt
x86_64-linux


DEPENDENCIES
fastlane
Expand Down
Loading

0 comments on commit 6980ca7

Please sign in to comment.