remove trust points #5571
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: [ RC_2_1, master ] | |
| paths-ignore: | |
| - bindings/python/** | |
| pull_request: | |
| paths-ignore: | |
| - bindings/python/** | |
| defaults: | |
| run: | |
| shell: cmd | |
| concurrency: | |
| group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }} | |
| cancel-in-progress: true | |
| jobs: | |
| tests: | |
| name: Test | |
| runs-on: windows-latest | |
| strategy: | |
| matrix: | |
| include: | |
| - config: webtorrent=off address-model=32 crypto=built-in | |
| - config: webtorrent=off address-model=64 | |
| - config: webtorrent=off release | |
| steps: | |
| - name: checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| fetch-depth: 1 | |
| filter: tree:0 | |
| - name: install boost | |
| run: | | |
| git clone --depth=1 --recurse-submodules -j10 --branch=boost-1.91.0 https://github.com/boostorg/boost.git | |
| cd boost | |
| bootstrap.bat | |
| - name: boost headers | |
| run: | | |
| cd boost | |
| .\b2 headers | |
| - name: tests (deterministic) | |
| run: | | |
| set BOOST_ROOT=%CD%\boost | |
| set PATH=%BOOST_ROOT%;%PATH% | |
| set PYTHON_INTERPRETER=python | |
| cd test | |
| b2 --hash -l400 msvc-version-macro=on warnings=all warnings-as-errors=on ${{ matrix.config }} deterministic-tests | |
| - name: tests (flaky) | |
| run: | | |
| set BOOST_ROOT=%CD%\boost | |
| set PATH=%BOOST_ROOT%;%PATH% | |
| set PYTHON_INTERPRETER=python | |
| cd test | |
| set c=3 | |
| :retry | |
| if %c%==0 exit /B 1 | |
| set /a c = %c% -1 | |
| b2 --hash -l400 msvc-version-macro=on warnings=all warnings-as-errors=on ${{ matrix.config }} | |
| if %errorlevel%==0 exit /B 0 | |
| if %c% gtr 0 goto retry | |
| exit /B 1 | |
| simulations: | |
| name: Simulations | |
| runs-on: windows-2022 | |
| steps: | |
| - name: checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| fetch-depth: 1 | |
| filter: tree:0 | |
| - name: install boost | |
| run: | | |
| git clone --depth=1 --recurse-submodules -j10 --branch=boost-1.91.0 https://github.com/boostorg/boost.git | |
| cd boost | |
| bootstrap.bat | |
| - name: boost headers | |
| run: | | |
| cd boost | |
| .\b2 headers | |
| - shell: pwsh | |
| run: | | |
| echo "BOOST_ROOT=$(pwd)/boost" >> $env:GITHUB_ENV | |
| echo "$(pwd)/boost" >> $env:GITHUB_PATH | |
| # debug iterators are turned off here because msvc has issues with noexcept | |
| # specifiers when debug iterators are enabled. Specifically, constructors that | |
| # allocate memory are still marked as noexcept. That results in program | |
| # termination | |
| # the IOCP backend in asio appears to have an issue where it hangs under | |
| # certain unexpected terminations (through exceptions) | |
| # crypto=built-in avoids OpenSSL, in case an OpenSSL-touching code path hits that same hang | |
| - name: build sims | |
| run: | | |
| echo %BOOST_ROOT% | |
| echo %PATH% | |
| cd simulation | |
| b2 --hash release msvc-version-macro=on address-model=64 link=static crypto=built-in debug-iterators=off invariant-checks=on define=BOOST_ASIO_DISABLE_IOCP asserts=on testing.execute=off | |
| - name: run sims | |
| uses: nick-fields/retry@v4 | |
| with: | |
| max_attempts: 3 | |
| timeout_minutes: 120 | |
| command: | | |
| cd simulation | |
| b2 --hash -l800 release msvc-version-macro=on address-model=64 link=static crypto=built-in debug-iterators=off invariant-checks=on define=BOOST_ASIO_DISABLE_IOCP asserts=on | |
| build: | |
| name: Build | |
| runs-on: windows-2022 | |
| strategy: | |
| matrix: | |
| include: | |
| - config: webtorrent=off asio-debugging=on picker-debugging=on windows-version=vista | |
| - config: webtorrent=off asio-debugging=on picker-debugging=on windows-version=win10 | |
| # the Windows Store API build is disabled because boost.container | |
| # contains a .c file that cannot be built with /ZW in msvc | |
| #- config: windows-api=store windows-version=win10 | |
| - config: webtorrent=off deprecated-functions=off | |
| steps: | |
| - name: checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| fetch-depth: 1 | |
| filter: tree:0 | |
| - name: install boost | |
| run: | | |
| git clone --depth=1 --recurse-submodules -j10 --branch=boost-1.91.0 https://github.com/boostorg/boost.git | |
| cd boost | |
| bootstrap.bat | |
| - name: boost headers | |
| run: | | |
| cd boost | |
| .\b2 headers | |
| - name: build library | |
| run: | | |
| set BOOST_ROOT=%CD%\boost | |
| set PATH=%BOOST_ROOT%;%PATH% | |
| b2 --hash ${{ matrix.config }} msvc-version-macro=on address-model=64 warnings=all warnings-as-errors=on | |
| - name: build examples | |
| if: ${{ ! contains(matrix.config, 'windows-api=store') }} | |
| run: | | |
| set BOOST_ROOT=%CD%\boost | |
| set PATH=%BOOST_ROOT%;%PATH% | |
| cd examples | |
| b2 --hash ${{ matrix.config }} msvc-version-macro=on address-model=64 warnings=all warnings-as-errors=on | |
| - name: build tools | |
| if: ${{ ! contains(matrix.config, 'windows-api=store') }} | |
| run: | | |
| set BOOST_ROOT=%CD%\boost | |
| set PATH=%BOOST_ROOT%;%PATH% | |
| cd tools | |
| b2 --hash ${{ matrix.config }} msvc-version-macro=on address-model=64 warnings=all warnings-as-errors=on | |
| build-32bit: | |
| name: Build (32-bit) | |
| runs-on: windows-2022 | |
| steps: | |
| - name: checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| fetch-depth: 1 | |
| filter: tree:0 | |
| - name: patch libdatachannel (windows 32/64-bit builds) | |
| run: git apply ../patch-libdatachannel-32bit-builds.patch | |
| working-directory: deps/libdatachannel | |
| - name: install boost | |
| run: | | |
| git clone --depth=1 --recurse-submodules -j10 --branch=boost-1.91.0 https://github.com/boostorg/boost.git | |
| cd boost | |
| bootstrap.bat | |
| - name: boost headers | |
| run: | | |
| cd boost | |
| .\b2 headers | |
| - name: install openssl:x86-windows-static | |
| uses: ./.github/actions/win_install_openssl | |
| with: | |
| architecture: x86 | |
| linking: static | |
| - name: setup msbuild | |
| uses: microsoft/setup-msbuild@v2 | |
| - name: build library | |
| run: | | |
| set BOOST_ROOT=%CD%\boost | |
| set PATH=%BOOST_ROOT%;%PATH% | |
| b2 --hash msvc-version-macro=on address-model=32 warnings=all warnings-as-errors=on openssl-include="C:/Program Files/OpenSSL/include" openssl-lib="C:/Program Files/OpenSSL/lib" | |
| mingw: | |
| name: MingW | |
| runs-on: windows-latest | |
| strategy: | |
| matrix: | |
| include: | |
| - config: webtorrent=off address-model=64 | |
| msys2_pkg: mingw-w64-x86_64 | |
| msystem: MINGW64 | |
| - config: webtorrent=off address-model=32 | |
| msys2_pkg: mingw-w64-i686 | |
| msystem: MINGW32 | |
| steps: | |
| - name: checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: true | |
| fetch-depth: 1 | |
| filter: tree:0 | |
| - name: install boost | |
| run: | | |
| git clone --depth=1 --recurse-submodules -j10 --branch=boost-1.91.0 https://github.com/boostorg/boost.git | |
| cd boost | |
| bootstrap.bat | |
| - name: boost headers | |
| run: | | |
| cd boost | |
| .\b2 headers | |
| - name: Set up MinGW | |
| uses: msys2/setup-msys2@v2 | |
| with: | |
| release: false | |
| update: true | |
| msystem: ${{ matrix.msystem }} | |
| install: >- | |
| ${{ matrix.msys2_pkg }}-gcc | |
| ${{ matrix.msys2_pkg }}-openssl | |
| - name: build | |
| shell: msys2 {0} | |
| run: | | |
| export BOOST_ROOT="$PWD/boost" | |
| export PATH="$BOOST_ROOT:$PATH" | |
| export PYTHON_INTERPRETER=python | |
| cd test | |
| b2 toolset=gcc crypto=openssl-shared link=static asserts=on release target-os=windows -l400 warnings=all warnings-as-errors=on ${{ matrix.config }} cxxflags=-Wno-error=array-bounds cxxflags=-Wno-error=stringop-overflow cxxflags=-Wno-error=clobbered testing.execute=off --hash | |
| cmake: | |
| name: cmake | |
| runs-on: windows-2022 | |
| steps: | |
| - name: checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| fetch-depth: 1 | |
| filter: tree:0 | |
| - name: install boost | |
| run: | | |
| git clone --depth=1 --recurse-submodules -j10 --branch=boost-1.90.0 https://github.com/boostorg/boost.git | |
| cd boost | |
| bootstrap.bat | |
| - name: stage boost headers | |
| run: | | |
| cd boost | |
| b2 cxxstd=20 release --with-headers --layout=system address-model=64 link=static stage | |
| - name: cmake configure | |
| run: | | |
| set BOOST_ROOT=%CD%\boost | |
| cmake -B build -DBOOST_ROOT=%BOOST_ROOT% -DBOOST_LIBRARYDIR=%BOOST_ROOT%\stage\lib -DCMAKE_CXX_STANDARD=20 -Dbuild_tests=ON -Dbuild_examples=ON -Dbuild_tools=ON -Dwebtorrent=on -DOPENSSL_ROOT_DIR="C:\Program Files\OpenSSL" -Dskip-python-runtime-test=true -DBUILD_SHARED_LIBS=OFF -G "Visual Studio 17 2022" -A x64 | |
| - name: cmake build | |
| run: cmake --build build --config Debug --parallel %NUMBER_OF_PROCESSORS% | |
| - name: ctest | |
| shell: cmd | |
| # TODO: test_web_seed_socks5_* and test_tracker appears to be failing when running under ctest | |
| run: | | |
| cd build | |
| ctest --build-config Debug --parallel %NUMBER_OF_PROCESSORS% --output-on-failure -E "test_web_seed_socks5|test_tracker" | |
| if %errorlevel% neq 0 ctest --build-config Debug --rerun-failed --output-on-failure -E "test_web_seed_socks5|test_tracker" | |
| if %errorlevel% neq 0 ctest --build-config Debug --rerun-failed --output-on-failure -E "test_web_seed_socks5|test_tracker" |