Skip to content

Update main.yml

Update main.yml #4

Workflow file for this run

name: AndroidBuild
on:
pull_request:
branches: [ main ]
push:
branches: [ main ]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/[email protected]
- name: Cache Gradle
uses: actions/[email protected]
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle-
- name: Setup Java JDK
uses: actions/[email protected]
with:
java-version: '17'
distribution: 'oracle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Run Lint Check
run: ./gradlew lintDebug
- name: Upload Build Lint Report
uses: actions/[email protected]
with:
name: lint-report.html
path: app/build/reports/lint-results-debug.html
unit-test:
needs: [ lint ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/[email protected]
- name: Creating local.properties with API_KEY
run: echo API_KEY=${{ secrets.API_KEY }} > ./local.properties
- name: Setup Java JDK
uses: actions/[email protected]
with:
java-version: '17'
distribution: 'oracle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Run Unit Tests
run: ./gradlew test
- name: Upload Unit Test Report
uses: actions/[email protected]
with:
name: unit-test-report
path: app/build/reports/tests/testDebugUnitTest/
instrumentation-test:
needs: [ unit-test ]
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/[email protected]
- name: Creating local.properties with API_KEY
run: echo API_KEY=${{ secrets.API_KEY }} > ./local.properties
- name: Setup Java JDK
uses: actions/[email protected]
with:
java-version: '17'
distribution: 'oracle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Run Espresso Tests
uses: ReactiveCircus/[email protected]
with:
api-level: 30
arch: x86_64
script: ./gradlew connectedCheck
- name: Upload Instrumentation Test Report
uses: actions/[email protected]
with:
name: instrumentation-test-report
path: app/build/reports/androidTests/connected/
static-code-analysis:
needs: [ instrumentation-test ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/[email protected]
- name: Creating local.properties with API_KEY
run: echo API_KEY=${{ secrets.API_KEY }} > ./local.properties
- name: Setup Java JDK
uses: actions/[email protected]
with:
java-version: '17'
distribution: 'oracle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Run Static Code Analysis
run: ./gradlew detekt
- name: Upload Static Code Analysis Report
uses: actions/[email protected]
with:
name: BitPost.apk
path: app/build/reports/detekt/detekt.html
build:
needs: [ static-code-analysis ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/[email protected]
- name: Creating local.properties with API_KEY
run: echo API_KEY=${{ secrets.API_KEY }} > ./local.properties
- name: Setup Java JDK
uses: actions/[email protected]
with:
java-version: '17'
distribution: 'oracle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Build with Gradle
run: ./gradlew build
- name: Upload a Build Artifact
uses: actions/[email protected]
with:
name: BitPost.apk
path: app/build/outputs/apk/debug/app-debug.apk