Update main.yml #4
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: 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 |