diff --git a/.github/actions/setup-gradle-managed-devices/action.yaml b/.github/actions/setup-gradle-managed-devices/action.yaml deleted file mode 100644 index 21c424bf1..000000000 --- a/.github/actions/setup-gradle-managed-devices/action.yaml +++ /dev/null @@ -1,16 +0,0 @@ -name: 🐘 Setup Gradle Managed Devices -description: Gradle Managed Devices setup -runs: - using: composite - steps: - - name: Setup Android SDK - uses: android-actions/setup-android@v3 - - - name: Accept licenses - run: yes | sdkmanager --licenses || true - - - name: Setup GMD - run: ./gradlew :benchmarks:pixel6Api33Setup - --info - -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true - -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" diff --git a/.github/actions/setup-gradle-properties/action.yaml b/.github/actions/setup-gradle-properties/action.yaml deleted file mode 100644 index bae2a6bb8..000000000 --- a/.github/actions/setup-gradle-properties/action.yaml +++ /dev/null @@ -1,7 +0,0 @@ -name: 🐘 Setup gradle.properties -description: Copy .github/ci-gradle.properties into ~/.gradle/gradle.properties -runs: - using: composite - steps: - - shell: bash - run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties diff --git a/.github/actions/setup-gradle/action.yaml b/.github/actions/setup-gradle/action.yaml deleted file mode 100644 index fb2c1f793..000000000 --- a/.github/actions/setup-gradle/action.yaml +++ /dev/null @@ -1,19 +0,0 @@ -name: 🐘 Setup Gradle -description: Gradle setup and wrapper validation -inputs: - cache-encryption-key: - description: Gradle Configuration Cache encryption key - required: false -runs: - using: composite - steps: - - uses: gradle/actions/setup-gradle@v4 - with: - add-job-summary-as-pr-comment: on-failure - build-scan-publish: true - build-scan-terms-of-use-agree: yes - build-scan-terms-of-use-url: https://gradle.com/terms-of-service - cache-cleanup: on-success - cache-encryption-key: ${{ inputs.cache-encryption-key }} - gradle-home-cache-strict-match: true - validate-wrappers: true diff --git a/.github/actions/setup-java/action.yaml b/.github/actions/setup-java/action.yaml deleted file mode 100644 index 39121d424..000000000 --- a/.github/actions/setup-java/action.yaml +++ /dev/null @@ -1,9 +0,0 @@ -name: ☕️ Setup Java -description: Java setup -runs: - using: composite - steps: - - uses: actions/setup-java@v5 - with: - distribution: zulu - java-version: "21" diff --git a/.github/actions/setup-kvm/action.yaml b/.github/actions/setup-kvm/action.yaml deleted file mode 100644 index ca22f4511..000000000 --- a/.github/actions/setup-kvm/action.yaml +++ /dev/null @@ -1,11 +0,0 @@ -name: ⚙️ Setup KVM group perms -description: KVM group perms setup -runs: - using: composite - steps: - - shell: bash - 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 diff --git a/.github/workflows/Build.yaml b/.github/workflows/Build.yaml index 8fe1b8c76..7bc58d21d 100644 --- a/.github/workflows/Build.yaml +++ b/.github/workflows/Build.yaml @@ -21,11 +21,21 @@ jobs: timeout-minutes: 20 steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/setup-java - - uses: ./.github/actions/setup-gradle + + - uses: actions/setup-java@v5 + with: + distribution: zulu + java-version: 21 + + - uses: gradle/actions/setup-gradle@v4 with: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} - - uses: ./.github/actions/setup-gradle-properties + build-scan-publish: true + build-scan-terms-of-use-url: https://gradle.com/terms-of-service + build-scan-terms-of-use-agree: yes + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - name: Check build-logic run: ./gradlew :build-logic:convention:check @@ -90,11 +100,21 @@ jobs: timeout-minutes: 40 steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/setup-java - - uses: ./.github/actions/setup-gradle + + - uses: actions/setup-java@v5 + with: + distribution: zulu + java-version: 21 + + - uses: gradle/actions/setup-gradle@v4 with: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} - - uses: ./.github/actions/setup-gradle-properties + build-scan-publish: true + build-scan-terms-of-use-url: https://gradle.com/terms-of-service + build-scan-terms-of-use-agree: yes + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - name: Build all build type and flavor permutations run: ./gradlew :app:assemble -PminifyWithR8=false @@ -110,11 +130,21 @@ jobs: timeout-minutes: 20 steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/setup-java - - uses: ./.github/actions/setup-gradle + + - uses: actions/setup-java@v5 + with: + distribution: zulu + java-version: 21 + + - uses: gradle/actions/setup-gradle@v4 with: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} - - uses: ./.github/actions/setup-gradle-properties + build-scan-publish: true + build-scan-terms-of-use-url: https://gradle.com/terms-of-service + build-scan-terms-of-use-agree: yes + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - name: Check lint run: ./gradlew :app:lintProdRelease :app-nia-catalog:lintRelease :lint:lint @@ -156,11 +186,21 @@ jobs: timeout-minutes: 20 steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/setup-java - - uses: ./.github/actions/setup-gradle + + - uses: actions/setup-java@v5 + with: + distribution: zulu + java-version: 21 + + - uses: gradle/actions/setup-gradle@v4 with: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} - - uses: ./.github/actions/setup-gradle-properties + build-scan-publish: true + build-scan-terms-of-use-url: https://gradle.com/terms-of-service + build-scan-terms-of-use-agree: yes + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - name: Run all local screenshot tests (Roborazzi) id: screenshotsverify @@ -227,13 +267,30 @@ jobs: swap-storage: true # rm -f /mnt/swapfile (4GiB) docker-images: false # Takes 16s, enable if needed in the future large-packages: false # includes google-cloud-sdk and it's slow + - uses: actions/checkout@v4 - - uses: ./.github/actions/setup-kvm - - uses: ./.github/actions/setup-java - - uses: ./.github/actions/setup-gradle + + - 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 + + - uses: actions/setup-java@v5 + with: + distribution: zulu + java-version: 21 + + - uses: gradle/actions/setup-gradle@v4 with: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} - - uses: ./.github/actions/setup-gradle-properties + build-scan-publish: true + build-scan-terms-of-use-url: https://gradle.com/terms-of-service + build-scan-terms-of-use-agree: yes + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties - name: Build projects and run instrumentation tests uses: reactivecircus/android-emulator-runner@v2 diff --git a/.github/workflows/NightlyBaselineProfiles.yaml b/.github/workflows/NightlyBaselineProfiles.yaml index 4f397048c..08858065e 100644 --- a/.github/workflows/NightlyBaselineProfiles.yaml +++ b/.github/workflows/NightlyBaselineProfiles.yaml @@ -18,13 +18,40 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/setup-kvm - - uses: ./.github/actions/setup-java - - uses: ./.github/actions/setup-gradle + + - 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 + + - uses: actions/setup-java@v5 + with: + distribution: zulu + java-version: 21 + + - uses: gradle/actions/setup-gradle@v4 with: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} - - uses: ./.github/actions/setup-gradle-properties - - uses: ./.github/actions/setup-gradle-managed-devices + build-scan-publish: true + build-scan-terms-of-use-url: https://gradle.com/terms-of-service + build-scan-terms-of-use-agree: yes + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + + - name: Accept licenses + run: yes | sdkmanager --licenses || true + + - name: Setup GMD + run: ./gradlew :benchmarks:pixel6Api33Setup + --info + -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true + -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" - name: Build all build type and flavor permutations including baseline profiles run: ./gradlew :app:assemble diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml index 93e6cd47c..b9e65efa6 100644 --- a/.github/workflows/Release.yml +++ b/.github/workflows/Release.yml @@ -14,13 +14,40 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/setup-kvm - - uses: ./.github/actions/setup-java - - uses: ./.github/actions/setup-gradle + + - 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 + + - uses: actions/setup-java@v5 + with: + distribution: zulu + java-version: 21 + + - uses: gradle/actions/setup-gradle@v4 with: cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} - - uses: ./.github/actions/setup-gradle-properties - - uses: ./.github/actions/setup-gradle-managed-devices + build-scan-publish: true + build-scan-terms-of-use-url: https://gradle.com/terms-of-service + build-scan-terms-of-use-agree: yes + + - name: Copy CI gradle.properties + run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + + - name: Accept licenses + run: yes | sdkmanager --licenses || true + + - name: Setup GMD + run: ./gradlew :benchmarks:pixel6Api33Setup + --info + -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true + -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" - name: Build release variant including baseline profile generation run: ./gradlew :app:assembleDemoRelease @@ -29,6 +56,7 @@ jobs: -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true -Pandroid.experimental.androidTest.numManagedDeviceShards=1 -Pandroid.experimental.testOptions.managedDevices.maxConcurrentDevices=1 + - name: Create Release id: create_release uses: actions/create-release@v1