Inline composite actions

pull/1960/head
Simon Marquis 5 days ago
parent 2f56d89803
commit 96a9c2ac1c

@ -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"

@ -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

@ -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

@ -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"

@ -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

@ -21,11 +21,21 @@ jobs:
timeout-minutes: 20 timeout-minutes: 20
steps: steps:
- uses: actions/checkout@v4 - 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: with:
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} 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 - name: Check build-logic
run: ./gradlew :build-logic:convention:check run: ./gradlew :build-logic:convention:check
@ -90,11 +100,21 @@ jobs:
timeout-minutes: 40 timeout-minutes: 40
steps: steps:
- uses: actions/checkout@v4 - 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: with:
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} 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 - name: Build all build type and flavor permutations
run: ./gradlew :app:assemble -PminifyWithR8=false run: ./gradlew :app:assemble -PminifyWithR8=false
@ -110,11 +130,21 @@ jobs:
timeout-minutes: 20 timeout-minutes: 20
steps: steps:
- uses: actions/checkout@v4 - 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: with:
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} 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 - name: Check lint
run: ./gradlew :app:lintProdRelease :app-nia-catalog:lintRelease :lint:lint run: ./gradlew :app:lintProdRelease :app-nia-catalog:lintRelease :lint:lint
@ -156,11 +186,21 @@ jobs:
timeout-minutes: 20 timeout-minutes: 20
steps: steps:
- uses: actions/checkout@v4 - 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: with:
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} 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) - name: Run all local screenshot tests (Roborazzi)
id: screenshotsverify id: screenshotsverify
@ -227,13 +267,30 @@ jobs:
swap-storage: true # rm -f /mnt/swapfile (4GiB) swap-storage: true # rm -f /mnt/swapfile (4GiB)
docker-images: false # Takes 16s, enable if needed in the future docker-images: false # Takes 16s, enable if needed in the future
large-packages: false # includes google-cloud-sdk and it's slow large-packages: false # includes google-cloud-sdk and it's slow
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: ./.github/actions/setup-kvm
- uses: ./.github/actions/setup-java - name: Enable KVM group perms
- uses: ./.github/actions/setup-gradle 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: with:
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} 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 - name: Build projects and run instrumentation tests
uses: reactivecircus/android-emulator-runner@v2 uses: reactivecircus/android-emulator-runner@v2

@ -18,13 +18,40 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: ./.github/actions/setup-kvm
- uses: ./.github/actions/setup-java - name: Enable KVM group perms
- uses: ./.github/actions/setup-gradle 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: with:
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- uses: ./.github/actions/setup-gradle-properties build-scan-publish: true
- uses: ./.github/actions/setup-gradle-managed-devices 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 - name: Build all build type and flavor permutations including baseline profiles
run: ./gradlew :app:assemble run: ./gradlew :app:assemble

@ -14,13 +14,40 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: ./.github/actions/setup-kvm
- uses: ./.github/actions/setup-java - name: Enable KVM group perms
- uses: ./.github/actions/setup-gradle 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: with:
cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }}
- uses: ./.github/actions/setup-gradle-properties build-scan-publish: true
- uses: ./.github/actions/setup-gradle-managed-devices 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 - name: Build release variant including baseline profile generation
run: ./gradlew :app:assembleDemoRelease run: ./gradlew :app:assembleDemoRelease
@ -29,6 +56,7 @@ jobs:
-Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true
-Pandroid.experimental.androidTest.numManagedDeviceShards=1 -Pandroid.experimental.androidTest.numManagedDeviceShards=1
-Pandroid.experimental.testOptions.managedDevices.maxConcurrentDevices=1 -Pandroid.experimental.testOptions.managedDevices.maxConcurrentDevices=1
- name: Create Release - name: Create Release
id: create_release id: create_release
uses: actions/create-release@v1 uses: actions/create-release@v1

Loading…
Cancel
Save