|
|
@ -25,16 +25,18 @@ jobs:
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
with:
|
|
|
|
with:
|
|
|
|
repository: 'gradle/declarative-gradle'
|
|
|
|
repository: 'gradle/declarative-gradle'
|
|
|
|
path: '../declarative-gradle'
|
|
|
|
path: 'declarative-gradle'
|
|
|
|
|
|
|
|
|
|
|
|
- name: Checkout Now in Android
|
|
|
|
- name: Checkout Now in Android
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
|
|
|
with:
|
|
|
|
|
|
|
|
path: 'now-in-android'
|
|
|
|
|
|
|
|
|
|
|
|
- name: Validate Gradle Wrapper
|
|
|
|
- name: Validate Gradle Wrapper
|
|
|
|
uses: gradle/wrapper-validation-action@v1
|
|
|
|
uses: gradle/wrapper-validation-action@v1
|
|
|
|
|
|
|
|
|
|
|
|
- name: Copy CI gradle.properties
|
|
|
|
- name: Copy CI gradle.properties
|
|
|
|
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
|
|
|
|
run: mkdir -p ~/.gradle ; cp now-in-android/.github/ci-gradle.properties ~/.gradle/gradle.properties
|
|
|
|
|
|
|
|
|
|
|
|
- name: Set up JDK 17
|
|
|
|
- name: Set up JDK 17
|
|
|
|
uses: actions/setup-java@v4
|
|
|
|
uses: actions/setup-java@v4
|
|
|
@ -46,15 +48,15 @@ jobs:
|
|
|
|
uses: gradle/gradle-build-action@v2
|
|
|
|
uses: gradle/gradle-build-action@v2
|
|
|
|
|
|
|
|
|
|
|
|
- name: Check build-logic
|
|
|
|
- name: Check build-logic
|
|
|
|
run: ./gradlew check -p build-logic
|
|
|
|
run: ./now-in-android/gradlew check -p now-in-android/build-logic
|
|
|
|
|
|
|
|
|
|
|
|
- name: Check spotless
|
|
|
|
- name: Check spotless
|
|
|
|
run: ./gradlew spotlessCheck --init-script gradle/init.gradle.kts --no-configuration-cache
|
|
|
|
run: ./now-in-android/gradlew spotlessCheck --init-script gradle/init.gradle.kts --no-configuration-cache -p now-in-android
|
|
|
|
|
|
|
|
|
|
|
|
- name: Check Dependency Guard
|
|
|
|
- name: Check Dependency Guard
|
|
|
|
id: dependencyguard_verify
|
|
|
|
id: dependencyguard_verify
|
|
|
|
continue-on-error: true
|
|
|
|
continue-on-error: true
|
|
|
|
run: ./gradlew dependencyGuard
|
|
|
|
run: ./now-in-android/gradlew dependencyGuard -p now-in-android
|
|
|
|
|
|
|
|
|
|
|
|
- name: Prevent updating Dependency Guard baselines if this is a fork
|
|
|
|
- name: Prevent updating Dependency Guard baselines if this is a fork
|
|
|
|
id: checkfork_dependencyguard
|
|
|
|
id: checkfork_dependencyguard
|
|
|
@ -68,7 +70,7 @@ jobs:
|
|
|
|
id: dependencyguard_baseline
|
|
|
|
id: dependencyguard_baseline
|
|
|
|
if: steps.dependencyguard_verify.outcome == 'failure' && github.event_name == 'pull_request'
|
|
|
|
if: steps.dependencyguard_verify.outcome == 'failure' && github.event_name == 'pull_request'
|
|
|
|
run: |
|
|
|
|
run: |
|
|
|
|
./gradlew dependencyGuardBaseline
|
|
|
|
./now-in-android/gradlew dependencyGuardBaseline -p now-in-android
|
|
|
|
|
|
|
|
|
|
|
|
- name: Push new Dependency Guard baselines if available
|
|
|
|
- name: Push new Dependency Guard baselines if available
|
|
|
|
uses: stefanzweifel/git-auto-commit-action@v5
|
|
|
|
uses: stefanzweifel/git-auto-commit-action@v5
|
|
|
@ -81,7 +83,7 @@ jobs:
|
|
|
|
- name: Run all local screenshot tests (Roborazzi)
|
|
|
|
- name: Run all local screenshot tests (Roborazzi)
|
|
|
|
id: screenshotsverify
|
|
|
|
id: screenshotsverify
|
|
|
|
continue-on-error: true
|
|
|
|
continue-on-error: true
|
|
|
|
run: ./gradlew verifyRoborazziDemoDebug
|
|
|
|
run: ./now-in-android/gradlew verifyRoborazziDemoDebug -p now-in-android
|
|
|
|
|
|
|
|
|
|
|
|
- name: Prevent pushing new screenshots if this is a fork
|
|
|
|
- name: Prevent pushing new screenshots if this is a fork
|
|
|
|
id: checkfork_screenshots
|
|
|
|
id: checkfork_screenshots
|
|
|
@ -113,11 +115,12 @@ jobs:
|
|
|
|
# https://android-review.googlesource.com/c/platform/frameworks/support/+/2602790 landed in a
|
|
|
|
# https://android-review.googlesource.com/c/platform/frameworks/support/+/2602790 landed in a
|
|
|
|
# release build
|
|
|
|
# release build
|
|
|
|
- name: Build all build type and flavor permutations
|
|
|
|
- name: Build all build type and flavor permutations
|
|
|
|
run: ./gradlew :app:assemble :benchmarks:assemble
|
|
|
|
run: ./now-in-android/gradlew :app:assemble :benchmarks:assemble
|
|
|
|
-x pixel6Api33ProdNonMinifiedReleaseAndroidTest
|
|
|
|
-x pixel6Api33ProdNonMinifiedReleaseAndroidTest
|
|
|
|
-x pixel6Api33DemoNonMinifiedReleaseAndroidTest
|
|
|
|
-x pixel6Api33DemoNonMinifiedReleaseAndroidTest
|
|
|
|
-x collectDemoNonMinifiedReleaseBaselineProfile
|
|
|
|
-x collectDemoNonMinifiedReleaseBaselineProfile
|
|
|
|
-x collectProdNonMinifiedReleaseBaselineProfile
|
|
|
|
-x collectProdNonMinifiedReleaseBaselineProfile
|
|
|
|
|
|
|
|
-p now-in-android
|
|
|
|
|
|
|
|
|
|
|
|
- name: Upload build outputs (APKs)
|
|
|
|
- name: Upload build outputs (APKs)
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
|
uses: actions/upload-artifact@v4
|
|
|
@ -143,7 +146,7 @@ jobs:
|
|
|
|
path: '**/build/reports/lint-results-*.html'
|
|
|
|
path: '**/build/reports/lint-results-*.html'
|
|
|
|
|
|
|
|
|
|
|
|
- name: Check badging
|
|
|
|
- name: Check badging
|
|
|
|
run: ./gradlew :app:checkProdReleaseBadging
|
|
|
|
run: ./now-in-android/gradlew :app:checkProdReleaseBadging -p now-in-android
|
|
|
|
|
|
|
|
|
|
|
|
androidTest:
|
|
|
|
androidTest:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
runs-on: ubuntu-latest
|
|
|
@ -175,7 +178,7 @@ jobs:
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
uses: actions/checkout@v4
|
|
|
|
|
|
|
|
|
|
|
|
- name: Copy CI gradle.properties
|
|
|
|
- name: Copy CI gradle.properties
|
|
|
|
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
|
|
|
|
run: mkdir -p ~/.gradle ; cp now-in-android/.github/ci-gradle.properties ~/.gradle/gradle.properties
|
|
|
|
|
|
|
|
|
|
|
|
- name: Set up JDK 17
|
|
|
|
- name: Set up JDK 17
|
|
|
|
uses: actions/setup-java@v4
|
|
|
|
uses: actions/setup-java@v4
|
|
|
@ -187,7 +190,7 @@ jobs:
|
|
|
|
uses: gradle/gradle-build-action@v2
|
|
|
|
uses: gradle/gradle-build-action@v2
|
|
|
|
|
|
|
|
|
|
|
|
- name: Build projects before running emulator
|
|
|
|
- name: Build projects before running emulator
|
|
|
|
run: ./gradlew packageDemoDebug packageDemoDebugAndroidTest
|
|
|
|
run: ./now-in-android/gradlew packageDemoDebug packageDemoDebugAndroidTest -p now-in-android
|
|
|
|
|
|
|
|
|
|
|
|
- name: Run instrumentation tests
|
|
|
|
- name: Run instrumentation tests
|
|
|
|
uses: reactivecircus/android-emulator-runner@v2
|
|
|
|
uses: reactivecircus/android-emulator-runner@v2
|
|
|
@ -197,7 +200,7 @@ jobs:
|
|
|
|
disable-animations: true
|
|
|
|
disable-animations: true
|
|
|
|
disk-size: 6000M
|
|
|
|
disk-size: 6000M
|
|
|
|
heap-size: 600M
|
|
|
|
heap-size: 600M
|
|
|
|
script: ./gradlew connectedDemoDebugAndroidTest --daemon
|
|
|
|
script: ./now-in-android/gradlew connectedDemoDebugAndroidTest --daemon -p now-in-android
|
|
|
|
|
|
|
|
|
|
|
|
- name: Upload test reports
|
|
|
|
- name: Upload test reports
|
|
|
|
if: always()
|
|
|
|
if: always()
|
|
|
|