Move Presence from Client to Document and replace selection with presence #433
Workflow file for this run
This file contains 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: Android CI | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
jobs: | |
checks: | |
name: Checks | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: 'zulu' | |
cache: 'gradle' | |
- run: chmod +x gradlew | |
- uses: gradle/gradle-build-action@v2 | |
- run: ./gradlew lintKotlin | |
- run: ./gradlew lint | |
unit-tests: | |
name: Unit tests | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: 'zulu' | |
cache: 'gradle' | |
- run: chmod +x gradlew | |
- uses: gradle/gradle-build-action@v2 | |
- run: ./gradlew yorkie:testDebugUnitTest | |
- run: ./gradlew yorkie:jacocoDebugTestReport | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: unit-test-artifact | |
path: yorkie/build/reports/jacoco/jacocoDebugTestReport/jacocoDebugTestReport.xml | |
instrumentation-tests: | |
name: Instrumentation tests | |
strategy: | |
fail-fast: false | |
matrix: | |
api-level: [ 23, 26, 30 ] | |
target: [ google_apis ] | |
runs-on: macos-latest | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: 'zulu' | |
cache: 'gradle' | |
- run: chmod +x gradlew | |
- uses: gradle/gradle-build-action@v2 | |
- name: Setup Docker on macOS using Colima, Lima-VM, and Homebrew. | |
uses: yorkie-team/yorkie-ios-sdk@main | |
id: docker | |
- run: docker-compose -f docker/docker-compose-ci.yml up --build -d | |
- uses: actions/cache@v3 | |
id: avd-cache | |
with: | |
path: | | |
~/.android/avd/* | |
~/.android/adb* | |
key: avd-${{ matrix.api-level }}-${{ matrix.target }}-x86_64-4096m | |
- if: steps.avd-cache.outputs.cache-hit != 'true' | |
uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: ${{ matrix.api-level }} | |
target: ${{ matrix.target }} | |
arch: x86_64 | |
force-avd-creation: false | |
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | |
ram-size: 4096M | |
emulator-boot-timeout: 12000 | |
disable-animations: false | |
script: echo "Generated AVD snapshot for caching." | |
- uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: ${{ matrix.api-level }} | |
target: ${{ matrix.target }} | |
arch: x86_64 | |
force-avd-creation: false | |
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | |
ram-size: 4096M | |
emulator-boot-timeout: 12000 | |
disable-animations: true | |
script: ./gradlew yorkie:connectedCheck --no-build-cache --no-daemon --stacktrace | |
- if: ${{ matrix.api-level == 30 }} | |
run: ./gradlew yorkie:jacocoDebugTestReport | |
- if: ${{ matrix.api-level == 30 }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: android-test-artifact | |
path: yorkie/build/reports/jacoco/jacocoDebugTestReport/jacocoDebugTestReport.xml | |
codecov: | |
name: Codecov | |
needs: [ unit-tests, instrumentation-tests ] | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v2 | |
- uses: codecov/codecov-action@v3 | |
with: | |
fail_ci_if_error: true | |
verbose: false | |
microbenchmarks: | |
name: Microbenchmarks | |
runs-on: macos-latest | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
java-version: 17 | |
distribution: 'zulu' | |
cache: 'gradle' | |
- run: chmod +x gradlew | |
- uses: gradle/gradle-build-action@v2 | |
- uses: actions/cache@v3 | |
id: avd-cache | |
with: | |
path: | | |
~/.android/avd/* | |
~/.android/adb* | |
key: avd-30-google_apis-x86_64-4096m | |
- if: steps.avd-cache.outputs.cache-hit != 'true' | |
uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: 30 | |
target: google_apis | |
arch: x86_64 | |
force-avd-creation: false | |
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | |
ram-size: 4096M | |
disable-animations: false | |
script: echo "Generated AVD snapshot for caching." | |
- uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: 30 | |
target: google_apis | |
arch: x86_64 | |
force-avd-creation: false | |
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none | |
ram-size: 4096M | |
disable-animations: true | |
script: | | |
./gradlew microbenchmark:assembleReleaseAndroidTest; | |
adb shell pm list packages | grep dev.yorkie.microbenchmark.test && adb uninstall dev.yorkie.microbenchmark.test || true; | |
adb install microbenchmark/build/outputs/apk/androidTest/release/microbenchmark-release-androidTest.apk; | |
adb shell am instrument -w -e no-isolated-storage true -e additionalTestOutputDir /sdcard/Download/ -e "androidx.benchmark.suppressErrors" "EMULATOR,LOW-BATTERY,UNLOCKED" dev.yorkie.microbenchmark.test/androidx.benchmark.junit4.AndroidBenchmarkRunner; | |
adb shell find /sdcard/Download -name "*-benchmarkData.json" | tr -d '\r' | xargs -n1 adb pull | |
- run: | | |
echo "$(cat dev.yorkie.microbenchmark.test-benchmarkData.json)" | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: microbenchmark-artifact | |
path: dev.yorkie.microbenchmark.test-benchmarkData.json |