Nightly reports #290
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: Nightly reports | |
on: | |
workflow_dispatch: | |
schedule: | |
# Every nights at 5 | |
- cron: "0 5 * * *" | |
# Enrich gradle.properties for CI/CD | |
env: | |
GRADLE_OPTS: -Dorg.gradle.jvmargs="-Xmx3g -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError" -Dkotlin.daemon.jvm.options="-Xmx2560m" -Dkotlin.incremental=false -XX:+UseParallelGC | |
CI_GRADLE_ARG_PROPERTIES: --stacktrace -PpreDexEnable=false --max-workers 4 | |
jobs: | |
nightlyReports: | |
name: Create kover report artifact and upload sonar result. | |
runs-on: ubuntu-latest | |
if: ${{ github.repository == 'element-hq/compound-android' }} | |
steps: | |
- name: ⏬ Checkout with LFS | |
uses: nschloe/[email protected] | |
- name: Use JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' # See 'Supported distributions' for available options | |
java-version: '17' | |
- name: ⚙️ Run unit tests | |
run: ./gradlew testDebugUnitTest $CI_GRADLE_ARG_PROPERTIES | |
- name: 📸 Run screenshot tests | |
run: ./gradlew :compound:verifyRoborazziDebug $CI_GRADLE_ARG_PROPERTIES | |
- name: 📈 Generate kover report and verify coverage | |
run: ./gradlew :compound:koverHtmlReport :compound:koverXmlReport :compound:koverVerify $CI_GRADLE_ARG_PROPERTIES -Pci-build=true | |
- name: ✅ Upload kover report | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: kover-results | |
path: | | |
**/build/reports/kover | |
# Gradle dependency analysis using https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin | |
dependency-analysis: | |
name: Dependency analysis | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' # See 'Supported distributions' for available options | |
java-version: '17' | |
- name: Configure gradle | |
uses: gradle/actions/setup-gradle@v4 | |
with: | |
cache-read-only: ${{ github.ref != 'refs/heads/main' }} | |
- name: Dependency analysis | |
run: ./gradlew :compound:dependencyCheckAnalyze $CI_GRADLE_ARG_PROPERTIES -PNVD_API_KEY="${{ secrets.NVD_API_KEY }}" | |
- name: Upload dependency analysis | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: dependency-analysis | |
path: build/reports/dependency-check-report.html |