Skip to content

Switch to Prism

Switch to Prism #6089

Workflow file for this run

name: Android
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
jobs:
build:
if: "!startsWith(github.head_ref, 'debug') || startsWith(github.head_ref, 'debug-android')"
strategy:
matrix:
include:
- name: Android armeabi-v7a
maketarget: android-armeabi-v7a
arch: armeabi-v7a
- name: Android arm64-v8a
maketarget: android-arm64-v8a
arch: arm64-v8a
- name: Android x86
maketarget: android-x86
arch: x86
- name: Android x86_64
maketarget: android-x64
arch: x86_64
runs-on: ubuntu-24.04
name: ${{ matrix.name }}
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Java
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '25'
- name: Set up Android NDK
uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r29
add-to-path: false
- name: Update Ubuntu repository
run: sudo apt-get update
- name: Print env
run: printenv | sort
- name: Install dependencies
working-directory: ${{github.workspace}}/Build
run: sudo make depend-ubuntu24-android
- name: Build TeamTalk library for Android
working-directory: ${{github.workspace}}/Build
run: make CMAKE_EXTRA="-G Ninja -DFEATURE_WEBRTC=OFF -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install-${{ matrix.maketarget }}" ${{ matrix.maketarget }}
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
- name: Build Java test targets
working-directory: ${{runner.workspace}}
run: |
cmake -S ${{github.workspace}} -B build-host -DBUILD_TEAMTALK_CORE=OFF
cmake --build build-host --target TeamTalk5Test
cmake --build build-host --target TeamTalk5ProTest
cmake --build build-host --target TeamTalk5SrvTest
- name: Build TeamTalk Android client
working-directory: ${{github.workspace}}/Client/TeamTalkAndroid
run: |
ln -s ${{github.workspace}}/Library/TeamTalkJNI/libs/TeamTalk5.jar ${{github.workspace}}/Client/TeamTalkAndroid/libs/TeamTalk5.jar
ln -s ${{github.workspace}}/Library/TeamTalkJNI/libs/TeamTalk5Test.jar ${{github.workspace}}/Client/TeamTalkAndroid/libs/TeamTalk5Test.jar
ln -s ${{github.workspace}}/Library/TeamTalkJNI/libs/${{ matrix.arch }}/libTeamTalk5-jni.so ${{github.workspace}}/Client/TeamTalkAndroid/src/main/jniLibs/${{ matrix.arch }}/libTeamTalk5-jni.so
./gradlew build -x packageRelease
- name: Install TeamTalk SDK
working-directory: ${{github.workspace}}/Build/build-release-${{ matrix.maketarget }}
run: cmake --build . --target install
- name: Upload TeamTalk SDK artifact
uses: actions/upload-artifact@v7
with:
name: teamtalksdk-${{ matrix.maketarget }}
path: ${{runner.workspace}}/install-${{ matrix.maketarget }}