diff --git a/.github/workflows/Build.yaml b/.github/workflows/Build.yaml index 26d6820bc3..08294f525f 100644 --- a/.github/workflows/Build.yaml +++ b/.github/workflows/Build.yaml @@ -11,142 +11,142 @@ concurrency: cancel-in-progress: true jobs: - test_and_apk: - name: "Local tests and APKs" - runs-on: ubuntu-latest - - permissions: - contents: write - pull-requests: write - - timeout-minutes: 60 - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Validate Gradle Wrapper - uses: gradle/wrapper-validation-action@v3 - - - 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@v3 - - - 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: Check Dependency Guard - id: dependencyguard_verify - continue-on-error: true - run: ./gradlew dependencyGuard - - - name: Prevent updating Dependency Guard baselines if this is a fork - id: checkfork_dependencyguard - continue-on-error: false - if: steps.dependencyguard_verify.outcome == 'failure' && github.event.pull_request.head.repo.full_name != github.repository - run: | - echo "::error::Dependency Guard failed, please update baselines with: ./gradlew dependencyGuardBaseline" && exit 1 - - # Runs if previous job failed - - name: Generate new Dependency Guard baselines if verification failed and it's a PR - id: dependencyguard_baseline - if: steps.dependencyguard_verify.outcome == 'failure' && github.event_name == 'pull_request' - run: | - ./gradlew dependencyGuardBaseline - - - name: Push new Dependency Guard baselines if available - uses: stefanzweifel/git-auto-commit-action@v5 - if: steps.dependencyguard_baseline.outcome == 'success' - with: - file_pattern: '**/dependencies/*.txt' - disable_globbing: true - commit_message: "🤖 Updates baselines for Dependency Guard" - - - 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_screenshots - 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 and create report - 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 - run: ./gradlew :app:assemble :benchmarks:assemble - -x pixel6Api33ProdNonMinifiedReleaseAndroidTest - -x pixel6Api33DemoNonMinifiedReleaseAndroidTest - -x collectDemoNonMinifiedReleaseBaselineProfile - -x collectProdNonMinifiedReleaseBaselineProfile - - - name: Upload build outputs (APKs) - uses: actions/upload-artifact@v4 - with: - name: APKs - path: '**/build/outputs/apk/**/*.apk' - - - name: Upload JVM local results (XML) - if: always() - uses: actions/upload-artifact@v4 - with: - name: local-test-results - path: '**/build/test-results/test*UnitTest/**.xml' - - - name: Upload screenshot results (PNG) - if: always() - uses: actions/upload-artifact@v4 - with: - name: screenshot-test-results - path: '**/build/outputs/roborazzi/*_compare.png' - - - 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 + # test_and_apk: + # name: "Local tests and APKs" + # runs-on: ubuntu-latest + + # permissions: + # contents: write + # pull-requests: write + + # timeout-minutes: 60 + + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + + # - name: Validate Gradle Wrapper + # uses: gradle/wrapper-validation-action@v3 + + # - 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@v3 + + # - 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: Check Dependency Guard + # id: dependencyguard_verify + # continue-on-error: true + # run: ./gradlew dependencyGuard + + # - name: Prevent updating Dependency Guard baselines if this is a fork + # id: checkfork_dependencyguard + # continue-on-error: false + # if: steps.dependencyguard_verify.outcome == 'failure' && github.event.pull_request.head.repo.full_name != github.repository + # run: | + # echo "::error::Dependency Guard failed, please update baselines with: ./gradlew dependencyGuardBaseline" && exit 1 + + # # Runs if previous job failed + # - name: Generate new Dependency Guard baselines if verification failed and it's a PR + # id: dependencyguard_baseline + # if: steps.dependencyguard_verify.outcome == 'failure' && github.event_name == 'pull_request' + # run: | + # ./gradlew dependencyGuardBaseline + + # - name: Push new Dependency Guard baselines if available + # uses: stefanzweifel/git-auto-commit-action@v5 + # if: steps.dependencyguard_baseline.outcome == 'success' + # with: + # file_pattern: '**/dependencies/*.txt' + # disable_globbing: true + # commit_message: "🤖 Updates baselines for Dependency Guard" + + # - 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_screenshots + # 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 and create report + # 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 + # run: ./gradlew :app:assemble :benchmarks:assemble + # -x pixel6Api33ProdNonMinifiedReleaseAndroidTest + # -x pixel6Api33DemoNonMinifiedReleaseAndroidTest + # -x collectDemoNonMinifiedReleaseBaselineProfile + # -x collectProdNonMinifiedReleaseBaselineProfile + + # - name: Upload build outputs (APKs) + # uses: actions/upload-artifact@v4 + # with: + # name: APKs + # path: '**/build/outputs/apk/**/*.apk' + + # - name: Upload JVM local results (XML) + # if: always() + # uses: actions/upload-artifact@v4 + # with: + # name: local-test-results + # path: '**/build/test-results/test*UnitTest/**.xml' + + # - name: Upload screenshot results (PNG) + # if: always() + # uses: actions/upload-artifact@v4 + # with: + # name: screenshot-test-results + # path: '**/build/outputs/roborazzi/*_compare.png' + + # - 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