0
0
mirror of https://github.com/ankidroid/Anki-Android.git synced 2024-09-20 12:02:16 +02:00
Anki-Android/.github/workflows/lint.yml

76 lines
2.0 KiB
YAML
Raw Normal View History

name: Code Quality Checks
on:
workflow_dispatch:
pull_request:
branches:
- '**'
paths:
- '.github/workflows/**'
- 'AnkiDroid/**'
- 'api/**'
- 'lint-rules/**'
- 'annotations/**'
- '**/*.gradle'
- 'gradle/**'
push:
branches:
- master
- i18n_sync
- 'release**'
paths:
- '.github/workflows/**'
- 'AnkiDroid/**'
- 'api/**'
- 'lint-rules/**'
- 'annotations/**'
- '**/*.gradle'
- 'gradle/**'
jobs:
lintRelease:
name: Lint Release
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- uses: styfle/cancel-workflow-action@0.9.0
with:
all_but_latest: true
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Configure JDK 1.11
uses: actions/setup-java@v2
with:
distribution: "adopt"
java-version: "11" # ubuntu-latest is about to default to 11, force it everywhere
- name: Verify JDK11
# Default JDK varies depending on different runner flavors, make sure we are on 11
# Run a check that exits with error unless it is 11 version to future-proof against unexpected upgrades
run: java -fullversion 2>&1 | grep '11.0'
shell: bash
- name: Gradle Cache
uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}-v1
- name: Warm Gradle Cache
# This makes sure we fetch gradle network resources with a retry
uses: nick-invision/retry@v2
with:
timeout_minutes: 10
retry_wait_seconds: 60
max_attempts: 3
command: ./gradlew :AnkiDroid:compilePlayReleaseJavaWithJavac compileLint lint-rules:compileTestJava
- name: Run Lint Release
run: ./gradlew :api:lintRelease :AnkiDroid:lintPlayRelease
- name: Test Lint Rules
run: ./gradlew lint-rules:test