name: Validate Android on: push: branches: - main paths: - '.github/workflows/validate-android.yml' - 'package/android/**' - 'package/.editorconfig' pull_request: paths: - '.github/workflows/validate-android.yml' - 'package/android/**' - 'package/.editorconfig' jobs: lint: name: Gradle Lint runs-on: ubuntu-latest defaults: run: working-directory: ./package/android steps: - uses: actions/checkout@v4 - name: Setup JDK 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - name: Restore node_modules from cache uses: actions/cache@v3 id: yarn-cache with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Install node_modules run: yarn install --frozen-lockfile --cwd .. - name: Install node_modules for example/ run: yarn install --frozen-lockfile --cwd ../example - name: Restore Gradle cache uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle- - name: Run Gradle Lint run: ./gradlew lint --build-cache - name: Parse Gradle Lint Report uses: yutailang0119/action-android-lint@v3 with: report-path: ./package/android/build/reports/*.xml - uses: actions/upload-artifact@v3 with: name: gradle-lint-report path: ./package/android/build/reports/*.xml ktlint: name: Kotlin Lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: | curl -sSLO https://github.com/pinterest/ktlint/releases/download/1.0.0/ktlint && chmod a+x ktlint && sudo mv ktlint /usr/local/bin/ - name: run ktlint working-directory: ./package/android/ run: | ktlint --reporter=checkstyle,output=build/ktlint-report.xml --relative --editorconfig=./.editorconfig continue-on-error: true - uses: yutailang0119/action-ktlint@v3 with: report-path: ./package/android/build/*.xml continue-on-error: false - uses: actions/upload-artifact@v3 with: name: ktlint-report path: ./package/android/build/*.xml