From aca83e497922876a9bcda90174ff5f8b28a3e1d2 Mon Sep 17 00:00:00 2001 From: Ben Weiss Date: Fri, 19 Apr 2024 09:50:19 +0200 Subject: [PATCH] Remove unneded steps from nightly baseline profile creation Change-Id: I3255f044dbd8a3a79f886871a1850b5f88bbd9a1 --- .github/workflows/Nightly.yaml | 161 ------------------ .../workflows/NightlyBaselineProfiles.yaml | 40 +++++ 2 files changed, 40 insertions(+), 161 deletions(-) delete mode 100644 .github/workflows/Nightly.yaml create mode 100644 .github/workflows/NightlyBaselineProfiles.yaml diff --git a/.github/workflows/Nightly.yaml b/.github/workflows/Nightly.yaml deleted file mode 100644 index bdcaaa743..000000000 --- a/.github/workflows/Nightly.yaml +++ /dev/null @@ -1,161 +0,0 @@ -name: Nightly - -on: - schedule: - - cron: '0 5 * * *' - -concurrency: - group: build-${{ github.ref }} - cancel-in-progress: true - -jobs: - test_and_apk: - name: "Local tests and APKs" - runs-on: ubuntu-latest - - permissions: - contents: write - - timeout-minutes: 60 - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Validate Gradle Wrapper - uses: gradle/wrapper-validation-action@v1 - - - name: Copy CI gradle.properties - run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: 17 - - - name: Setup Gradle - uses: gradle/gradle-build-action@v2 - - - name: Check build-logic - run: ./gradlew check -p build-logic - - - name: Check spotless - run: ./gradlew spotlessCheck --init-script gradle/init.gradle.kts --no-configuration-cache - - - name: Run all local screenshot tests (Roborazzi) - id: screenshotsverify - continue-on-error: true - run: ./gradlew verifyRoborazziDemoDebug - - - name: Prevent pushing new screenshots if this is a fork - id: checkfork - continue-on-error: false - if: steps.screenshotsverify.outcome == 'failure' && github.event.pull_request.head.repo.full_name != github.repository - run: | - echo "::error::Screenshot tests failed, please create a PR in your fork first." && exit 1 - - # Runs if previous job failed - - name: Generate new screenshots if verification failed and it's a PR - id: screenshotsrecord - if: steps.screenshotsverify.outcome == 'failure' && github.event_name == 'pull_request' - run: | - ./gradlew recordRoborazziDemoDebug - - - name: Push new screenshots if available - uses: stefanzweifel/git-auto-commit-action@v5 - if: steps.screenshotsrecord.outcome == 'success' - with: - file_pattern: '*/*.png' - disable_globbing: true - commit_message: "🤖 Updates screenshots" - - # Run local tests after screenshot tests to avoid wrong UP-TO-DATE. TODO: Ignore screenshots. - - name: Run local tests - if: always() - run: ./gradlew testDemoDebug :lint:test - - # Replace task exclusions with `-Pandroidx.baselineprofile.skipgeneration` when - # https://android-review.googlesource.com/c/platform/frameworks/support/+/2602790 landed in a - # release build - - name: Build all build type and flavor permutations including baseline profiles - run: ./gradlew :app:assemble - -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=baselineprofile - -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" - -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true - - - name: Upload build outputs (APKs) - uses: actions/upload-artifact@v4 - with: - name: APKs - path: '**/build/outputs/apk/**/*.apk' - - - name: Upload test results (XML) - if: always() - uses: actions/upload-artifact@v4 - with: - name: test-results - path: '**/build/test-results/test*UnitTest/**.xml' - - - name: Check lint - run: ./gradlew :app:lintProdRelease :app-nia-catalog:lintRelease :lint:lint - - - name: Upload lint reports (HTML) - if: always() - uses: actions/upload-artifact@v4 - with: - name: lint-reports - path: '**/build/reports/lint-results-*.html' - - - name: Check badging - run: ./gradlew :app:checkProdReleaseBadging - - androidTest: - runs-on: ubuntu-latest - timeout-minutes: 55 - strategy: - matrix: - api-level: [26, 30] - - steps: - - name: Enable KVM group perms - run: | - 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 - ls /dev/kvm - - - name: Checkout - uses: actions/checkout@v4 - - - name: Copy CI gradle.properties - run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - distribution: 'zulu' - java-version: 17 - - - name: Setup Gradle - uses: gradle/gradle-build-action@v2 - - - name: Build projects before running emulator - run: ./gradlew packageDemoDebug packageDemoDebugAndroidTest - - - name: Run instrumentation tests - uses: reactivecircus/android-emulator-runner@v2 - with: - api-level: ${{ matrix.api-level }} - arch: x86_64 - disable-animations: true - disk-size: 6000M - heap-size: 600M - script: ./gradlew connectedDemoDebugAndroidTest --daemon - - - name: Upload test reports - if: always() - uses: actions/upload-artifact@v4 - with: - name: test-reports-${{ matrix.api-level }} - path: '**/build/reports/androidTests' diff --git a/.github/workflows/NightlyBaselineProfiles.yaml b/.github/workflows/NightlyBaselineProfiles.yaml new file mode 100644 index 000000000..ba5597c28 --- /dev/null +++ b/.github/workflows/NightlyBaselineProfiles.yaml @@ -0,0 +1,40 @@ +name: NightlyBaselineProfiles + +on: + schedule: + - cron: '42 4 * * *' + +jobs: + baseline_profiles: + name: "Generate Baseline Profiles" + runs-on: ubuntu-latest + + permissions: + contents: write + + timeout-minutes: 60 + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Validate Gradle Wrapper + uses: gradle/wrapper-validation-action@v1 + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: 17 + + # Replace task exclusions with `-Pandroidx.baselineprofile.skipgeneration` when + # https://android-review.googlesource.com/c/platform/frameworks/support/+/2602790 landed in a + # release build + - name: Build all build type and flavor permutations including baseline profiles + run: ./gradlew :app:assemble + -Pandroid.testInstrumentationRunnerArguments.androidx.benchmark.enabledRules=baselineprofile + -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" + -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true