65 lines
1.9 KiB
YAML
65 lines
1.9 KiB
YAML
name: Run PR Checks
|
|
on: pull_request
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up JDK 11
|
|
uses: actions/setup-java@v2
|
|
with:
|
|
distribution: 'adopt'
|
|
java-version: '11'
|
|
- name: Cache Gradle packages
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.gradle/caches
|
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }}
|
|
restore-keys: ${{ runner.os }}-gradle
|
|
- name: Lint using detekt
|
|
run: ./gradlew detekt
|
|
unit:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Set up JDK 11
|
|
uses: actions/setup-java@v2
|
|
with:
|
|
distribution: 'adopt'
|
|
java-version: '11'
|
|
- name: Cache Gradle packages
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.gradle/caches
|
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle.kts') }}
|
|
restore-keys: ${{ runner.os }}-gradle
|
|
- name: Assemble with Gradle
|
|
run: ./gradlew assemble
|
|
- name: Run Unit Tests
|
|
run: ./gradlew test
|
|
- name: Cache Coverage Results
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ./**/build/reports/jacoco
|
|
key: ${{ runner.os }}-unit-${{ env.GITHUB_SHA }}
|
|
upload-code-coverage:
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- unit
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Cache Coverage Results
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ./**/build/reports/jacoco
|
|
key: ${{ runner.os }}-unit-${{ env.GITHUB_SHA }}
|
|
- name: Cache Coverage Results
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ./**/build/reports/jacoco
|
|
key: ${{ runner.os }}-integration-${{ env.GITHUB_SHA }}
|
|
- name: Publish code coverage to Codacy
|
|
uses: codacy/codacy-coverage-reporter-action@v1
|
|
with:
|
|
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
|