diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8a0a986f5..9e5845806 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,47 +24,20 @@ jobs: distribution: 'zulu' java-version: 18 - - name: ktlint - run: ./gradlew lintKotlin + - name: Setup Android SDK + uses: android-actions/setup-android@v3 - - name: Tests & Detekt & Android lint - run: ./gradlew :catalog:assembleDebug lintDebug :ui:detektAndroidDebug :ui:testDebugUnitTest :lint:test + - name: Accept Licences + run: echo y | sdkmanager --licenses - - name: Run Screenshot Tests - run: ./gradlew :ui:verifyPaparazziDebug - - - uses: yutailang0119/action-android-lint@v3.1.0 - name: App Lint errors to annotations - if: ${{ failure() }} - continue-on-error: true # lint may be ok - with: - xml_path: app/build/reports/lint-results-debug.xml - - uses: yutailang0119/action-android-lint@v3.1.0 - name: Lib Lint errors to annotations - if: ${{ failure() }} - continue-on-error: true # lint may be ok - with: - xml_path: lib/build/reports/lint-results-debug.xml - - name: KTLint errors to annotations - if: ${{ failure() }} - run: | - jq --raw-output '[.[] | ({ f: .file } + ( .errors[] | { l: .line, c: .column, m: .message, r: .rule } )) | "::error file=catalog/\(.f),line=\(.l),col=\(.c)::\(.m) [\(.r)]" ] | join("\n")' catalog/build/reports/ktlint/main-lint.json || true - jq --raw-output '[.[] | ({ f: .file } + ( .errors[] | { l: .line, c: .column, m: .message, r: .rule } )) | "::error file=generator/\(.f),line=\(.l),col=\(.c)::\(.m) [\(.r)]" ] | join("\n")' generator/build/reports/ktlint/main-lint.json || true - jq --raw-output '[.[] | ({ f: .file } + ( .errors[] | { l: .line, c: .column, m: .message, r: .rule } )) | "::error file=icons/\(.f),line=\(.l),col=\(.c)::\(.m) [\(.r)]" ] | join("\n")' icons/build/reports/ktlint/main-lint.json || true - jq --raw-output '[.[] | ({ f: .file } + ( .errors[] | { l: .line, c: .column, m: .message, r: .rule } )) | "::error file=illustrations/\(.f),line=\(.l),col=\(.c)::\(.m) [\(.r)]" ] | join("\n")' illustrations/build/reports/ktlint/main-lint.json || true - jq --raw-output '[.[] | ({ f: .file } + ( .errors[] | { l: .line, c: .column, m: .message, r: .rule } )) | "::error file=ui/\(.f),line=\(.l),col=\(.c)::\(.m) [\(.r)]" ] | join("\n")' ui/build/reports/ktlint/main-lint.json || true - - uses: actions/upload-artifact@v4 - if: ${{ failure() }} - with: - name: shots-results - path: ui/build/paparazzi/failures - - name: Build Dokka HTML - if: ${{ github.ref == 'refs/heads/main' }} + - name: Enable KVM run: | - ./gradlew :dokkaHtmlMultiModule --no-configuration-cache - - name: Deploy Dokka HTML - uses: peaceiris/actions-gh-pages@v3 - if: ${{ github.ref == 'refs/heads/main' }} - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./build/dokka/htmlMultiModule + echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules + sudo udevadm control --reload-rules + sudo udevadm trigger --name-match=kvm + + - name: Check KVM + run: kvm-ok + + - name: Generate Baseline Profile + run: ./gradlew :catalog:generateReleaseBaselineProfile :icons:generateBaselineProfile :illustrations:generateBaselineProfile :ui:generateBaselineProfile -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=baselineprofile -Pandroid.testoptions.manageddevices.emulator.gpu=swiftshader_indirect --stacktrace