99 concurrency :
1010 group : ${{ github.workflow }}-${{ github.ref }}-${{ matrix.name }}
1111 cancel-in-progress : true
12- timeout-minutes : 10
12+ timeout-minutes : 30
1313 strategy :
1414 fail-fast : true
1515 matrix :
@@ -19,21 +19,56 @@ jobs:
1919 cmake_generator : " Unix Makefiles"
2020 cmake_build_type : Debug
2121 cmake_defines : -DNATIVE_STREAMING_ENABLE_TESTS=ON
22+ tls : true
23+ - name : Ubuntu without TLS
24+ runner : ubuntu-latest
25+ cmake_generator : " Unix Makefiles"
26+ cmake_build_type : Debug
27+ cmake_defines : -DNATIVE_STREAMING_ENABLE_TESTS=ON
28+ tls : false
2229 - name : Windows
2330 runner : windows-latest
2431 cmake_generator : " Visual Studio 17 2022"
2532 cmake_build_type : Debug
2633 cmake_defines : -DNATIVE_STREAMING_ENABLE_TESTS=ON
34+ tls : true
35+ - name : Windows without TLS
36+ runner : windows-latest
37+ cmake_generator : " Visual Studio 17 2022"
38+ cmake_build_type : Debug
39+ cmake_defines : -DNATIVE_STREAMING_ENABLE_TESTS=ON
40+ tls : false
2741
2842 steps :
2943 - name : Checkout repository
3044 uses : actions/checkout@v3
3145
46+ # OpenSSL is the only dependency which is not fetched, and the TLS channel needs it. Installed
47+ # the way the other openDAQ repositories do it: from the distribution on Linux, from vcpkg on
48+ # Windows, whose build is dynamic - hence its bin directory on PATH, so that the tests find the
49+ # DLLs at run time
50+ - name : Install OpenSSL
51+ if : runner.os == 'Linux' && matrix.tls
52+ run : sudo apt-get update && sudo apt-get install -y libssl-dev
53+
54+ # The runner image ships libssl-dev, whose headers are on the default include path: removed, so
55+ # that the build without TLS fails if OpenSSL leaks into it
56+ - name : Remove OpenSSL
57+ if : runner.os == 'Linux' && !matrix.tls
58+ run : sudo apt-get remove -y libssl-dev
59+
60+ - name : Install OpenSSL
61+ if : runner.os == 'Windows' && matrix.tls
62+ run : |
63+ vcpkg install openssl:x64-windows
64+ Add-Content -Path $env:GITHUB_ENV -Value "OPENSSL_ROOT_DIR=C:/vcpkg/installed/x64-windows" -Encoding utf8
65+ Add-Content -Path $env:GITHUB_PATH -Value "C:\vcpkg\installed\x64-windows\bin" -Encoding utf8
66+
3267 - name : Configure
3368 run : |
3469 mkdir build
3570 cd build
36- cmake -G "${{ matrix.cmake_generator }}" ${{ matrix.cmake_defines }} -DCMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }} ..
71+ cmake -G "${{ matrix.cmake_generator }}" ${{ matrix.cmake_defines }} -DNATIVE_STREAMING_ENABLE_TLS=${{ matrix.tls && 'ON' || 'OFF' }} - DCMAKE_BUILD_TYPE=${{ matrix.cmake_build_type }} ..
3772
3873 - name : Build
3974 working-directory : build
0 commit comments