Skip to content

Merge pull request #3006 from CruGlobal/updateMenuLinks #4437

Merge pull request #3006 from CruGlobal/updateMenuLinks

Merge pull request #3006 from CruGlobal/updateMenuLinks #4437

Workflow file for this run

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