Merge branch 'refs/heads/develop' #3285
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: | |
- '**' | |
env: | |
BUILD_CACHE_AWS_REGION: ${{ secrets.BUILD_CACHE_AWS_REGION }} | |
BUILD_CACHE_AWS_BUCKET: ${{ secrets.BUILD_CACHE_AWS_BUCKET }} | |
BUILD_CACHE_AWS_ACCESS_KEY_ID: ${{ secrets.BUILD_CACHE_AWS_ACCESS_KEY_ID }} | |
BUILD_CACHE_AWS_SECRET_KEY: ${{ secrets.BUILD_CACHE_AWS_SECRET_KEY }} | |
jobs: | |
lint: | |
name: Spotless check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/[email protected] | |
- name: Set up JDK | |
uses: actions/[email protected] | |
with: | |
distribution: adopt | |
java-version: 17 | |
- name: spotless | |
run: ./gradlew spotlessCheck --scan | |
vale: | |
name: Vale doc linter | |
if: ${{ false }} # disable for now | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: errata-ai/vale-action@reviewdog | |
with: | |
# added, diff_context, file, nofilter | |
filter_mode: nofilter | |
# github-pr-check, github-pr-review, github-check | |
reporter: github-pr-check | |
fail_on_error: true | |
files: docusaurus | |
env: | |
# Required, set by GitHub actions automatically: | |
# https://docs.github.com/en/actions/security-guides/automatic-token-authentication#about-the-github_token-secret | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
api_check: | |
name: API check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code | |
uses: actions/[email protected] | |
- name: Set up JDK | |
uses: actions/[email protected] | |
with: | |
distribution: adopt | |
java-version: 17 | |
- name: API check | |
run: ./gradlew apiCheck --scan | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: set up JDK | |
uses: actions/[email protected] | |
with: | |
distribution: adopt | |
java-version: 17 | |
- name: Cache Gradle and wrapper | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.gradle/caches | |
~/.gradle/wrapper | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Make Gradle executable | |
run: chmod +x ./gradlew | |
- name: Build with Gradle | |
run: | | |
./gradlew --scan --stacktrace \ | |
assembleDebug | |
unitTest: | |
name: Unit Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: set up JDK | |
uses: actions/[email protected] | |
with: | |
distribution: adopt | |
java-version: 17 | |
- name: Cache Gradle and wrapper | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.gradle/caches | |
~/.gradle/wrapper | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Run unit tests | |
run: | | |
./gradlew :stream-video-android-ui-compose:testDebugUnitTest --scan --stacktrace | |
./gradlew :stream-video-android-core:testDebugUnitTest --scan --stacktrace | |
- name: Unit tests core results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: unit-tests-core-results | |
path: stream-video-android-core/build/reports/tests/testDebugUnitTest/index.html | |
- name: Unit tests compose results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: unit-tests-compose-results | |
path: stream-video-android-ui-compose/build/reports/tests/testDebugUnitTest/index.html | |
androidTest-GMD: | |
name: Android Test with GMD | |
if: ${{ false }} # disable for now | |
runs-on: macOS-latest | |
timeout-minutes: 55 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/[email protected] | |
with: | |
distribution: 'zulu' | |
java-version: 17 | |
# Sets gradle up | |
- name: Setup Gradle | |
uses: gradle/[email protected] | |
# Cleans managed device if previously settle and space currently is not available | |
- name: Clean Managed Devices | |
run: ./gradlew cleanManagedDevices --unused-only | |
- name: Run instrumented tests with GMD | |
run: ./gradlew pixel2api31DebugAndroidTest -Dorg.gradle.workers.max=1 -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" -Pandroid.experimental.testOptions.managedDevices.emulator.showKernelLogging=true -Pandroid.experimental.testOptions.managedDevices.setupTimeoutMinutes=60 | |