Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 21 additions & 24 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,8 @@ on:
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
Expand Down Expand Up @@ -54,9 +38,24 @@ jobs:
working-directory: ${{github.workspace}}/Build
run: sudo make depend-ubuntu24-android

- name: Checkout WebRTC
run: |
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git ${{runner.workspace}}/depot_tools
export PATH=${{runner.workspace}}/depot_tools:$PATH
ensure_bootstrap
mkdir -p ${{runner.workspace}}/webrtc && cd ${{runner.workspace}}/webrtc
fetch --nohistory --nohooks webrtc_android
cd src
git fetch origin branch-heads/6818
git checkout branch-heads/6818
cd ${{runner.workspace}}/webrtc
gclient sync -D --no-history
cd src
git apply ${{github.workspace}}/Library/TeamTalkLib/build/webrtc/libteamtalk-r6818.patch

- 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 }}
run: make CMAKE_EXTRA="-G Ninja -DWEBRTC_FETCH_PATH=${{runner.workspace}}/webrtc -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install-android" CMAKE_BUILD_EXTRA="--target install" android-all
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}

Expand All @@ -73,15 +72,13 @@ jobs:
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
for arch in armeabi-v7a arm64-v8a x86 x86_64; do
ln -s ${{github.workspace}}/Library/TeamTalkJNI/libs/${arch}/libTeamTalk5-jni.so ${{github.workspace}}/Client/TeamTalkAndroid/src/main/jniLibs/${arch}/libTeamTalk5-jni.so
done
./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 }}
name: teamtalksdk-android
path: ${{runner.workspace}}/install-android
17 changes: 16 additions & 1 deletion .github/workflows/ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,24 @@ jobs:
working-directory: ${{github.workspace}}/Build
run: make depend-mac

- name: Checkout WebRTC
run: |
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git ${{runner.workspace}}/depot_tools
export PATH=${{runner.workspace}}/depot_tools:$PATH
ensure_bootstrap
mkdir -p ${{runner.workspace}}/webrtc && cd ${{runner.workspace}}/webrtc
fetch --nohistory --nohooks webrtc_ios
cd src
git fetch origin branch-heads/6818
git checkout branch-heads/6818
cd ${{runner.workspace}}/webrtc
gclient sync -D --no-history
cd src
git apply ${{github.workspace}}/Library/TeamTalkLib/build/webrtc/libteamtalk-r6818.patch

- name: Build TeamTalk library
working-directory: ${{github.workspace}}/Build
run: make CMAKE_EXTRA="-G Ninja -DFEATURE_WEBRTC=OFF -DCMAKE_OSX_ARCHITECTURES=${{ matrix.cmakearch }} -DCMAKE_OSX_SYSROOT=${{ matrix.cmakesysroot }} -DTOOLCHAIN_INSTALL_PREFIX=${{runner.workspace}}/toolchain-${{ matrix.cmakearch }} -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install-${{ matrix.cmakearch }}" BUILDDIR=build-${{ matrix.cmakearch }} ios-build
run: make CMAKE_EXTRA="-G Ninja -DWEBRTC_FETCH_PATH=${{runner.workspace}}/webrtc -DCMAKE_OSX_ARCHITECTURES=${{ matrix.cmakearch }} -DCMAKE_OSX_SYSROOT=${{ matrix.cmakesysroot }} -DTOOLCHAIN_INSTALL_PREFIX=${{runner.workspace}}/toolchain-${{ matrix.cmakearch }} -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install-${{ matrix.cmakearch }}" BUILDDIR=build-${{ matrix.cmakearch }} ios-build

- name: Install TeamTalk SDK
working-directory: ${{github.workspace}}/Build/build-${{ matrix.cmakearch }}
Expand Down
19 changes: 17 additions & 2 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,25 @@ jobs:
working-directory: ${{github.workspace}}/Build
run: make depend-mac

- name: Checkout WebRTC
run: |
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git ${{runner.workspace}}/depot_tools
export PATH=${{runner.workspace}}/depot_tools:$PATH
ensure_bootstrap
mkdir -p ${{runner.workspace}}/webrtc && cd ${{runner.workspace}}/webrtc
fetch --nohistory --nohooks webrtc
cd src
git fetch origin branch-heads/6818
git checkout branch-heads/6818
cd ${{runner.workspace}}/webrtc
gclient sync -D --no-history
cd src
git apply ${{github.workspace}}/Library/TeamTalkLib/build/webrtc/libteamtalk-r6818.patch

