Skip to content

Update dependency androidx.compose:compose-bom to v2024.10.01 (#757) #2272

Update dependency androidx.compose:compose-bom to v2024.10.01 (#757)

Update dependency androidx.compose:compose-bom to v2024.10.01 (#757) #2272

Workflow file for this run

name: build
on:
push:
branches:
- master
pull_request:
types: [ opened, labeled, unlabeled, synchronize ]
env:
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false"
JAVA_VERSION: 21
ANDROID_API_LEVEL: 34
jobs:
build:
name: Build
runs-on: ubuntu-latest
permissions:
checks: write
pull-requests: write
steps:
- name: Checkout Project
uses: actions/checkout@v4.2.2
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@v4
- name: Configure JDK ${{ env.JAVA_VERSION }}
uses: actions/setup-java@v4.5.0
with:
distribution: temurin
java-version: ${{ env.JAVA_VERSION }}
cache: gradle
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- run: ./gradlew --version
- name: Run Ktlint Check On All Sources
run: ./gradlew ktlintCheck -s
- name: Build Debug APK
run: ./gradlew assembleDebug -s
- name: Run Debug Lint Checks
run: ./gradlew lintDebug -s
- name: Run Debug Unit Tests
run: ./gradlew testDebug -s
- name: Publish Unit Test Report
uses: EnricoMi/publish-unit-test-result-action@v2.18.0
if: always()
with:
check_name: "Unit Test Results"
comment_mode: always
action_fail_on_inconclusive: true
files: |
app/build/test-results/**/TEST-*.xml
- name: Cache AVD
uses: actions/cache@v4.1.2
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-${{ env.ANDROID_API_LEVEL }}
- 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
- name: Create AVD and generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true'
uses: reactivecircus/android-emulator-runner@v2.33.0
with:
api-level: ${{ env.ANDROID_API_LEVEL }}
arch: x86_64
target: google_apis
force-avd-creation: false
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: false
script: echo "Generated AVD snapshot for caching."
- name: Run Debug Instrumentation Tests on Android API ${{ matrix.api-level }} (Ran up to 2 times)
uses: reactivecircus/android-emulator-runner@v2.33.0
with:
api-level: ${{ env.ANDROID_API_LEVEL }}
arch: x86_64
target: google_apis
force-avd-creation: false
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
script: ./gradlew connectedDebugAndroidTest -s || ./gradlew connectedDebugAndroidTest -s
- name: Publish Integration Test Report
uses: EnricoMi/publish-unit-test-result-action@v2.18.0
if: always()
with:
check_name: "Integration Test Results"
comment_mode: always
action_fail_on_inconclusive: true
files: |
app/build/outputs/androidTest-results/**/TEST-*.xml
- name: Build Debug APK artifact for upload
run: ./gradlew assembleDebug -s
- name: Build Release APK artifact for upload
run: ./gradlew assembleRelease -s
- name: Upload Reports
if: github.repository == 'jaredsburrows/android-gif-search' && github.ref == 'refs/heads/master'
uses: actions/upload-artifact@v4.4.3
with:
name: com.burrowsapps.gif.search-reports-${{ github.workflow }}-${{ github.run_id }}
path: |
app/build/reports
app/build/test-results
app/build/outputs/androidTest-results
- name: Upload Debug APK artifact
if: github.repository == 'jaredsburrows/android-gif-search' && github.ref == 'refs/heads/master'
uses: actions/upload-artifact@v4.4.3
with:
name: com.burrowsapps.gif.search-debug-${{ github.workflow }}-${{ github.run_id }}.apk
path: app/build/outputs/apk/debug/app-debug.apk
- name: Upload Release APK artifact
if: github.repository == 'jaredsburrows/android-gif-search' && github.ref == 'refs/heads/master'
uses: actions/upload-artifact@v4.4.3
with:
name: com.burrowsapps.gif.search-release-${{ github.workflow }}-${{ github.run_id }}.apk
path: app/build/outputs/apk/release/app-release.apk