Fix/break line w3w #9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build, test and snapshot | |
on: | |
push: | |
branches: | |
- 'task/**' | |
- 'bug/**' | |
- 'fix/**' | |
pull_request: | |
branches: | |
- 'epic/**' | |
types: [ closed ] | |
jobs: | |
build_test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- 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: Setup Java 17 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Restore gradle.properties | |
shell: bash | |
run: | | |
mkdir -p ~/.gradle/ | |
echo "GRADLE_USER_HOME=${HOME}/.gradle" >> $GITHUB_ENV | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
- name: Check for SNAPSHOT dependencies | |
if: github.event_name == 'pull_request' && github.base_ref == 'staging' | |
run: ./gradlew :lib:checkSnapshotDependencies | |
- name: Setup Android SDK | |
uses: android-actions/setup-android@v3 | |
- name: Accept licenses | |
run: yes | sdkmanager --licenses || true | |
- name: Setup GMD | |
run: ./gradlew :lib:pixel6Api33Setup | |
--info | |
--build-cache | |
-Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true | |
-Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" | |
- name: Build lib and run instrumentation tests | |
run: ./gradlew :lib:pixel6Api33DebugAndroidTest | |
--build-cache | |
-Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" | |
-Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true | |
-Pandroid.experimental.androidTest.numManagedDeviceShards=1 | |
-Pandroid.experimental.testOptions.managedDevices.maxConcurrentDevices=1 | |
-Pandroid.experimental.testOptions.managedDevices.setupTimeoutMinutes=5 | |
- name: Upload test results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-results | |
path: lib/build/outputs/androidTest-results | |
snapshot: | |
# This job must explicitly depend on build_test | |
needs: build_test | |
# Run for direct commits to epic branches OR when PRs are merged into epic branches | |
# AND only when build_test succeeds | |
if: > | |
success() && | |
((github.event_name == 'push' && startsWith(github.ref, 'refs/heads/epic/')) || | |
(github.event_name == 'pull_request' && github.event.action == 'closed' && | |
github.event.pull_request.merged == true && startsWith(github.base_ref, 'epic/'))) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Restore gradle.properties | |
env: | |
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }} | |
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }} | |
shell: bash | |
run: | | |
mkdir -p ~/.gradle/ | |
echo "GRADLE_USER_HOME=${HOME}/.gradle" >> $GITHUB_ENV | |
echo "MAVEN_CENTRAL_USERNAME=${MAVEN_CENTRAL_USERNAME}">> ~/.gradle/gradle.properties | |
echo "MAVEN_CENTRAL_PASSWORD=${MAVEN_CENTRAL_PASSWORD}">> ~/.gradle/gradle.properties | |
echo "IS_SNAPSHOT_RELEASE=true">> ~/.gradle/gradle.properties | |
cat ~/.gradle/gradle.properties | |
- name: Setup Gradle with caching | |
uses: gradle/actions/setup-gradle@v4 | |
with: | |
cache-read-only: false | |
- name: Setup Android SDK | |
uses: android-actions/setup-android@v3 | |
- name: Publish SNAPSHOT | |
run: ./gradlew lib:publishMavenPublicationToSonatypeSnapshotsRepository |