- name: Build TeamTalk toolchain, libraries and apps
working-directory: ${{github.workspace}}
shell: bash
run: make CMAKE_EXTRA="-G Ninja -DTOOLCHAIN_INSTALL_PREFIX=${{runner.workspace}}/toolchain-install -DFEATURE_WEBRTC=OFF -DFEATURE_PORTAUDIO=OFF -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2=ON -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2_PERF=OFF -DBUILD_TEAMTALK_CLIENT_QTTEAMTALK_PRODUCT=ON -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install" -C Build mac
run: make CMAKE_EXTRA="-G Ninja -DWEBRTC_FETCH_PATH=${{runner.workspace}}/webrtc -DTOOLCHAIN_INSTALL_PREFIX=${{runner.workspace}}/toolchain-install -DFEATURE_PORTAUDIO=OFF -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2=ON -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2_PERF=OFF -DBUILD_TEAMTALK_CLIENT_QTTEAMTALK_PRODUCT=ON -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install" -C Build mac

- name: Start TeamTalk Standard Server
working-directory: ${{github.workspace}}
Expand Down Expand Up @@ -84,7 +99,7 @@ jobs:
- name: Build debug TeamTalk using prebuilt toolchain
working-directory: ${{github.workspace}}
shell: bash
run: make CONFIGTYPE=debug CMAKE_EXTRA="-DTOOLCHAIN_INSTALL_PREFIX=${{runner.workspace}}/toolchain-install -DTOOLCHAIN_BUILD_EXTERNALPROJECTS=OFF -DFEATURE_WEBRTC=OFF -DFEATURE_PORTAUDIO=OFF -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2=ON -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2_PERF=OFF -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install" -C Build mac
run: make CONFIGTYPE=debug CMAKE_EXTRA="-DTOOLCHAIN_INSTALL_PREFIX=${{runner.workspace}}/toolchain-install -DTOOLCHAIN_BUILD_EXTERNALPROJECTS=OFF -DFEATURE_PORTAUDIO=OFF -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2=ON -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2_PERF=OFF -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install" -C Build mac

- name: Upload TeamTalk SDK artifact
uses: actions/upload-artifact@v7
Expand Down
24 changes: 17 additions & 7 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,26 @@ jobs:
working-directory: ${{github.workspace}}/Build
run: sudo make depend-ubuntu${{ matrix.version }}

- name: Checkout WebRTC
run: |
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git ${{runner.workspace}}/depot_tools
export PATH=${{runner.workspace}}/depot_tools:$PATH
ensure_bootstrap
mkdir -p ${{runner.workspace}}/webrtc && cd ${{runner.workspace}}/webrtc
fetch --nohistory --nohooks webrtc
cd src
git fetch origin branch-heads/6818
git checkout branch-heads/6818
cd ${{runner.workspace}}/webrtc
gclient sync -D --no-history
cd src
git apply ${{github.workspace}}/Library/TeamTalkLib/build/webrtc/libteamtalk-r6818.patch

- name: Build TeamTalk toolchain, libraries and apps
working-directory: ${{github.workspace}}
run: |
source env.sh
make CMAKE_EXTRA="-G Ninja -DFEATURE_WEBRTC=OFF -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2=ON -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2_PERF=OFF -DTOOLCHAIN_INSTALL_PREFIX=${{runner.workspace}}/toolchain-install -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install" -C Build ubuntu${{ matrix.version }}
make CMAKE_EXTRA="-G Ninja -DWEBRTC_FETCH_PATH=${{runner.workspace}}/webrtc -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2=ON -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2_PERF=OFF -DTOOLCHAIN_INSTALL_PREFIX=${{runner.workspace}}/toolchain-install -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install" -C Build ubuntu${{ matrix.version }}
echo TEAMTALK_INSTALLDIR=${{runner.workspace}}/install>> $GITHUB_ENV

- name: Run Java Server API tests (non-encrypted)
Expand All @@ -66,15 +81,13 @@ jobs:
run: make runjunitsrv
env:
ENCRYPTED: 0
WEBRTC: 0

- name: Run Java Server API tests (encrypted)
if: matrix.os == 'ubuntu-24.04'
working-directory: ${{github.workspace}}/Library/TeamTalkJNI
run: make runjunitsrv
env:
ENCRYPTED: 1
WEBRTC: 0

- name: Start TeamTalk Standard Server
working-directory: ${{github.workspace}}
Expand Down Expand Up @@ -115,7 +128,6 @@ jobs:
run: make runjunit
env:
ENCRYPTED: 0
WEBRTC: 0

- name: Stop TeamTalk Standard Server
run: killall tt5srv
Expand All @@ -132,7 +144,6 @@ jobs:
run: make runjunitpro
env:
ENCRYPTED: 0
WEBRTC: 0
INPUTDEVICEID: 4026
OUTPUTDEVICEID: 4026

Expand All @@ -153,7 +164,6 @@ jobs:
run: make runjunitpro
env:
ENCRYPTED: 1
WEBRTC: 0

