From 801a0bae3ed9bceb5754c805ba5cea01c480e7a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Mon, 30 Mar 2026 18:15:52 +0200 Subject: [PATCH 01/32] [CI] Added configuration for Linux with various matrix combinations --- .github/workflows/linux-matrix.yaml | 67 +++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 .github/workflows/linux-matrix.yaml diff --git a/.github/workflows/linux-matrix.yaml b/.github/workflows/linux-matrix.yaml new file mode 100644 index 000000000..0bb92b224 --- /dev/null +++ b/.github/workflows/linux-matrix.yaml @@ -0,0 +1,67 @@ +name: Linux + +on: + push: + branches: [ "master", "dev" ] + pull_request: + branches: [ "master", "dev" ] + +jobs: + build_native: + strategy: + matrix: + cxxstdsync: [OFF, ON] + cxxstd: [03, 11] + crypto: [OFF, openssl, openssl-evp, gnutls, mbedtls, botan] + bonding: [OFF, ON] + logging: [OFF, ON] + + + exclude: + - cxxstdsync: ON + cxxstd: 03 + + name: Build: C++${{ matrix.cxxstd }} C++sync=${{ matrix.cxxstdsync }} Crypto=${{ matrix.crypto }} Bonding=${{ matrix.bonding }} Logging=${{ matrix.logging }} + runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] + steps: + - uses: actions/checkout@v3 + - name: Configure packages and system + run: | + sudo apt install -y tcl cmake libssl-dev libmbedtls-dev libbotan-2-dev gdb + echo "core.%e" | sudo tee /proc/sys/kernel/core_pattern + - name: Configure + run: | + mkdir _build && cd _build + CRYPTO_OPTIONS=-DENABLE_ENCRYPTION=OFF + if [[ ${{ matrix.crypto }} != OFF ]]; then CRYPTO_OPTIONS=-DUSE_ENCLIB=${{ matrix.crypto }}; fi + cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=${{ matrix.cxxstd }} -DENABLE_STDCXX_SYNC=${{ matrix.cxxstdsync }} $CRYPTO_OPTIONS -DENABLE_UNITTESTS=ON -DENABLE_BONDING=${{ matrix.bonding }} -DENABLE_LOGGING=${{ matrix.logging }} -DENABLE_HEAVY_LOGGING=${{ matrix.logging }} -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + - name: Build + run: cd _build && make -j -k + - name: test + run: | + ulimit -c unlimited + cd _build && ctest --extra-verbose + SUCCESS=$? + if [ -f core.test-srt ]; then gdb -batch ./test-srt -c core -ex bt -ex "info thread" -ex quit; else echo "NO CORE - NO CRY!"; fi; + test $SUCCESS == 0; + + - name: codecov + run: | + source ./scripts/collect-gcov.sh + bash <(curl -s https://codecov.io/bash) + + build_mingw: + name: Build Mingw32 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Dependencies + run: | + sudo apt install -y g++-mingw-w64-x86-64-posix gcc-mingw-w64-x86-64-posix + - name: Configure + run: | + mkdir _build && cd _build + export CC=x86_64-w64-mingw32-gcc-posix CXX=x86_64-w64-mingw32-g++-posix + cmake .. -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_UNITTESTS=OFF -DUSE_OPENSSL_PC=OFF -DCMAKE_SYSTEM_NAME=Windows + - name: Build + run: cd _build && make -j -k From 921e1d7ad40fbb7aa6b80d665cb7d1e6db5c4847 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Mon, 30 Mar 2026 18:28:36 +0200 Subject: [PATCH 02/32] Some minor fixes --- .github/workflows/linux-matrix.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/linux-matrix.yaml b/.github/workflows/linux-matrix.yaml index 0bb92b224..08ef74003 100644 --- a/.github/workflows/linux-matrix.yaml +++ b/.github/workflows/linux-matrix.yaml @@ -5,7 +5,7 @@ on: branches: [ "master", "dev" ] pull_request: branches: [ "master", "dev" ] - + types: [opened, synchronize, reopened] jobs: build_native: strategy: @@ -15,8 +15,6 @@ jobs: crypto: [OFF, openssl, openssl-evp, gnutls, mbedtls, botan] bonding: [OFF, ON] logging: [OFF, ON] - - exclude: - cxxstdsync: ON cxxstd: 03 From 61ddecfcaeff47f7b32bdcf1fa858e363f8fcbe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Mon, 30 Mar 2026 18:33:18 +0200 Subject: [PATCH 03/32] Fixed YAML syntax error --- .github/workflows/linux-matrix.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux-matrix.yaml b/.github/workflows/linux-matrix.yaml index 08ef74003..8daf28f64 100644 --- a/.github/workflows/linux-matrix.yaml +++ b/.github/workflows/linux-matrix.yaml @@ -19,7 +19,7 @@ jobs: - cxxstdsync: ON cxxstd: 03 - name: Build: C++${{ matrix.cxxstd }} C++sync=${{ matrix.cxxstdsync }} Crypto=${{ matrix.crypto }} Bonding=${{ matrix.bonding }} Logging=${{ matrix.logging }} + name: Build C++${{ matrix.cxxstd }} C++sync=${{ matrix.cxxstdsync }} Crypto=${{ matrix.crypto }} Bonding=${{ matrix.bonding }} Logging=${{ matrix.logging }} runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] steps: - uses: actions/checkout@v3 From 3fa8cb9db085a5e7b817e54fcb390f63884aac76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Mon, 30 Mar 2026 18:34:35 +0200 Subject: [PATCH 04/32] Fixed C++ std spec --- .github/workflows/linux-matrix.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux-matrix.yaml b/.github/workflows/linux-matrix.yaml index 8daf28f64..de4506df6 100644 --- a/.github/workflows/linux-matrix.yaml +++ b/.github/workflows/linux-matrix.yaml @@ -11,7 +11,7 @@ jobs: strategy: matrix: cxxstdsync: [OFF, ON] - cxxstd: [03, 11] + cxxstd: ["03", "11"] crypto: [OFF, openssl, openssl-evp, gnutls, mbedtls, botan] bonding: [OFF, ON] logging: [OFF, ON] From b904bf5e039d904b903a43f45741556f97d1efa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Mon, 30 Mar 2026 18:37:46 +0200 Subject: [PATCH 05/32] Consolidated build options --- .github/workflows/linux-matrix.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linux-matrix.yaml b/.github/workflows/linux-matrix.yaml index de4506df6..35ac3fff0 100644 --- a/.github/workflows/linux-matrix.yaml +++ b/.github/workflows/linux-matrix.yaml @@ -18,7 +18,11 @@ jobs: exclude: - cxxstdsync: ON cxxstd: 03 - + - logging: OFF + crypto: [openssl-evp, gnutls, mbedtls, botan] + - bonding: OFF + crypto: [openssl-evp, gnutls, mbedtls, botan] + name: Build C++${{ matrix.cxxstd }} C++sync=${{ matrix.cxxstdsync }} Crypto=${{ matrix.crypto }} Bonding=${{ matrix.bonding }} Logging=${{ matrix.logging }} runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] steps: From f88577f13ea1d32eb371dec422e1900b7d28ddc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Mon, 30 Mar 2026 18:45:18 +0200 Subject: [PATCH 06/32] Fixed exclude list --- .github/workflows/linux-matrix.yaml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linux-matrix.yaml b/.github/workflows/linux-matrix.yaml index 35ac3fff0..ffd78e7dc 100644 --- a/.github/workflows/linux-matrix.yaml +++ b/.github/workflows/linux-matrix.yaml @@ -19,9 +19,15 @@ jobs: - cxxstdsync: ON cxxstd: 03 - logging: OFF - crypto: [openssl-evp, gnutls, mbedtls, botan] + crypto: openssl-evp + crypto: gnutls + crypto: mbedtls + crypto: botan - bonding: OFF - crypto: [openssl-evp, gnutls, mbedtls, botan] + crypto: openssl-evp + crypto: gnutls + crypto: mbedtls + crypto: botan name: Build C++${{ matrix.cxxstd }} C++sync=${{ matrix.cxxstdsync }} Crypto=${{ matrix.crypto }} Bonding=${{ matrix.bonding }} Logging=${{ matrix.logging }} runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] From 50e96d868f0b9f8f6c526c649ab876ae7bed7343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Mon, 30 Mar 2026 18:47:45 +0200 Subject: [PATCH 07/32] Fixed exclude list --- .github/workflows/linux-matrix.yaml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/linux-matrix.yaml b/.github/workflows/linux-matrix.yaml index ffd78e7dc..c498c4d76 100644 --- a/.github/workflows/linux-matrix.yaml +++ b/.github/workflows/linux-matrix.yaml @@ -19,15 +19,12 @@ jobs: - cxxstdsync: ON cxxstd: 03 - logging: OFF - crypto: openssl-evp - crypto: gnutls - crypto: mbedtls - crypto: botan - bonding: OFF - crypto: openssl-evp - crypto: gnutls - crypto: mbedtls - crypto: botan + include: + - logging: OFF + crypto: openssl + - bonding: OFF + crypto: openssl name: Build C++${{ matrix.cxxstd }} C++sync=${{ matrix.cxxstdsync }} Crypto=${{ matrix.crypto }} Bonding=${{ matrix.bonding }} Logging=${{ matrix.logging }} runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] From 774dc061738cb6b40aec7d693fc85360610ae3cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Tue, 31 Mar 2026 09:37:21 +0200 Subject: [PATCH 08/32] Fixed matrix combinations --- .github/workflows/linux-matrix.yaml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/linux-matrix.yaml b/.github/workflows/linux-matrix.yaml index c498c4d76..a29050c07 100644 --- a/.github/workflows/linux-matrix.yaml +++ b/.github/workflows/linux-matrix.yaml @@ -11,20 +11,31 @@ jobs: strategy: matrix: cxxstdsync: [OFF, ON] + logging: [OFF, ON] + bonding: [OFF, ON] cxxstd: ["03", "11"] crypto: [OFF, openssl, openssl-evp, gnutls, mbedtls, botan] - bonding: [OFF, ON] - logging: [OFF, ON] exclude: - - cxxstdsync: ON - cxxstd: 03 + - cxxstdsync: OFF - logging: OFF - bonding: OFF + - cxxstd: "03" include: - logging: OFF crypto: openssl + cxxstd: "03" + cxxstdsync: OFF + bonding: ON - bonding: OFF crypto: openssl + cxxstd: "11" + cxxstdsync: ON + logging: ON + - cxxstdsync: OFF + crypto: openssl + cxxstd: "03" + logging: ON + bonding: ON name: Build C++${{ matrix.cxxstd }} C++sync=${{ matrix.cxxstdsync }} Crypto=${{ matrix.crypto }} Bonding=${{ matrix.bonding }} Logging=${{ matrix.logging }} runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] From 93cbc450a9c88e5fdc174bea4580910fa3efa298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Wed, 1 Apr 2026 13:12:28 +0200 Subject: [PATCH 09/32] Replaced with two linear matrices --- .github/workflows/linux-matrix.yaml | 54 ++++++++++++++++++----------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/.github/workflows/linux-matrix.yaml b/.github/workflows/linux-matrix.yaml index a29050c07..19092b281 100644 --- a/.github/workflows/linux-matrix.yaml +++ b/.github/workflows/linux-matrix.yaml @@ -7,33 +7,46 @@ on: branches: [ "master", "dev" ] types: [opened, synchronize, reopened] jobs: - build_native: + build_crypto: + strategy: + matrix: + crypto: [OFF, openssl, openssl-evp, gnutls, mbedtls, botan] + + name: Build Crypto=${{ matrix.crypto }} C++11 Full + runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] + steps: + - uses: actions/checkout@v3 + - name: Configure packages and system + run: | + sudo apt install -y tcl cmake libssl-dev libmbedtls-dev libbotan-2-dev gdb + echo "core.%e" | sudo tee /proc/sys/kernel/core_pattern + - name: Configure + run: | + mkdir _build && cd _build + CRYPTO_OPTIONS=-DENABLE_ENCRYPTION=OFF + if [[ ${{ matrix.crypto }} != OFF ]]; then CRYPTO_OPTIONS=-DUSE_ENCLIB=${{ matrix.crypto }}; fi + cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=11 -DENABLE_STDCXX_SYNC=ON $CRYPTO_OPTIONS -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_HEAVY_LOGGING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + - name: Build + run: cd _build && make -j -k + - name: test + run: | + ulimit -c unlimited + cd _build && ctest --extra-verbose + SUCCESS=$? + if [ -f core.test-srt ]; then gdb -batch ./test-srt -c core -ex bt -ex "info thread" -ex quit; else echo "NO CORE - NO CRY!"; fi; + test $SUCCESS == 0; + + build_options: strategy: matrix: cxxstdsync: [OFF, ON] logging: [OFF, ON] bonding: [OFF, ON] cxxstd: ["03", "11"] - crypto: [OFF, openssl, openssl-evp, gnutls, mbedtls, botan] exclude: - cxxstdsync: OFF - - logging: OFF - - bonding: OFF - - cxxstd: "03" - include: - - logging: OFF - crypto: openssl - cxxstd: "03" - cxxstdsync: OFF - bonding: ON - - bonding: OFF - crypto: openssl cxxstd: "11" - cxxstdsync: ON - logging: ON - - cxxstdsync: OFF - crypto: openssl - cxxstd: "03" + - cxxstd: "11" logging: ON bonding: ON @@ -48,9 +61,8 @@ jobs: - name: Configure run: | mkdir _build && cd _build - CRYPTO_OPTIONS=-DENABLE_ENCRYPTION=OFF - if [[ ${{ matrix.crypto }} != OFF ]]; then CRYPTO_OPTIONS=-DUSE_ENCLIB=${{ matrix.crypto }}; fi - cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=${{ matrix.cxxstd }} -DENABLE_STDCXX_SYNC=${{ matrix.cxxstdsync }} $CRYPTO_OPTIONS -DENABLE_UNITTESTS=ON -DENABLE_BONDING=${{ matrix.bonding }} -DENABLE_LOGGING=${{ matrix.logging }} -DENABLE_HEAVY_LOGGING=${{ matrix.logging }} -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + # NOTE > Crypto options are default - enabled, openssl + cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=${{ matrix.cxxstd }} -DENABLE_STDCXX_SYNC=${{ matrix.cxxstdsync }} -DENABLE_UNITTESTS=ON -DENABLE_BONDING=${{ matrix.bonding }} -DENABLE_LOGGING=${{ matrix.logging }} -DENABLE_HEAVY_LOGGING=${{ matrix.logging }} -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - name: Build run: cd _build && make -j -k - name: test From 4e1b1688ee486177a617976e6c1ee44050aaa2cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Wed, 1 Apr 2026 13:14:01 +0200 Subject: [PATCH 10/32] Fixed description --- .github/workflows/linux-matrix.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux-matrix.yaml b/.github/workflows/linux-matrix.yaml index 19092b281..94cacbcb1 100644 --- a/.github/workflows/linux-matrix.yaml +++ b/.github/workflows/linux-matrix.yaml @@ -50,7 +50,7 @@ jobs: logging: ON bonding: ON - name: Build C++${{ matrix.cxxstd }} C++sync=${{ matrix.cxxstdsync }} Crypto=${{ matrix.crypto }} Bonding=${{ matrix.bonding }} Logging=${{ matrix.logging }} + name: Build C++${{ matrix.cxxstd }} C++sync=${{ matrix.cxxstdsync }} Bonding=${{ matrix.bonding }} Logging=${{ matrix.logging }} runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] steps: - uses: actions/checkout@v3 From 7e02f8f853d9cf93848af2712cc2c5523772d880 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Wed, 1 Apr 2026 14:25:49 +0200 Subject: [PATCH 11/32] Changed names and split to single files --- .../workflows/{cxx11-macos.yaml => macos.yml} | 4 +- .../{cxx03-ubuntu.yaml => ubuntu-c++03.yml} | 2 +- .github/workflows/ubuntu-c++11-crypto.yml | 37 ++++++++++++++++++ .../{cxx11-ubuntu.yaml => ubuntu-c++11.yml} | 6 +-- .../{linux-matrix.yaml => ubuntu-matrix.yml} | 38 +++---------------- ...{cxx11-win.yaml => windows-msvc-noenc.yml} | 0 6 files changed, 48 insertions(+), 39 deletions(-) rename .github/workflows/{cxx11-macos.yaml => macos.yml} (96%) rename .github/workflows/{cxx03-ubuntu.yaml => ubuntu-c++03.yml} (80%) create mode 100644 .github/workflows/ubuntu-c++11-crypto.yml rename .github/workflows/{cxx11-ubuntu.yaml => ubuntu-c++11.yml} (65%) rename .github/workflows/{linux-matrix.yaml => ubuntu-matrix.yml} (61%) rename .github/workflows/{cxx11-win.yaml => windows-msvc-noenc.yml} (100%) diff --git a/.github/workflows/cxx11-macos.yaml b/.github/workflows/macos.yml similarity index 96% rename from .github/workflows/cxx11-macos.yaml rename to .github/workflows/macos.yml index b03b4f75f..7ec1cfb80 100644 --- a/.github/workflows/cxx11-macos.yaml +++ b/.github/workflows/macos.yml @@ -1,4 +1,4 @@ -name: C++11 +name: MacOS on: push: @@ -8,7 +8,7 @@ on: jobs: build: - name: macos + name: C++11 noenc runs-on: macos-latest steps: diff --git a/.github/workflows/cxx03-ubuntu.yaml b/.github/workflows/ubuntu-c++03.yml similarity index 80% rename from .github/workflows/cxx03-ubuntu.yaml rename to .github/workflows/ubuntu-c++03.yml index ce27436aa..3206334d0 100644 --- a/.github/workflows/cxx03-ubuntu.yaml +++ b/.github/workflows/ubuntu-c++03.yml @@ -15,7 +15,7 @@ jobs: - name: configure run: | mkdir _build && cd _build - cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_STDCXX_SYNC=OFF -DUSE_CXX_STD=c++03 -DENABLE_ENCRYPTION=ON -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_STDCXX_SYNC=OFF -DUSE_CXX_STD=03 -DENABLE_ENCRYPTION=ON -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - name: build # That below is likely SonarQube remains, which was removed earlier. #run: cd _build && build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} cmake --build . diff --git a/.github/workflows/ubuntu-c++11-crypto.yml b/.github/workflows/ubuntu-c++11-crypto.yml new file mode 100644 index 000000000..2db204555 --- /dev/null +++ b/.github/workflows/ubuntu-c++11-crypto.yml @@ -0,0 +1,37 @@ +name: Linux + +on: + push: + branches: [ "master", "dev" ] + pull_request: + branches: [ "master", "dev" ] + types: [opened, synchronize, reopened] +jobs: + build_crypto: + strategy: + matrix: + crypto: [OFF, openssl, openssl-evp, gnutls, mbedtls, botan] + + name: Build Crypto=${{ matrix.crypto }} C++11 Full + runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] + steps: + - uses: actions/checkout@v3 + - name: Configure packages and system + run: | + sudo apt install -y tcl cmake libssl-dev libgnutls28-dev libmbedtls-dev libbotan-2-dev gdb + echo "core.%e" | sudo tee /proc/sys/kernel/core_pattern + - name: Configure + run: | + mkdir _build && cd _build + if [[ ${{ matrix.crypto }} != OFF ]]; then CRYPTO_OPTIONS=-DUSE_ENCLIB=${{ matrix.crypto }}; else CRYPTO_OPTIONS=-DENABLE_ENCRYPTION=OFF; fi + cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=11 -DENABLE_STDCXX_SYNC=ON $CRYPTO_OPTIONS -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_HEAVY_LOGGING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + - name: Build + run: cd _build && make -j -k + - name: test + run: | + ulimit -c unlimited + cd _build && ctest --extra-verbose + SUCCESS=$? + if [ -f core.test-srt ]; then gdb -batch ./test-srt -c core -ex bt -ex "info thread" -ex quit; else echo "NO CORE - NO CRY!"; fi; + test $SUCCESS == 0; + diff --git a/.github/workflows/cxx11-ubuntu.yaml b/.github/workflows/ubuntu-c++11.yml similarity index 65% rename from .github/workflows/cxx11-ubuntu.yaml rename to .github/workflows/ubuntu-c++11.yml index eda7ecca3..b5a63f118 100644 --- a/.github/workflows/cxx11-ubuntu.yaml +++ b/.github/workflows/ubuntu-c++11.yml @@ -1,4 +1,4 @@ -name: C++11 +name: Linux on: push: @@ -8,14 +8,14 @@ on: types: [opened, synchronize, reopened] jobs: build: - name: ubuntu + name: C++11 runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: configure run: | mkdir _build && cd _build - cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_STDCXX_SYNC=ON -DENABLE_ENCRYPTION=ON -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=11 -DENABLE_STDCXX_SYNC=ON -DENABLE_ENCRYPTION=ON -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - name: build run: cd _build && cmake --build . - name: test diff --git a/.github/workflows/linux-matrix.yaml b/.github/workflows/ubuntu-matrix.yml similarity index 61% rename from .github/workflows/linux-matrix.yaml rename to .github/workflows/ubuntu-matrix.yml index 94cacbcb1..c820e594f 100644 --- a/.github/workflows/linux-matrix.yaml +++ b/.github/workflows/ubuntu-matrix.yml @@ -7,35 +7,6 @@ on: branches: [ "master", "dev" ] types: [opened, synchronize, reopened] jobs: - build_crypto: - strategy: - matrix: - crypto: [OFF, openssl, openssl-evp, gnutls, mbedtls, botan] - - name: Build Crypto=${{ matrix.crypto }} C++11 Full - runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] - steps: - - uses: actions/checkout@v3 - - name: Configure packages and system - run: | - sudo apt install -y tcl cmake libssl-dev libmbedtls-dev libbotan-2-dev gdb - echo "core.%e" | sudo tee /proc/sys/kernel/core_pattern - - name: Configure - run: | - mkdir _build && cd _build - CRYPTO_OPTIONS=-DENABLE_ENCRYPTION=OFF - if [[ ${{ matrix.crypto }} != OFF ]]; then CRYPTO_OPTIONS=-DUSE_ENCLIB=${{ matrix.crypto }}; fi - cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=11 -DENABLE_STDCXX_SYNC=ON $CRYPTO_OPTIONS -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_HEAVY_LOGGING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - - name: Build - run: cd _build && make -j -k - - name: test - run: | - ulimit -c unlimited - cd _build && ctest --extra-verbose - SUCCESS=$? - if [ -f core.test-srt ]; then gdb -batch ./test-srt -c core -ex bt -ex "info thread" -ex quit; else echo "NO CORE - NO CRY!"; fi; - test $SUCCESS == 0; - build_options: strategy: matrix: @@ -44,12 +15,12 @@ jobs: bonding: [OFF, ON] cxxstd: ["03", "11"] exclude: - - cxxstdsync: OFF - cxxstd: "11" - cxxstd: "11" logging: ON bonding: ON - + - cxxstd: "03" + cxxstdsync: ON + bonding: OFF name: Build C++${{ matrix.cxxstd }} C++sync=${{ matrix.cxxstdsync }} Bonding=${{ matrix.bonding }} Logging=${{ matrix.logging }} runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] steps: @@ -90,6 +61,7 @@ jobs: run: | mkdir _build && cd _build export CC=x86_64-w64-mingw32-gcc-posix CXX=x86_64-w64-mingw32-g++-posix - cmake .. -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_UNITTESTS=OFF -DUSE_OPENSSL_PC=OFF -DCMAKE_SYSTEM_NAME=Windows + # NOTE > Temporarily blocked encryption due to problems with enclib + cmake .. -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_ENCRYPTION=OFF -DENABLE_UNITTESTS=OFF -DUSE_OPENSSL_PC=OFF -DCMAKE_SYSTEM_NAME=Windows - name: Build run: cd _build && make -j -k diff --git a/.github/workflows/cxx11-win.yaml b/.github/workflows/windows-msvc-noenc.yml similarity index 100% rename from .github/workflows/cxx11-win.yaml rename to .github/workflows/windows-msvc-noenc.yml From 32c34731ecb47122c5b785c884032dad6a14e886 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Wed, 8 Apr 2026 13:58:28 +0200 Subject: [PATCH 12/32] Blocked matrix, added variants to C++03 --- .github/workflows/ubuntu-c++03.yml | 13 ++++++++++--- ...{ubuntu-matrix.yml => ubuntu-matrix.yml.BLOCKED} | 0 2 files changed, 10 insertions(+), 3 deletions(-) rename .github/workflows/{ubuntu-matrix.yml => ubuntu-matrix.yml.BLOCKED} (100%) diff --git a/.github/workflows/ubuntu-c++03.yml b/.github/workflows/ubuntu-c++03.yml index 3206334d0..979391ce4 100644 --- a/.github/workflows/ubuntu-c++03.yml +++ b/.github/workflows/ubuntu-c++03.yml @@ -1,4 +1,4 @@ -name: C++03 (old compat) +name: C++03 (old compat) Ubuntu on: push: @@ -8,14 +8,21 @@ on: types: [opened, synchronize, reopened] jobs: build: - name: ubuntu + strategy: + matrix: + logging: [OFF, ON] + bonding: [OFF, ON] + exclude: + - bonding: OFF + - logging: OFF + name: logging:${{ matrix.logging }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: configure run: | mkdir _build && cd _build - cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_STDCXX_SYNC=OFF -DUSE_CXX_STD=03 -DENABLE_ENCRYPTION=ON -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_STDCXX_SYNC=OFF -DUSE_CXX_STD=03 -DENABLE_ENCRYPTION=ON -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_LOGGING=${{ matrix.logging }} - name: build # That below is likely SonarQube remains, which was removed earlier. #run: cd _build && build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} cmake --build . diff --git a/.github/workflows/ubuntu-matrix.yml b/.github/workflows/ubuntu-matrix.yml.BLOCKED similarity index 100% rename from .github/workflows/ubuntu-matrix.yml rename to .github/workflows/ubuntu-matrix.yml.BLOCKED From 4b47ae6f9b6ce06cf8662b8859abfdac6b7647d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Wed, 8 Apr 2026 14:38:39 +0200 Subject: [PATCH 13/32] Fixed wrong config on C++03 --- .../ubuntu-matrix.yml} | 0 .github/workflows/ubuntu-c++03.yml | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename .github/{workflows/ubuntu-matrix.yml.BLOCKED => blocked-workflows/ubuntu-matrix.yml} (100%) diff --git a/.github/workflows/ubuntu-matrix.yml.BLOCKED b/.github/blocked-workflows/ubuntu-matrix.yml similarity index 100% rename from .github/workflows/ubuntu-matrix.yml.BLOCKED rename to .github/blocked-workflows/ubuntu-matrix.yml diff --git a/.github/workflows/ubuntu-c++03.yml b/.github/workflows/ubuntu-c++03.yml index 979391ce4..dfd9dda42 100644 --- a/.github/workflows/ubuntu-c++03.yml +++ b/.github/workflows/ubuntu-c++03.yml @@ -14,7 +14,7 @@ jobs: bonding: [OFF, ON] exclude: - bonding: OFF - - logging: OFF + logging: OFF name: logging:${{ matrix.logging }} runs-on: ubuntu-latest steps: @@ -22,7 +22,7 @@ jobs: - name: configure run: | mkdir _build && cd _build - cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_STDCXX_SYNC=OFF -DUSE_CXX_STD=03 -DENABLE_ENCRYPTION=ON -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_LOGGING=${{ matrix.logging }} + cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_STDCXX_SYNC=OFF -DUSE_CXX_STD=03 -DENABLE_ENCRYPTION=ON -DENABLE_UNITTESTS=ON -DENABLE_BONDING=${{ matrix.bonding }} -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_LOGGING=${{ matrix.logging }} - name: build # That below is likely SonarQube remains, which was removed earlier. #run: cd _build && build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} cmake --build . From 73273c6dcf28290fcf20fdd4c78ff1559f280e10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Wed, 8 Apr 2026 14:41:25 +0200 Subject: [PATCH 14/32] Fixed names --- .github/workflows/ubuntu-c++03.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ubuntu-c++03.yml b/.github/workflows/ubuntu-c++03.yml index dfd9dda42..c3f9a8808 100644 --- a/.github/workflows/ubuntu-c++03.yml +++ b/.github/workflows/ubuntu-c++03.yml @@ -1,4 +1,4 @@ -name: C++03 (old compat) Ubuntu +name: Ubuntu C++03 on: push: @@ -15,7 +15,7 @@ jobs: exclude: - bonding: OFF logging: OFF - name: logging:${{ matrix.logging }} + name: logging=${{ matrix.logging }} bonding=${{ matrix.bonding }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 From a49c4050d3c8ab2a74bd69b05e13736a87ff5a26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Wed, 8 Apr 2026 14:57:34 +0200 Subject: [PATCH 15/32] Small fixes in crypto matrix --- .github/workflows/ubuntu-c++11-crypto.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ubuntu-c++11-crypto.yml b/.github/workflows/ubuntu-c++11-crypto.yml index 2db204555..bfe62a8ee 100644 --- a/.github/workflows/ubuntu-c++11-crypto.yml +++ b/.github/workflows/ubuntu-c++11-crypto.yml @@ -7,12 +7,12 @@ on: branches: [ "master", "dev" ] types: [opened, synchronize, reopened] jobs: - build_crypto: + build: strategy: matrix: crypto: [OFF, openssl, openssl-evp, gnutls, mbedtls, botan] - name: Build Crypto=${{ matrix.crypto }} C++11 Full + name: Build Crypto=${{ matrix.crypto }} C++11 runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] steps: - uses: actions/checkout@v3 From c5697ab0cd5999c6c9db8e9c71a44969dc32aa89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Wed, 8 Apr 2026 15:47:22 +0200 Subject: [PATCH 16/32] Removed crypto builds. Added MinGW build --- .../ubuntu-c++11-crypto.yml | 0 .github/workflows/ubuntu-mingw.yml | 25 +++++++++++++++++++ 2 files changed, 25 insertions(+) rename .github/{workflows => blocked-workflows}/ubuntu-c++11-crypto.yml (100%) create mode 100644 .github/workflows/ubuntu-mingw.yml diff --git a/.github/workflows/ubuntu-c++11-crypto.yml b/.github/blocked-workflows/ubuntu-c++11-crypto.yml similarity index 100% rename from .github/workflows/ubuntu-c++11-crypto.yml rename to .github/blocked-workflows/ubuntu-c++11-crypto.yml diff --git a/.github/workflows/ubuntu-mingw.yml b/.github/workflows/ubuntu-mingw.yml new file mode 100644 index 000000000..44bbd882c --- /dev/null +++ b/.github/workflows/ubuntu-mingw.yml @@ -0,0 +1,25 @@ +name: Ubuntu MinGW + +on: + push: + branches: [ "master", "dev" ] + pull_request: + branches: [ "master", "dev" ] + types: [opened, synchronize, reopened] +jobs: + build: + name: noenc + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Dependencies + run: | + sudo apt install -y g++-mingw-w64-x86-64-posix gcc-mingw-w64-x86-64-posix + - name: Configure + run: | + mkdir _build && cd _build + export CC=x86_64-w64-mingw32-gcc-posix CXX=x86_64-w64-mingw32-g++-posix + cmake .. -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_ENCRYPTION=OFF -DENABLE_UNITTESTS=OFF -DUSE_OPENSSL_PC=OFF -DCMAKE_SYSTEM_NAME=Windows -DENABLE_BONDING_ON -DENABLE_TESTING=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + - name: Build + run: cd _build && make -j -k + From 861ab04e1e7c38ef0b366537f7ee471f7d70fa1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Thu, 9 Apr 2026 08:59:12 +0200 Subject: [PATCH 17/32] Fixed MinGW typo. Added core handling for Linux --- .github/workflows/ubuntu-c++03.yml | 6 ++++++ .github/workflows/ubuntu-c++11.yml | 6 ++++++ .github/workflows/ubuntu-mingw.yml | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ubuntu-c++03.yml b/.github/workflows/ubuntu-c++03.yml index c3f9a8808..3f38598ca 100644 --- a/.github/workflows/ubuntu-c++03.yml +++ b/.github/workflows/ubuntu-c++03.yml @@ -21,6 +21,7 @@ jobs: - uses: actions/checkout@v3 - name: configure run: | + sudo apt install -y tcl cmake libssl-dev gdb mkdir _build && cd _build cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_STDCXX_SYNC=OFF -DUSE_CXX_STD=03 -DENABLE_ENCRYPTION=ON -DENABLE_UNITTESTS=ON -DENABLE_BONDING=${{ matrix.bonding }} -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_LOGGING=${{ matrix.logging }} - name: build @@ -29,7 +30,12 @@ jobs: run: cd _build && cmake --build . - name: test run: | + echo "core.%e" | sudo tee /proc/sys/kernel/core_pattern + ulimit -c unlimited cd _build && ctest --extra-verbose + SUCCESS=$? + if [ -f core.test-srt ]; then gdb -batch ./test-srt -c core -ex bt -ex "info thread" -ex quit; else echo "NO CORE - NO CRY!"; fi; + test $SUCCESS == 0; - name: codecov run: | source ./scripts/collect-gcov.sh diff --git a/.github/workflows/ubuntu-c++11.yml b/.github/workflows/ubuntu-c++11.yml index b5a63f118..fbbc89b18 100644 --- a/.github/workflows/ubuntu-c++11.yml +++ b/.github/workflows/ubuntu-c++11.yml @@ -14,13 +14,19 @@ jobs: - uses: actions/checkout@v3 - name: configure run: | + sudo apt install -y tcl cmake libssl-dev gdb mkdir _build && cd _build cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=11 -DENABLE_STDCXX_SYNC=ON -DENABLE_ENCRYPTION=ON -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - name: build run: cd _build && cmake --build . - name: test run: | + echo "core.%e" | sudo tee /proc/sys/kernel/core_pattern + ulimit -c unlimited cd _build && ctest --extra-verbose + SUCCESS=$? + if [ -f core.test-srt ]; then gdb -batch ./test-srt -c core -ex bt -ex "info thread" -ex quit; else echo "NO CORE - NO CRY!"; fi; + test $SUCCESS == 0; - name: codecov run: | source ./scripts/collect-gcov.sh diff --git a/.github/workflows/ubuntu-mingw.yml b/.github/workflows/ubuntu-mingw.yml index 44bbd882c..ed9b3d0d3 100644 --- a/.github/workflows/ubuntu-mingw.yml +++ b/.github/workflows/ubuntu-mingw.yml @@ -19,7 +19,7 @@ jobs: run: | mkdir _build && cd _build export CC=x86_64-w64-mingw32-gcc-posix CXX=x86_64-w64-mingw32-g++-posix - cmake .. -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_ENCRYPTION=OFF -DENABLE_UNITTESTS=OFF -DUSE_OPENSSL_PC=OFF -DCMAKE_SYSTEM_NAME=Windows -DENABLE_BONDING_ON -DENABLE_TESTING=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + cmake .. -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_ENCRYPTION=OFF -DENABLE_UNITTESTS=OFF -DUSE_OPENSSL_PC=OFF -DCMAKE_SYSTEM_NAME=Windows -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - name: Build run: cd _build && make -j -k From 3a42c8196cc7ac35bea50a89520c85b597f2986c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Ma=C5=82ecki?= Date: Fri, 10 Apr 2026 13:33:38 +0200 Subject: [PATCH 18/32] Added more platforms with C++11. Unset -Werror for MinGW --- .github/workflows/ubuntu-c++11.yml | 2 +- .github/workflows/ubuntu-mingw.yml | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ubuntu-c++11.yml b/.github/workflows/ubuntu-c++11.yml index fbbc89b18..0234a775c 100644 --- a/.github/workflows/ubuntu-c++11.yml +++ b/.github/workflows/ubuntu-c++11.yml @@ -9,7 +9,7 @@ on: jobs: build: name: C++11 - runs-on: ubuntu-latest + runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] steps: - uses: actions/checkout@v3 - name: configure diff --git a/.github/workflows/ubuntu-mingw.yml b/.github/workflows/ubuntu-mingw.yml index ed9b3d0d3..f9df4bc8c 100644 --- a/.github/workflows/ubuntu-mingw.yml +++ b/.github/workflows/ubuntu-mingw.yml @@ -19,7 +19,9 @@ jobs: run: | mkdir _build && cd _build export CC=x86_64-w64-mingw32-gcc-posix CXX=x86_64-w64-mingw32-g++-posix - cmake .. -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_ENCRYPTION=OFF -DENABLE_UNITTESTS=OFF -DUSE_OPENSSL_PC=OFF -DCMAKE_SYSTEM_NAME=Windows -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + #cmake .. -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DENABLE_ENCRYPTION=OFF -DENABLE_UNITTESTS=OFF -DUSE_OPENSSL_PC=OFF -DCMAKE_SYSTEM_NAME=Windows -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + # Warn-on-error turned off because there's a warning about epoll about unimplemented system fd subscription system + cmake .. -DENABLE_ENCRYPTION=OFF -DENABLE_UNITTESTS=OFF -DUSE_OPENSSL_PC=OFF -DCMAKE_SYSTEM_NAME=Windows -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - name: Build run: cd _build && make -j -k From 2583d05fcee1c96cc2c82f7d46dc0986cf141b45 Mon Sep 17 00:00:00 2001 From: Mikolaj Malecki Date: Fri, 17 Apr 2026 12:44:34 +0200 Subject: [PATCH 19/32] Added fixes per build break on MinGW --- apps/srt-live-transmit.cpp | 2 +- apps/transmitbase.hpp | 2 +- testing/srt-test-relay.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/srt-live-transmit.cpp b/apps/srt-live-transmit.cpp index 3468c78b5..e83d38bf9 100644 --- a/apps/srt-live-transmit.cpp +++ b/apps/srt-live-transmit.cpp @@ -792,7 +792,7 @@ int main(int argc, char** argv) } if (!srcReady && sysrfdslen > 0) { - int sock = src->GetSysSocket(); + SYSSOCKET sock = src->GetSysSocket(); if (sock != -1) { for (int n = 0; n < sysrfdslen && !(srcReady = (sock == sysrfds[n])); n++); diff --git a/apps/transmitbase.hpp b/apps/transmitbase.hpp index 7451c59b7..c085162a6 100644 --- a/apps/transmitbase.hpp +++ b/apps/transmitbase.hpp @@ -70,7 +70,7 @@ class Source: public Location }; virtual SRTSOCKET GetSRTSocket() const { return SRT_INVALID_SOCK; } - virtual int GetSysSocket() const { return -1; } + virtual SYSSOCKET GetSysSocket() const { return -1; } virtual bool MayBlock() const { return false; } virtual bool AcceptNewClient() { return false; } }; diff --git a/testing/srt-test-relay.cpp b/testing/srt-test-relay.cpp index f3921f2e2..d22cba4d8 100755 --- a/testing/srt-test-relay.cpp +++ b/testing/srt-test-relay.cpp @@ -274,7 +274,7 @@ int main( int argc, char** argv ) for (auto& s: output_spec) Verb() << "\t" << s; -#ifdef _MSC_VER +#if defined(_MSC_VER) || defined(__MINGW32__) // Replacement for sigaction, just use 'signal' // This may make this working kinda impaired and unexpected, // but still better that not compiling at all. From 48116de582ca438c439f3466431a5c24b6e15344 Mon Sep 17 00:00:00 2001 From: Mikolaj Malecki Date: Fri, 17 Apr 2026 12:53:57 +0200 Subject: [PATCH 20/32] More Windows fixes --- apps/transmitbase.hpp | 2 +- apps/transmitmedia.cpp | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/transmitbase.hpp b/apps/transmitbase.hpp index c085162a6..4590877bc 100644 --- a/apps/transmitbase.hpp +++ b/apps/transmitbase.hpp @@ -87,7 +87,7 @@ class Target: public Location virtual ~Target() {} virtual SRTSOCKET GetSRTSocket() const { return SRT_INVALID_SOCK; } - virtual int GetSysSocket() const { return -1; } + virtual SYSSOCKET GetSysSocket() const { return -1; } virtual bool AcceptNewClient() { return false; } }; diff --git a/apps/transmitmedia.cpp b/apps/transmitmedia.cpp index 862875fa2..1cfa5a908 100644 --- a/apps/transmitmedia.cpp +++ b/apps/transmitmedia.cpp @@ -744,7 +744,7 @@ class ConsoleSource: public Source bool IsOpen() override { return cin.good(); } bool MayBlock() const final { return may_block; } bool End() override { return cin.eof(); } - int GetSysSocket() const override { return fileno(stdin); }; + SYSSOCKET GetSysSocket() const override { return fileno(stdin); }; }; class ConsoleTarget: public Target @@ -773,7 +773,7 @@ class ConsoleTarget: public Target bool IsOpen() override { return cout.good(); } bool Broken() override { return cout.eof(); } - int GetSysSocket() const override { return fileno(stdout); }; + SYSSOCKET GetSysSocket() const override { return fileno(stdout); }; }; template struct Console; @@ -804,7 +804,7 @@ static inline bool IsMulticast(in_addr adr) class UdpCommon { protected: - int m_sock = -1; + SYSSOCKET m_sock = -1; string adapter; sockaddr_any interface_addr; sockaddr_any target_addr; @@ -1041,7 +1041,7 @@ class UdpSource: public Source, public UdpCommon bool IsOpen() override { return m_sock != -1; } bool End() override { return eof; } - int GetSysSocket() const override { return m_sock; }; + SYSSOCKET GetSysSocket() const override { return m_sock; }; }; class UdpTarget: public Target, public UdpCommon @@ -1086,7 +1086,7 @@ class UdpTarget: public Target, public UdpCommon bool IsOpen() override { return m_sock != -1; } bool Broken() override { return false; } - int GetSysSocket() const override { return m_sock; }; + SYSSOCKET GetSysSocket() const override { return m_sock; }; }; template struct Udp; From 589635fffc078e80a06032736eae5a358e380871 Mon Sep 17 00:00:00 2001 From: Sektor van Skijlen Date: Tue, 21 Apr 2026 10:05:29 +0200 Subject: [PATCH 21/32] Fixed invalid specialization after fixing for Windows --- apps/socketoptions.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/socketoptions.hpp b/apps/socketoptions.hpp index b8aa67b86..c6f97bee1 100644 --- a/apps/socketoptions.hpp +++ b/apps/socketoptions.hpp @@ -65,7 +65,7 @@ struct SocketOption }; template<> -inline int SocketOption::setso(int socket, int /*ignored*/, int sym, const void* data, size_t size) +inline int SocketOption::setso(SRTSOCKET socket, int /*ignored*/, int sym, const void* data, size_t size) { return srt_setsockopt(socket, 0, SRT_SOCKOPT(sym), data, (int) size); } @@ -80,7 +80,7 @@ inline int SocketOption::setso(SRT_SOCKO template<> -inline int SocketOption::setso(int socket, int proto, int sym, const void* data, size_t size) +inline int SocketOption::setso(SYSSOCKET socket, int proto, int sym, const void* data, size_t size) { return ::setsockopt(socket, proto, sym, (const char *)data, (int) size); } From ad48fdf9f2115cd36099b61909035020ebe1d4dc Mon Sep 17 00:00:00 2001 From: Mikolaj Malecki Date: Tue, 21 Apr 2026 12:42:57 +0200 Subject: [PATCH 22/32] More fixes for Windows and MinGW --- apps/apputil.cpp | 2 +- apps/srt-live-transmit.cpp | 4 ++-- apps/transmitmedia.cpp | 12 ++++++------ srtcore/channel.cpp | 2 ++ srtcore/srt.h | 2 ++ 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/apps/apputil.cpp b/apps/apputil.cpp index 22c31521b..7c37d8e18 100644 --- a/apps/apputil.cpp +++ b/apps/apputil.cpp @@ -37,7 +37,7 @@ using namespace srt; // See: // https://msdn.microsoft.com/en-us/library/windows/desktop/ms742214(v=vs.85).aspx // http://www.winsocketdotnetworkprogramming.com/winsock2programming/winsock2advancedInternet3b.html -#if defined(_WIN32) && !defined(HAVE_INET_PTON) +#if defined(_WIN32) && !defined(HAVE_INET_PTON) && !defined(InetPton) namespace // Prevent conflict in case when still defined { int inet_pton(int af, const char * src, void * dst) diff --git a/apps/srt-live-transmit.cpp b/apps/srt-live-transmit.cpp index e83d38bf9..e4968767d 100644 --- a/apps/srt-live-transmit.cpp +++ b/apps/srt-live-transmit.cpp @@ -793,11 +793,11 @@ int main(int argc, char** argv) if (!srcReady && sysrfdslen > 0) { SYSSOCKET sock = src->GetSysSocket(); - if (sock != -1) + if (sock != SYSSOCKET_INVALID) { for (int n = 0; n < sysrfdslen && !(srcReady = (sock == sysrfds[n])); n++); } - } + } } // read a few chunks at a time in attempt to deplete // read buffers as much as possible on each read event diff --git a/apps/transmitmedia.cpp b/apps/transmitmedia.cpp index 1cfa5a908..7a158c9d7 100644 --- a/apps/transmitmedia.cpp +++ b/apps/transmitmedia.cpp @@ -804,7 +804,7 @@ static inline bool IsMulticast(in_addr adr) class UdpCommon { protected: - SYSSOCKET m_sock = -1; + SYSSOCKET m_sock = SYSSOCKET_INVALID; string adapter; sockaddr_any interface_addr; sockaddr_any target_addr; @@ -813,8 +813,8 @@ class UdpCommon void Setup(string host, int port, map attr) { - m_sock = (int)socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); - if (m_sock == -1) + m_sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); + if (m_sock == SYSSOCKET_INVALID) Error(SysError(), "UdpCommon::Setup: socket"); int yes = 1; @@ -957,7 +957,7 @@ class UdpCommon ~UdpCommon() { #ifdef _WIN32 - if (m_sock != -1) + if (m_sock != SYSSOCKET_INVALID) { shutdown(m_sock, SD_BOTH); closesocket(m_sock); @@ -1038,7 +1038,7 @@ class UdpSource: public Source, public UdpCommon return stat; } - bool IsOpen() override { return m_sock != -1; } + bool IsOpen() override { return m_sock != SYSSOCKET_INVALID; } bool End() override { return eof; } SYSSOCKET GetSysSocket() const override { return m_sock; }; @@ -1083,7 +1083,7 @@ class UdpTarget: public Target, public UdpCommon return stat; } - bool IsOpen() override { return m_sock != -1; } + bool IsOpen() override { return m_sock != SYSSOCKET_INVALID; } bool Broken() override { return false; } SYSSOCKET GetSysSocket() const override { return m_sock; }; diff --git a/srtcore/channel.cpp b/srtcore/channel.cpp index 81f082a1f..9c8babed5 100644 --- a/srtcore/channel.cpp +++ b/srtcore/channel.cpp @@ -879,7 +879,9 @@ int srt::CChannel::sendto(const sockaddr_any& addr, CPacket& packet, const socka if (bCompleted) res = 0; else + { LOGC(kslog.Warn, log << "CChannel::sendto call on ::WSAGetOverlappedResult failed with error: " << NET_ERROR); + } lEvent.reset(); } else diff --git a/srtcore/srt.h b/srtcore/srt.h index 9fd9b20c8..36054e7d8 100644 --- a/srtcore/srt.h +++ b/srtcore/srt.h @@ -142,8 +142,10 @@ static const int32_t SRTGROUP_MASK = (1 << 30); #ifdef _WIN32 typedef SOCKET SYSSOCKET; + static const SYSSOCKET SYSSOCKET_INVALID = INVALID_SOCKET; #else typedef int SYSSOCKET; + static const int SYSSOCKET_INVALID = -1; #endif #ifndef ENABLE_BONDING From be3243a2cc47fb6d6e8c836cc9fcd3bf7dfc0f63 Mon Sep 17 00:00:00 2001 From: Mikolaj Malecki Date: Thu, 23 Apr 2026 13:17:33 +0200 Subject: [PATCH 23/32] Fixed invalid definition for UDP socket in testing apps --- apps/socketoptions.hpp | 6 +++++- testing/testmedia.cpp | 6 +++--- testing/testmedia.hpp | 8 ++++---- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/apps/socketoptions.hpp b/apps/socketoptions.hpp index c6f97bee1..ee8f1595c 100644 --- a/apps/socketoptions.hpp +++ b/apps/socketoptions.hpp @@ -58,7 +58,11 @@ struct SocketOption bool applyt(Object socket, std::string value) const; template - static int setso(Object socket, int protocol, int symbol, const void* data, size_t size); + static int setso(Object , int , int , const void* , size_t ) + { + typename Object::something something = Object::something; + return -1; + } template bool extract(std::string value, OptionValue& val) const; diff --git a/testing/testmedia.cpp b/testing/testmedia.cpp index 92262d5ca..90b02a782 100755 --- a/testing/testmedia.cpp +++ b/testing/testmedia.cpp @@ -2747,7 +2747,7 @@ static inline bool IsMulticast(in_addr adr) void UdpCommon::Setup(string host, int port, map attr) { m_sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); - if (m_sock == -1) + if (m_sock == SYSSOCKET_INVALID) Error(SysError(), "UdpCommon::Setup: socket"); int yes = 1; @@ -2878,11 +2878,11 @@ void UdpCommon::Error(int err, string src) UdpCommon::~UdpCommon() { #ifdef _WIN32 - if (m_sock != -1) + if (m_sock != SYSSOCKET_INVALID) { shutdown(m_sock, SD_BOTH); closesocket(m_sock); - m_sock = -1; + m_sock = SYSSOCKET_INVALID; } #else close(m_sock); diff --git a/testing/testmedia.hpp b/testing/testmedia.hpp index 36a649130..56eea6550 100644 --- a/testing/testmedia.hpp +++ b/testing/testmedia.hpp @@ -303,7 +303,7 @@ class SrtModel: public SrtCommon class UdpCommon { protected: - int m_sock = -1; + SYSSOCKET m_sock = -1; std::string adapter; srt::sockaddr_any interface_addr; srt::sockaddr_any target_addr; @@ -325,7 +325,7 @@ class UdpSource: public virtual Source, public virtual UdpCommon MediaPacket Read(size_t chunk) override; - bool IsOpen() override { return m_sock != -1; } + bool IsOpen() override { return m_sock != SYSSOCKET_INVALID; } bool End() override { return eof; } }; @@ -335,7 +335,7 @@ class UdpTarget: public virtual Target, public virtual UdpCommon UdpTarget(std::string host, int port, const std::map& attr); void Write(const MediaPacket& data) override; - bool IsOpen() override { return m_sock != -1; } + bool IsOpen() override { return m_sock != SYSSOCKET_INVALID; } bool Broken() override { return false; } }; @@ -348,7 +348,7 @@ class UdpRelay: public Relay, public UdpSource, public UdpTarget { } - bool IsOpen() override { return m_sock != -1; } + bool IsOpen() override { return m_sock != SYSSOCKET_INVALID; } }; From 4ce7fc946497920e2514982b64b96c517608e8f7 Mon Sep 17 00:00:00 2001 From: Mikolaj Malecki Date: Thu, 7 May 2026 13:25:04 +0200 Subject: [PATCH 24/32] Renamed Windows workflow --- .github/workflows/windows-msvc-noenc.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/windows-msvc-noenc.yml b/.github/workflows/windows-msvc-noenc.yml index 2947809ab..a2c97cf34 100644 --- a/.github/workflows/windows-msvc-noenc.yml +++ b/.github/workflows/windows-msvc-noenc.yml @@ -1,4 +1,4 @@ -name: C++11 +name: Windows on: push: @@ -9,7 +9,7 @@ on: jobs: build: - name: windows + name: C++11 noenc runs-on: windows-latest steps: From 18d7a0e9e913bb70656d3f8f79cc1c7637e5ad87 Mon Sep 17 00:00:00 2001 From: Mikolaj Malecki Date: Thu, 7 May 2026 14:05:51 +0200 Subject: [PATCH 25/32] Fixed multiple machines for Linux/C++11 syntax --- .github/workflows/ubuntu-c++11.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ubuntu-c++11.yml b/.github/workflows/ubuntu-c++11.yml index 0234a775c..3a3d5fe6f 100644 --- a/.github/workflows/ubuntu-c++11.yml +++ b/.github/workflows/ubuntu-c++11.yml @@ -1,4 +1,4 @@ -name: Linux +name: Linux C++11 on: push: @@ -8,8 +8,11 @@ on: types: [opened, synchronize, reopened] jobs: build: - name: C++11 - runs-on: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] + strategy: + matrix: + machine: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] + name: ON ${{ matrix.machine }} + runs-on: "${{ matrix.machine }}" steps: - uses: actions/checkout@v3 - name: configure From 60ae602ac5d3f351e96917ef4dc02e69a7157027 Mon Sep 17 00:00:00 2001 From: Mikolaj Malecki Date: Thu, 7 May 2026 16:11:27 +0200 Subject: [PATCH 26/32] Linux matrix: blocked gdb for other than ubuntu-latest --- .github/workflows/ubuntu-c++11.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ubuntu-c++11.yml b/.github/workflows/ubuntu-c++11.yml index 3a3d5fe6f..4e7beea29 100644 --- a/.github/workflows/ubuntu-c++11.yml +++ b/.github/workflows/ubuntu-c++11.yml @@ -17,7 +17,9 @@ jobs: - uses: actions/checkout@v3 - name: configure run: | - sudo apt install -y tcl cmake libssl-dev gdb + RUNON= ${{ matrix.machine }} + MAYBE_GDB=$( [[ $RUNON == ubuntu-latest ]] && echo gdb ) + sudo apt install -y tcl cmake libssl-dev $MAYBE_GDB mkdir _build && cd _build cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=11 -DENABLE_STDCXX_SYNC=ON -DENABLE_ENCRYPTION=ON -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - name: build From 009b0c634b37dc616b0cac403da73d22edba1441 Mon Sep 17 00:00:00 2001 From: Mikolaj Malecki Date: Thu, 7 May 2026 16:22:58 +0200 Subject: [PATCH 27/32] Linux matrix: blocked gdb for other than ubuntu-latest (fixed syntax error) --- .github/workflows/ubuntu-c++11.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ubuntu-c++11.yml b/.github/workflows/ubuntu-c++11.yml index 4e7beea29..0b63d04e6 100644 --- a/.github/workflows/ubuntu-c++11.yml +++ b/.github/workflows/ubuntu-c++11.yml @@ -17,7 +17,7 @@ jobs: - uses: actions/checkout@v3 - name: configure run: | - RUNON= ${{ matrix.machine }} + RUNON=${{ matrix.machine }} MAYBE_GDB=$( [[ $RUNON == ubuntu-latest ]] && echo gdb ) sudo apt install -y tcl cmake libssl-dev $MAYBE_GDB mkdir _build && cd _build From 3f03334598caeddcb6d5c8113b358cef47479904 Mon Sep 17 00:00:00 2001 From: Mikolaj Malecki Date: Thu, 7 May 2026 16:28:02 +0200 Subject: [PATCH 28/32] Separated preinstallation action to track the problem --- .github/workflows/ubuntu-c++11.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ubuntu-c++11.yml b/.github/workflows/ubuntu-c++11.yml index 0b63d04e6..0b4e28916 100644 --- a/.github/workflows/ubuntu-c++11.yml +++ b/.github/workflows/ubuntu-c++11.yml @@ -15,11 +15,13 @@ jobs: runs-on: "${{ matrix.machine }}" steps: - uses: actions/checkout@v3 - - name: configure + - name: prepare run: | RUNON=${{ matrix.machine }} MAYBE_GDB=$( [[ $RUNON == ubuntu-latest ]] && echo gdb ) sudo apt install -y tcl cmake libssl-dev $MAYBE_GDB + - name: configure + run: | mkdir _build && cd _build cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=11 -DENABLE_STDCXX_SYNC=ON -DENABLE_ENCRYPTION=ON -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - name: build From 9390a2568c8f99d5b4217d913c5d4b343efe4192 Mon Sep 17 00:00:00 2001 From: Mikolaj Malecki Date: Thu, 7 May 2026 16:37:20 +0200 Subject: [PATCH 29/32] Configured noenc on platforms with no SSL available --- .github/workflows/ubuntu-c++11.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ubuntu-c++11.yml b/.github/workflows/ubuntu-c++11.yml index 0b4e28916..cdec9c957 100644 --- a/.github/workflows/ubuntu-c++11.yml +++ b/.github/workflows/ubuntu-c++11.yml @@ -15,15 +15,19 @@ jobs: runs-on: "${{ matrix.machine }}" steps: - uses: actions/checkout@v3 - - name: prepare + - name: configure run: | RUNON=${{ matrix.machine }} MAYBE_GDB=$( [[ $RUNON == ubuntu-latest ]] && echo gdb ) - sudo apt install -y tcl cmake libssl-dev $MAYBE_GDB - - name: configure - run: | + MAYBE_SSL= + ENCRYPTION=OFF + if [[ $RUNON != ubuntu-24.04-arm ]]; then + MAYBE_SSL=libssl-dev + ENCRYPTION=ON + fi + sudo apt install -y cmake $MAYBE_SSL $MAYBE_GDB mkdir _build && cd _build - cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=11 -DENABLE_STDCXX_SYNC=ON -DENABLE_ENCRYPTION=ON -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON + cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=11 -DENABLE_STDCXX_SYNC=ON -DENABLE_ENCRYPTION=$ENCRYPTION -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - name: build run: cd _build && cmake --build . - name: test From ef1c2a48f67ae56fb775cd7ec4bd46e7be0acd81 Mon Sep 17 00:00:00 2001 From: Mikolaj Malecki Date: Thu, 7 May 2026 16:40:50 +0200 Subject: [PATCH 30/32] Separated preinstallation action to track the problem 2 --- .github/workflows/ubuntu-c++11.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ubuntu-c++11.yml b/.github/workflows/ubuntu-c++11.yml index cdec9c957..90fdd8485 100644 --- a/.github/workflows/ubuntu-c++11.yml +++ b/.github/workflows/ubuntu-c++11.yml @@ -15,17 +15,17 @@ jobs: runs-on: "${{ matrix.machine }}" steps: - uses: actions/checkout@v3 - - name: configure + - name: prepare run: | RUNON=${{ matrix.machine }} MAYBE_GDB=$( [[ $RUNON == ubuntu-latest ]] && echo gdb ) - MAYBE_SSL= - ENCRYPTION=OFF - if [[ $RUNON != ubuntu-24.04-arm ]]; then - MAYBE_SSL=libssl-dev - ENCRYPTION=ON - fi + MAYBE_SSL=$( [[ $RUNON != ubuntu-24.04-arm ]] && echo libssl-dev ) sudo apt install -y cmake $MAYBE_SSL $MAYBE_GDB + - name: configure + run: | + RUNON=${{ matrix.machine }} + ENCRYPTION=OFF + [[ $RUNON != ubuntu-24.04-arm ]] && ENCRYPTION=ON mkdir _build && cd _build cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=11 -DENABLE_STDCXX_SYNC=ON -DENABLE_ENCRYPTION=$ENCRYPTION -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - name: build From 852eea522f7f9e201d0f143e44f5e506965d22e2 Mon Sep 17 00:00:00 2001 From: Mikolaj Malecki Date: Thu, 7 May 2026 16:44:57 +0200 Subject: [PATCH 31/32] Blocked installation except ubuntu-latest --- .github/workflows/ubuntu-c++11.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ubuntu-c++11.yml b/.github/workflows/ubuntu-c++11.yml index 90fdd8485..c925f6d5e 100644 --- a/.github/workflows/ubuntu-c++11.yml +++ b/.github/workflows/ubuntu-c++11.yml @@ -18,14 +18,14 @@ jobs: - name: prepare run: | RUNON=${{ matrix.machine }} - MAYBE_GDB=$( [[ $RUNON == ubuntu-latest ]] && echo gdb ) - MAYBE_SSL=$( [[ $RUNON != ubuntu-24.04-arm ]] && echo libssl-dev ) - sudo apt install -y cmake $MAYBE_SSL $MAYBE_GDB + if [[ $RUNON == ubuntu-latest ]]; then + sudo apt install -y gdb + fi - name: configure run: | RUNON=${{ matrix.machine }} - ENCRYPTION=OFF - [[ $RUNON != ubuntu-24.04-arm ]] && ENCRYPTION=ON + ENCRYPTION=ON + [[ $RUNON == ubuntu-24.04-arm ]] && ENCRYPTION=OFF mkdir _build && cd _build cmake ../ -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DUSE_CXX_STD=11 -DENABLE_STDCXX_SYNC=ON -DENABLE_ENCRYPTION=$ENCRYPTION -DENABLE_UNITTESTS=ON -DENABLE_BONDING=ON -DENABLE_TESTING=ON -DENABLE_EXAMPLES=ON -DENABLE_CODE_COVERAGE=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - name: build From 9f30b3d90823ed331ca809b2dd4ce7c6f9f84181 Mon Sep 17 00:00:00 2001 From: Mikolaj Malecki Date: Thu, 7 May 2026 17:03:56 +0200 Subject: [PATCH 32/32] Removed slim as it has no access to cmake --- .github/workflows/ubuntu-c++11.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ubuntu-c++11.yml b/.github/workflows/ubuntu-c++11.yml index c925f6d5e..59efed7de 100644 --- a/.github/workflows/ubuntu-c++11.yml +++ b/.github/workflows/ubuntu-c++11.yml @@ -10,7 +10,9 @@ jobs: build: strategy: matrix: - machine: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] + # machine: [ubuntu-latest, ubuntu-slim, ubuntu-24.04-arm] + # ubuntu-slim excluded because it doesn't have cmake and installation not allowed + machine: [ubuntu-latest, ubuntu-24.04-arm] name: ON ${{ matrix.machine }} runs-on: "${{ matrix.machine }}" steps: