Skip to content

Add GitHub actions workflow #10

Add GitHub actions workflow

Add GitHub actions workflow #10

Workflow file for this run

name: Build
on:
push:
branches:
- main
pull_request:
paths:
- 'agent/**'
- 'ChatApp/**'
- '.github/workflows/**'
workflow_dispatch:
concurrency:
group: build-${{ github.ref }}
cancel-in-progress: true
jobs:
agent-build:
name: "Agent build & test"
runs-on: macos-latest
timeout-minutes: 45
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 21
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
build-root-directory: agent
- name: Run spotless
run: ./gradlew spotlessCheck
working-directory: agent
- name: Run unit tests
run: ./gradlew test -PGEMINI_API_KEY=dummy_key
working-directory: agent
- name: Build Debug and Release APKs
run: ./gradlew assembleDebug assembleRelease -PGEMINI_API_KEY=dummy_key
working-directory: agent
- name: Upload Agent APKs
uses: actions/upload-artifact@v4
with:
name: agent-apks
path: agent/app/build/outputs/apk/**/*.apk
- name: Run instrumentation tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 37.1
target: google_apis_ps16k
arch: x86_64
force-avd-creation: false
emulator-options: -no-window -gpu libswiftshader_indirect -noaudio -no-boot-anim -camera-back none
disk-size: 6000M
heap-size: 600M
disable-animations: true
working-directory: agent
script: adb shell wm dismiss-keyguard && ./gradlew :app:connectedAndroidTest -PGEMINI_API_KEY=dummy_key
chatapp-build:
name: "ChatApp build & test"
runs-on: macos-latest
timeout-minutes: 45
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 21
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
with:
build-root-directory: ChatApp
- name: Run spotless
run: ./gradlew spotlessCheck
working-directory: ChatApp
- name: Run unit tests
run: ./gradlew test
working-directory: ChatApp
- name: Build Debug and Release APKs
run: ./gradlew assembleDebug assembleRelease
working-directory: ChatApp
- name: Upload ChatApp APKs
uses: actions/upload-artifact@v4
with:
name: chatapp-apks
path: |
ChatApp/app/build/outputs/apk/**/*.apk
ChatApp/wear/build/outputs/apk/**/*.apk
- name: Run instrumentation tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 37.1
target: google_apis_ps16k
arch: x86_64
force-avd-creation: false
emulator-options: -no-window -gpu libswiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
disk-size: 6000M
heap-size: 600M
working-directory: ChatApp
script: adb shell wm dismiss-keyguard && ./gradlew :app:connectedAndroidTest