Ability to filter servers by country in qt teamtalk, Same as filtering servers by name! #6228
Workflow file for this run
This file contains hidden or 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: Windows | |
| on: | |
| push: | |
| branches: [ "master" ] | |
| pull_request: | |
| branches: [ "master" ] | |
| env: | |
| # TeamTalk unit test environment variables | |
| INPUTDEVICEID: 1978 | |
| OUTPUTDEVICEID: 1978 | |
| VIDEODEVICEID: None | |
| VERBOSE: 0 | |
| GITHUBSKIP: 1 | |
| SKIPKNOWNBUGS: 1 | |
| jobs: | |
| build: | |
| if: "!startsWith(github.head_ref, 'debug') || startsWith(github.head_ref, 'debug-windows')" | |
| permissions: | |
| security-events: write | |
| packages: read | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| arch: [x86, x64] | |
| include: | |
| - arch: x86 | |
| cmakeplatform: Win32 | |
| javaversion: 11 | |
| portablearch: win32 | |
| qtarch: win32_msvc2019 | |
| qtversion: '5.15.*' | |
| vcvars: vcvars32.bat | |
| - arch: x64 | |
| cmakeplatform: x64 | |
| javaversion: 25 | |
| portablearch: win64 | |
| qtarch: win64_msvc2022_64 | |
| qtmodules: 'qtmultimedia qtspeech' | |
| qtversion: '6.11.1' | |
| vcvars: vcvars64.bat | |
| runs-on: windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v7 | |
| with: | |
| submodules: true | |
| - name: Set up Java | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '${{ matrix.javaversion }}' | |
| architecture: ${{ matrix.arch }} | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.14' | |
| architecture: ${{ matrix.arch }} | |
| - name: Install Qt | |
| uses: jurplel/install-qt-action@v4 | |
| with: | |
| arch: '${{ matrix.qtarch }}' | |
| version: '${{ matrix.qtversion }}' | |
| modules: '${{ matrix.qtmodules }}' | |
| setup-python: false | |
| aqtsource: 'aqtinstall@git+https://github.com/miurahr/aqtinstall.git@master' | |
| - name: Install Doxygen | |
| uses: ssciwr/doxygen-install@v2 | |
| with: | |
| version: '1.17.0' | |
| - name: Set up VSTest | |
| uses: darenm/Setup-VSTest@v1 | |
| - name: Install dependencies | |
| run: python -m pip install -U pip pytest pytest-cov | |
| - name: Print env | |
| shell: cmd | |
| run: set | |
| - name: Install MSYS2 | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| msystem: MSYS | |
| path-type: inherit | |
| update: true | |
| install: base-devel | |
| release: false | |
| - name: Install NASM | |
| working-directory: ${{runner.workspace}} | |
| shell: cmd | |
| run: | | |
| curl -L -o nasm.zip https://www.nasm.us/pub/nasm/releasebuilds/3.01/win64/nasm-3.01-win64.zip | |
| 7z x nasm.zip | |
| echo %CD%\nasm-3.01>> %GITHUB_PATH% | |
| - name: Initialize CodeQL | |
| if: matrix.arch == 'x64' | |
| uses: github/codeql-action/init@v4 | |
| with: | |
| languages: csharp | |
| build-mode: manual | |
| - name: Configure CMake for toolchain build | |
| working-directory: ${{runner.workspace}} | |
| run: >- | |
| cmake -S TeamTalk5 -B output -A ${{ matrix.cmakeplatform }} | |
| -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2=ON | |
| -DBUILD_TEAMTALK_LIBRARY_UNITTEST_CATCH2_PERF=OFF | |
| -DFEATURE_WEBRTC=OFF | |
| -DTOOLCHAIN_INSTALL_PREFIX=${{runner.workspace}}/install-toolchain | |
| -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install-teamtalk | |
| - name: Build and install TeamTalk | |
| working-directory: ${{runner.workspace}} | |
| shell: cmd | |
| run: | | |
| call "C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Auxiliary\Build\${{ matrix.vcvars }}" | |
| cmake --build output --parallel --config Release --target install | |
| echo ${{github.workspace}}\Library\TeamTalk_DLL>> %GITHUB_PATH% | |
| echo ${{github.workspace}}\Library\TeamTalkJNI\libs>> %GITHUB_PATH% | |
| echo PYTHONPATH=${{github.workspace}}\Library\TeamTalkPy>> %GITHUB_ENV% | |
| - name: Run Java Server API tests (non-encrypted) | |
| if: matrix.arch == 'x86' | |
| working-directory: ${{github.workspace}}/Library/TeamTalkJNI | |
| shell: cmd | |
| run: junit.bat TeamTalkServerTestSuite | |
| env: | |
| ENCRYPTED: 0 | |
| WEBRTC: 0 | |
| - name: Run Java Server API tests (encrypted) | |
| if: matrix.arch == 'x64' | |
| working-directory: ${{github.workspace}}/Library/TeamTalkJNI | |
| shell: cmd | |
| run: junit.bat TeamTalkServerTestSuite | |
| env: | |
| ENCRYPTED: 1 | |
| WEBRTC: 0 | |
| - name: Copy server configuration | |
| working-directory: ${{github.workspace}} | |
| run: | | |
| copy Library\TeamTalkLib\test\tt5srv.xml_template Server\tt5srv.xml | |
| copy Library\TeamTalkLib\test\tt5prosrv.xml_template Server\tt5prosrv.xml | |
| copy Library\TeamTalkLib\test\ttserverkey.pem Server\ | |
| copy Library\TeamTalkLib\test\ttservercert.pem Server\ | |
| copy Library\TeamTalkLib\test\ca.cer Server\ | |
| - name: Start TeamTalk Standard Server | |
| working-directory: ${{github.workspace}}/Server | |
| shell: cmd | |
| run: | | |
| tt5svc.exe -i | |
| tt5svc.exe -s | |
| - name: Start TeamTalk Pro Server | |
| working-directory: ${{github.workspace}}/Server | |
| shell: cmd | |
| run: | | |
| tt5prosvc.exe -i | |
| tt5prosvc.exe -s | |
| - name: Run Catch unit tests | |
| working-directory: ${{github.workspace}}/Library/TeamTalkLib/test | |
| shell: cmd | |
| run: catchtt.exe --durations yes | |
| - name: Run Java unit tests (non-encrypted) | |
| working-directory: ${{github.workspace}}/Library/TeamTalkJNI | |
| shell: cmd | |
| run: junit.bat TeamTalkStdTestSuite | |
| env: | |
| ENCRYPTED: 0 | |
| WEBRTC: 0 | |
| - name: Run Java unit tests with shared audio devices (non-encrypted) | |
| if: matrix.arch == 'x64' | |
| working-directory: ${{github.workspace}}/Library/TeamTalkJNI | |
| shell: cmd | |
| run: junit.bat TeamTalkProTestSuite | |
| env: | |
| ENCRYPTED: 0 | |
| WEBRTC: 0 | |
| INPUTDEVICEID: 4026 | |
| OUTPUTDEVICEID: 4026 | |
| - name: Run Java unit tests with virtual audio device (encrypted) | |
| if: matrix.arch == 'x86' | |
| working-directory: ${{github.workspace}}/Library/TeamTalkJNI | |
| shell: cmd | |
| run: junit.bat TeamTalkProTestSuite | |
| env: | |
| ENCRYPTED: 1 | |
| WEBRTC: 0 | |
| - name: Restart TeamTalk Standard Server | |
| working-directory: ${{github.workspace}}/Server | |
| shell: cmd | |
| run: | | |
| tt5svc.exe -e | |
| tt5svc.exe -s | |
| - name: Stop and uninstall TeamTalk Pro Server | |
| working-directory: ${{github.workspace}}/Server | |
| shell: cmd | |
| run: | | |
| tt5prosvc.exe -e | |
| tt5prosvc.exe -u | |
| - name: Run .NET unit tests (non-encrypted) | |
| working-directory: ${{runner.workspace}} | |
| shell: cmd | |
| run: | | |
| cd output\Library\TeamTalk.NET\TeamTalkTest.NET\Release | |
| xcopy /S /Y /E ${{github.workspace}}\Library\TeamTalkLib\test\testdata testdata\ | |
| VSTest.Console.exe /Platform:${{ matrix.arch }} TeamTalk5Test.NET.dll | |
| - name: Run PyTest | |
| working-directory: ${{github.workspace}}/Library/TeamTalkPy/test | |
| run: pytest teamtalk_test.py | |
| - name: Run Python client | |
| working-directory: ${{github.workspace}}/Client/ttserverlogpy | |
| run: python main.py | |
| - name: Stop and uninstall TeamTalk Standard Server | |
| working-directory: ${{github.workspace}}/Server | |
| shell: cmd | |
| run: | | |
| tt5svc.exe -e | |
| tt5svc.exe -u | |
| - name: Enable encryption | |
| shell: cmd | |
| run: echo ENCRYPTED=true>> %GITHUB_ENV% | |
| - name: Start TeamTalk Pro Server (encrypted) | |
| working-directory: ${{github.workspace}}/Server | |
| shell: cmd | |
| run: | | |
| tt5prosvc.exe -i | |
| tt5prosvc.exe -s | |
| - name: Run .NET unit tests (encrypted) | |
| working-directory: ${{runner.workspace}} | |
| shell: cmd | |
| run: | | |
| cd output\Library\TeamTalk.NET\TeamTalkTest.NET\Release | |
| xcopy /S /Y /E ${{github.workspace}}\Library\TeamTalkLib\test\testdata testdata\ | |
| VSTest.Console.exe /Platform:${{ matrix.arch }} TeamTalk5Test.NET.dll | |
| - name: Stop and uninstall TeamTalk Pro Server | |
| working-directory: ${{github.workspace}}/Server | |
| shell: cmd | |
| run: | | |
| tt5prosvc.exe -e | |
| tt5prosvc.exe -u | |
| - name: Compile TeamTalk5.chm | |
| continue-on-error: true | |
| working-directory: ${{github.workspace}}/Documentation/TeamTalk | |
| shell: cmd | |
| run: '"C:\Program Files (x86)\HTML Help Workshop\hhc.exe" output\index.hhp' | |
| - name: Create portable archives | |
| working-directory: ${{runner.workspace}} | |
| shell: msys2 {0} | |
| run: | | |
| cd install-teamtalk | |
| export TEAMTALK_INSTALLDIR=$PWD | |
| cd ../TeamTalk5 | |
| source env.sh | |
| cd Setup/Portable | |
| make ${{ matrix.portablearch }} ${{ matrix.portablearch }}pro | |
| - name: Compile Inno Setup installer | |
| if: matrix.arch == 'x64' | |
| working-directory: ${{github.workspace}}/Setup/Installer/Windows | |
| shell: cmd | |
| run: | | |
| iscc /DBaseDir="${{github.workspace}}" /DInstallDir="${{runner.workspace}}\install-teamtalk" TeamTalk5.iss | |
| move Output\*.exe ${{runner.workspace}}\ | |
| - name: Configure CMake for prebuilt toolchain | |
| working-directory: ${{runner.workspace}} | |
| run: >- | |
| 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 | |
| -DCMAKE_INSTALL_PREFIX=${{runner.workspace}}/install-teamtalk | |
| - name: Build debug TeamTalk using prebuilt toolchain | |
| working-directory: ${{runner.workspace}} | |
| shell: cmd | |
| run: | | |
| call "C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Auxiliary\Build\${{ matrix.vcvars }}" | |
| cmake --build output-developer --parallel --config Debug | |
| - name: Upload Inno Setup installer artifact | |
| if: matrix.arch == 'x64' | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: teamtalk-installer-windows-${{ matrix.arch }} | |
| path: ${{runner.workspace}}/TeamTalk_*.exe | |
| - name: Upload TeamTalk SDK artifact | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: teamtalksdk-windows-${{ matrix.arch }} | |
| path: ${{runner.workspace}}/install-teamtalk | |
| - name: Upload TeamTalk portable artifact | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: teamtalk-portable-${{ matrix.portablearch }} | |
| path: ${{github.workspace}}/Setup/Portable/TeamTalk_*_Portable-${{ matrix.portablearch }} | |
| - name: Upload TeamTalk Pro Server artifact | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: teamtalkpro-${{ matrix.portablearch }} | |
| path: ${{github.workspace}}/Setup/Portable/teamtalkpro-*-${{ matrix.portablearch }} | |
| - name: Perform CodeQL Analysis | |
| if: matrix.arch == 'x64' && !cancelled() | |
| uses: github/codeql-action/analyze@v4 | |
| with: | |
| category: "/language:csharp" |