- name: Stop TeamTalk Pro Server (encrypted)
run: killall tt5prosrv
Expand All @@ -170,7 +180,7 @@ jobs:
working-directory: ${{github.workspace}}
run: |
source env.sh
make CONFIGTYPE=debug CMAKE_EXTRA="-DTOOLCHAIN_INSTALL_PREFIX=${{runner.workspace}}/toolchain-install -DTOOLCHAIN_BUILD_EXTERNALPROJECTS=OFF -DFEATURE_WEBRTC=OFF -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2=ON -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2_PERF=OFF -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install" -C Build ubuntu${{ matrix.version }}
make CONFIGTYPE=debug CMAKE_EXTRA="-DTOOLCHAIN_INSTALL_PREFIX=${{runner.workspace}}/toolchain-install -DTOOLCHAIN_BUILD_EXTERNALPROJECTS=OFF -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2=ON -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2_PERF=OFF -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install" -C Build ubuntu${{ matrix.version }}
echo TEAMTALK_INSTALLDIR=${{runner.workspace}}/install>> $GITHUB_ENV

- name: Upload TeamTalk SDK artifact
Expand Down
27 changes: 20 additions & 7 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,13 +107,32 @@ jobs:
start /wait Win32OpenSSL.exe /silent /sp- /suppressmsgboxes /DIR="C:\Program Files (x86)\OpenSSL"
echo C:\Program Files (x86)\OpenSSL\bin>> %GITHUB_PATH%

- name: Checkout WebRTC
shell: cmd
run: |
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git ${{runner.workspace}}\depot_tools
set PATH=${{runner.workspace}}\depot_tools;%PATH%
mkdir ${{runner.workspace}}\webrtc
cd ${{runner.workspace}}\webrtc
call fetch --nohistory --nohooks webrtc
cd src
call git fetch origin branch-heads/6818
call git checkout branch-heads/6818
cd ${{runner.workspace}}\webrtc
call gclient sync -D --no-history
cd src
call git apply ${{github.workspace}}\Library\TeamTalkLib\build\webrtc\libteamtalk-r6818.patch
call git apply ${{github.workspace}}\Library\TeamTalkLib\build\webrtc\0001-Add-support-for-Visual-Studio-2026.patch
env:
DEPOT_TOOLS_WIN_TOOLCHAIN: 0

- name: Configure CMake for toolchain build
working-directory: ${{runner.workspace}}
run: >-
cmake -S TeamTalk5 -B output -A ${{ matrix.cmakeplatform }}
-DWEBRTC_FETCH_PATH=${{runner.workspace}}/webrtc
-DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2=ON
-DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2_PERF=OFF
-DFEATURE_WEBRTC=OFF
-DBUILD_TEAMTALK_CLIENT_TEAMTALKAPP_DOTNET=OFF
-DTOOLCHAIN_INSTALL_PREFIX=${{runner.workspace}}/install-toolchain
-DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install-teamtalk
Expand All @@ -135,7 +154,6 @@ jobs:
run: junit.bat TeamTalkServerTestSuite
env:
ENCRYPTED: 0
WEBRTC: 0

- name: Run Java Server API tests (encrypted)
if: matrix.arch == 'x64'
Expand All @@ -144,7 +162,6 @@ jobs:
run: junit.bat TeamTalkServerTestSuite
env:
ENCRYPTED: 1
WEBRTC: 0

- name: Copy server configuration
working-directory: ${{github.workspace}}
Expand Down Expand Up @@ -180,7 +197,6 @@ jobs:
run: junit.bat TeamTalkStdTestSuite
env:
ENCRYPTED: 0
WEBRTC: 0

- name: Run Java unit tests with shared audio devices (non-encrypted)
if: matrix.arch == 'x64'
Expand All @@ -189,7 +205,6 @@ jobs:
run: junit.bat TeamTalkProTestSuite
env:
ENCRYPTED: 0
WEBRTC: 0
INPUTDEVICEID: 4026
OUTPUTDEVICEID: 4026

Expand All @@ -200,7 +215,6 @@ jobs:
run: junit.bat TeamTalkProTestSuite
env:
ENCRYPTED: 1
WEBRTC: 0

- name: Restart TeamTalk Standard Server
working-directory: ${{github.workspace}}/Server
Expand Down Expand Up @@ -296,7 +310,6 @@ jobs:
cmake -S TeamTalk5 -B output-developer -A ${{ matrix.cmakeplatform }}
-DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2=ON
-DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2_PERF=OFF
-DFEATURE_WEBRTC=OFF
-DTOOLCHAIN_BUILD_EXTERNALPROJECTS=OFF
-DBUILD_TEAMTALK_CLIENT_TEAMTALKAPP_DOTNET=OFF
-DTOOLCHAIN_INSTALL_PREFIX=${{runner.workspace}}/install-toolchain
Expand Down
Loading
Loading