diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fb10034e7f..f36c17b089 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -25,11 +25,12 @@ env: ANDROID_KEY_PASSWORD: ${{ secrets.ANDROID_KEY_PASSWORD }} BASE_URL_BACKEND: ${{ secrets.BASE_URL_BACKEND }} BASE_URL_API: ${{ secrets.BASE_URL_API }} + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} jobs: GradleBuild: - runs-on: macos-latest + runs-on: ubuntu-latest outputs: status: ${{ steps.status.outputs.status }} steps: @@ -121,14 +122,45 @@ jobs: id: status run: echo "::set-output name=status::success" + Kover: + runs-on: ubuntu-latest + outputs: + status: ${{ steps.status.outputs.status }} + steps: + + - name: Clone Repo + uses: actions/checkout@v2 + + - name: Checkout submodules + run: git submodule update --init --recursive + + - name: Set up JDK 11 + uses: actions/setup-java@v1 + with: + java-version: 11 + + - name: Run Kover + run: | + ./gradlew koverCollectReports --parallel + + - name: Upload to Codecov + uses: codecov/codecov-action@v2 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: client/build/reports/kover/report.xml, common/build/reports/kover/report.xml, scopemob/build/reports/kover/report.xml, parsermob/build/reports/kover/report.xml + + - name: Set Job Status + id: status + run: echo "::set-output name=status::success" + Notify: runs-on: ubuntu-latest - needs: [ GradleBuild, XCodeBuild ] + needs: [ GradleBuild, XCodeBuild, Kover ] if: always() steps: - name: Notify slack success - if: needs.GradleBuild.outputs.status == 'success' && needs.XCodeBuild.outputs.status == 'success' + if: needs.GradleBuild.outputs.status == 'success' && needs.XCodeBuild.outputs.status == 'success' && needs.Kover.outputs.status == 'success' env: SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} uses: voxmedia/github-action-slack-notify-build@v1 @@ -138,7 +170,7 @@ jobs: color: good - name: Notify slack fail - if: false == (needs.GradleBuild.outputs.status == 'success') || false == (needs.XCodeBuild.outputs.status == 'success') + if: false == (needs.GradleBuild.outputs.status == 'success') || false == (needs.XCodeBuild.outputs.status == 'success') || false == (needs.Kover.outputs.status == 'success') env: SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} uses: voxmedia/github-action-slack-notify-build@v1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 44894ee9f9..908aa5170a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,7 +28,7 @@ env: jobs: GenerateArtifacts: - runs-on: macos-latest + runs-on: ubuntu-latest outputs: status: ${{ steps.status.outputs.status }} steps: diff --git a/README.md b/README.md index a0f14e3d98..ebc2446265 100755 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@

A currency converter application for most of the currencies used in the world.

You can quickly convert and make mathematical operations between currencies.

-

+

Buy Me a Coffee at ko-fi.com

## Included Currencies diff --git a/build.gradle.kts b/build.gradle.kts index a765c3af69..26db4c4e5f 100755 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,8 +4,11 @@ import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask plugins { - id(Plugins.DEPENDENCY_UPDATES) version Versions.DEPENDENCY_UPDATES - id(Plugins.BUILD_HEALTH) version Versions.BUILD_HEALTH + with(Plugins) { + id(DEPENDENCY_UPDATES) version Versions.DEPENDENCY_UPDATES + id(BUILD_HEALTH) version Versions.BUILD_HEALTH + id(KOVER) version Versions.KOVER + } } buildscript { @@ -25,6 +28,7 @@ buildscript { classpath(SQL_DELIGHT) classpath(MOKO_RESOURCES) classpath(BUILD_KONFIG) + classpath(KOVER) } } } diff --git a/buildSrc/src/main/kotlin/ClassPaths.kt b/buildSrc/src/main/kotlin/ClassPaths.kt index 595504d208..09fe47ea90 100644 --- a/buildSrc/src/main/kotlin/ClassPaths.kt +++ b/buildSrc/src/main/kotlin/ClassPaths.kt @@ -17,4 +17,5 @@ object ClassPaths { const val MOKO_RESOURCES = "dev.icerock.moko:resources-generator:${Versions.MOKO_RESOURCES}" const val BUILD_KONFIG = "com.codingfeline.buildkonfig:buildkonfig-gradle-plugin:${Versions.BUILD_KONFIG}" + const val KOVER = "org.jetbrains.kotlinx:kover:${Versions.KOVER}" } diff --git a/buildSrc/src/main/kotlin/Plugins.kt b/buildSrc/src/main/kotlin/Plugins.kt index 9e28d51af1..d4f2822211 100644 --- a/buildSrc/src/main/kotlin/Plugins.kt +++ b/buildSrc/src/main/kotlin/Plugins.kt @@ -19,4 +19,5 @@ object Plugins { const val MOKO_RESOURCES = "dev.icerock.mobile.multiplatform-resources" const val DEPENDENCY_UPDATES = "com.github.ben-manes.versions" const val BUILD_HEALTH = "com.autonomousapps.dependency-analysis" + const val KOVER = "org.jetbrains.kotlinx.kover" } diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index ef4c499a41..801855815b 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -34,4 +34,5 @@ object Versions { const val BUILD_KONFIG = "0.11.0" const val WORK_RUNTIME = "2.7.0" const val SPLASH_SCREEN = "1.0.0-alpha02" + const val KOVER = "0.4.1" }