Only migrate settings if first start=false #2106
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: Ubuntu 22 | |
on: [push] | |
env: | |
# TeamTalk unit test environment variables | |
INPUTDEVICEID: 1978 | |
OUTPUTDEVICEID: 1978 | |
VIDEODEVICEID: None | |
VERBOSE: 0 | |
GITHUBSKIP: 1 | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '11' | |
- name: Refresh Ubuntu-repo | |
run: sudo apt update | |
- name: Update packages | |
working-directory: ${{runner.workspace}}/TeamTalk5 | |
# Ensure FFmpeg doesn't detect additional dependencies | |
run: | | |
sudo apt remove libmagickcore-dev libmagickwand-dev libbz2-dev liblzma-dev | |
sudo apt autoremove | |
sudo apt install valgrind | |
sudo make -C Build depend-ubuntu22 | |
dpkg -l | |
- name: Print env | |
run: printenv | sort | |
- name: Init TeamTalk Library submodules | |
working-directory: ${{runner.workspace}}/TeamTalk5 | |
run: | | |
git submodule update --init Library/TeamTalkLib/test/testdata | |
- name: Install TeamTalk Library Dependencies | |
working-directory: ${{runner.workspace}}/TeamTalk5 | |
run: sudo make -C Build depend-ubuntu22 | |
- name: Build TeamTalk Library and Apps | |
working-directory: ${{runner.workspace}}/TeamTalk5 | |
shell: bash | |
run: | | |
source env.sh | |
make CMAKE_EXTRA="-DFEATURE_WEBRTC=OFF -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2=ON -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2_PERF=OFF -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install" -C Build ubuntu22 | |
echo TEAMTALK_INSTALLDIR=${{runner.workspace}}/install>> $GITHUB_ENV | |
- name: Java Server API Test (non-encrypted) | |
working-directory: ${{runner.workspace}}/TeamTalk5/Library/TeamTalkJNI | |
# Execute tests defined by the CMake configuration. | |
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail | |
run: | | |
export ENCRYPTED=0 WEBRTC=0 | |
make runjunitsrv | |
- name: Java Server API Test (encrypted) | |
working-directory: ${{runner.workspace}}/TeamTalk5/Library/TeamTalkJNI | |
run: | | |
export ENCRYPTED=1 WEBRTC=0 | |
make runjunitsrv | |
- name: Start TeamTalk Standard Server | |
working-directory: ${{runner.workspace}}/TeamTalk5 | |
run: | | |
cp Library/TeamTalkLib/test/tt5srv.xml_template Server/tt5srv.xml | |
Server/tt5srv -d -c Server/tt5srv.xml | |
- name: Start TeamTalk Pro Server (encrypted) | |
working-directory: ${{runner.workspace}}/TeamTalk5 | |
run: | | |
cp -f Library/TeamTalkLib/test/tt5prosrv.xml_template Server/tt5prosrv.xml | |
cp Library/TeamTalkLib/test/ttservercert.pem Server/ | |
cp Library/TeamTalkLib/test/ttserverkey.pem Server/ | |
cp Library/TeamTalkLib/test/ca.cer Server/ | |
Server/tt5prosrv -d -wd Server/ | |
- name: Run PyTest | |
working-directory: ${{runner.workspace}}/TeamTalk5 | |
run: | | |
source env.sh | |
pytest-3 Library/TeamTalkPy/test/teamtalk_test.py | |
- name: Run Python client | |
working-directory: ${{runner.workspace}}/TeamTalk5 | |
run: | | |
source env.sh | |
make -C Client/ttserverlogpy | |
- name: Catch unit-test | |
working-directory: ${{runner.workspace}}/TeamTalk5/Library/TeamTalkLib/test | |
run: valgrind --tool=memcheck --leak-check=full --error-exitcode=1 ./catchtt --durations yes | |
- name: Stop TeamTalk Pro Server | |
run: killall tt5prosrv | |
- name: Java Unit-test (non-encrypted) | |
working-directory: ${{runner.workspace}}/TeamTalk5/Library/TeamTalkJNI | |
run: | | |
export ENCRYPTED=0 WEBRTC=0 | |
make runjunit | |
- name: Stop TeamTalk Standard Server | |
run: killall tt5srv | |
- name: Start TeamTalk Pro Server (non-encrypted) | |
working-directory: ${{runner.workspace}}/TeamTalk5 | |
run: | | |
cp -f Library/TeamTalkLib/test/tt5srv.xml_template Server/tt5srv.xml | |
Server/tt5prosrv -d -c Server/tt5srv.xml | |
- name: Java Unit-test with shared audio devices (non-encrypted) | |
working-directory: ${{runner.workspace}}/TeamTalk5/Library/TeamTalkJNI | |
run: | | |
export ENCRYPTED=0 WEBRTC=0 | |
export INPUTDEVICEID=4026 | |
export OUTPUTDEVICEID=4026 | |
make runjunitpro | |
- name: Stop TeamTalk Pro Server (non-encrypted) | |
run: killall tt5prosrv | |
- name: Start TeamTalk Pro Server (encrypted) | |
working-directory: ${{runner.workspace}}/TeamTalk5 | |
run: | | |
cp -f Library/TeamTalkLib/test/tt5prosrv.xml_template Server/tt5prosrv.xml | |
cp Library/TeamTalkLib/test/ttservercert.pem Server/ | |
cp Library/TeamTalkLib/test/ttserverkey.pem Server/ | |
Server/tt5prosrv -d -wd Server/ | |
- name: Java Unit-test with virtual audio device (encrypted) | |
working-directory: ${{runner.workspace}}/TeamTalk5/Library/TeamTalkJNI | |
run: | | |
export ENCRYPTED=1 WEBRTC=0 | |
export INPUTDEVICEID=1978 | |
export OUTPUTDEVICEID=1978 | |
make runjunitpro | |
- name: Stop TeamTalk Pro Server (encrypted) | |
run: killall tt5prosrv | |
- name: Run CMake Install Target | |
working-directory: ${{runner.workspace}}/TeamTalk5/Build/build-ubuntu22 | |
run: cmake --build . --target install | |
- name: Upload TeamTalk Artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: teamtalksdk-ubuntu22 | |
path: ${{runner.workspace}}/install | |
- name: Make Ubuntu 22 Portable Archive | |
working-directory: ${{runner.workspace}}/TeamTalk5 | |
run: | | |
source env.sh | |
cd Setup/Portable | |
make ubuntu22 ubuntu22pro | |
- name: Upload TeamTalk Portable artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: teamtalk-ubuntu22 | |
path: ${{runner.workspace}}/TeamTalk5/Setup/Portable/teamtalk-* | |
- name: Upload TeamTalk Pro artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: teamtalkpro-ubuntu22 | |
path: ${{runner.workspace}}/TeamTalk5/Setup/Portable/teamtalkpro-* |