Update dependency org.jetbrains.kotlinx:kover-gradle-plugin to v0.7.3 #4438
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build App | |
on: | |
push: | |
branches: [develop, master, feature/*] | |
pull_request: | |
branches: [develop, master, feature/*] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Build App | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup Java JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version-file: ".java-version" | |
- name: Build App | |
uses: gradle/gradle-build-action@v2 | |
with: | |
arguments: bundle --scan | |
ktlint: | |
name: ktlint | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup Java JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version-file: ".java-version" | |
- name: Run ktlint | |
uses: gradle/gradle-build-action@v2 | |
with: | |
arguments: ktlintCheck --scan | |
- name: Archive ktlint results | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ktlint-results | |
path: "**/build/reports/ktlint/" | |
lint: | |
name: Lint Checks | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Setup Java JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version-file: ".java-version" | |
- name: Run Lint Checks | |
uses: gradle/gradle-build-action@v2 | |
with: | |
arguments: lint --scan | |
- name: Archive lint results | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: lint-results | |
path: "**/build/reports/lint-results*.*" | |
tests: | |
name: Unit Tests | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
testShard: [1, 2, 3, 4] | |
env: | |
ORG_GRADLE_PROJECT_testShard: ${{ matrix.testShard }} | |
ORG_GRADLE_PROJECT_testTotalShards: 4 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Cache Maven | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-maven-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-maven- | |
- name: Setup Java JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version-file: ".java-version" | |
- name: Run Unit Tests | |
uses: gradle/gradle-build-action@v2 | |
with: | |
cache-read-only: false | |
# cache-read-only: ${{ github.ref != 'refs/heads/master' && github.ref != 'refs/heads/develop' && !startsWith(github.ref, 'refs/heads/feature/') }} | |
arguments: test koverXmlReportDebug koverXmlReportProductionDebug --max-workers 1 --scan | |
- name: Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
fail_ci_if_error: true | |
token: ${{ secrets.CODECOV_TOKEN }} | |
verbose: true | |
- name: Archive Unit Test results | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: unit-test-results-${{ matrix.testShard }} | |
path: "**/build/reports/tests/" | |
qa_build: | |
name: Deploy QA Build | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' && github.ref == 'refs/heads/develop' | |
needs: [build, ktlint, lint, tests] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Import Firebase API Key | |
env: | |
FIREBASE_API_KEY: ${{ secrets.FIREBASE_API_KEY }} | |
run: echo $FIREBASE_API_KEY > firebase/firebase_api_key.json | |
- name: Setup Java JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: "temurin" | |
java-version-file: ".java-version" | |
- name: Build QA Universal APK | |
uses: gradle/gradle-build-action@v2 | |
with: | |
cache-read-only: true | |
arguments: :app:packageProductionQaUniversalApk -PfirebaseAppDistributionBuild --scan | |
env: | |
ORG_GRADLE_PROJECT_firebaseAppDistributionKeystoreStorePassword: ${{ secrets.BETA_KEYSTORE_PASSWORD }} | |
ORG_GRADLE_PROJECT_firebaseAppDistributionKeystoreKeyPassword: ${{ secrets.BETA_KEYSTORE_PASSWORD }} | |
- name: Upload QA Build to Firebase | |
uses: gradle/gradle-build-action@v2 | |
with: | |
cache-read-only: true | |
arguments: appDistributionUploadProductionQa -PfirebaseAppDistributionBuild --scan |