Skip to content

remove trust points #5571

remove trust points

remove trust points #5571

Workflow file for this run

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"