Test merge #2953
Workflow file for this run
This file contains 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_1_2 RC_2_0 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 | |
continue-on-error: true | |
strategy: | |
matrix: | |
include: | |
- config: address-model=32 crypto=built-in | |
- config: address-model=64 | |
- config: release | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 1 | |
filter: tree:0 | |
- name: install boost | |
run: | | |
git clone --depth=1 --recurse-submodules -j10 --branch=boost-1.78.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 -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 -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@v4 | |
with: | |
submodules: true | |
fetch-depth: 1 | |
filter: tree:0 | |
- name: install boost | |
run: | | |
git clone --depth=1 --recurse-submodules -j10 --branch=boost-1.78.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) | |
- name: build sims | |
run: | | |
echo %BOOST_ROOT% | |
echo %PATH% | |
cd simulation | |
b2 --hash release msvc-version-macro=on address-model=64 link=static debug-iterators=off invariant-checks=on define=BOOST_ASIO_DISABLE_IOCP asserts=on testing.execute=off | |
- name: run sims | |
uses: nick-fields/retry@v3 | |
with: | |
max_attempts: 3 | |
timeout_minutes: 120 | |
command: | | |
cd simulation | |
b2 --hash -l800 release msvc-version-macro=on address-model=64 link=static debug-iterators=off invariant-checks=on define=BOOST_ASIO_DISABLE_IOCP asserts=on | |
build: | |
name: Build | |
runs-on: windows-2022 | |
continue-on-error: true | |
strategy: | |
matrix: | |
include: | |
- config: asio-debugging=on picker-debugging=on windows-version=vista | |
# 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: deprecated-functions=off | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 1 | |
filter: tree:0 | |
- name: install boost | |
run: | | |
git clone --depth=1 --recurse-submodules -j10 --branch=boost-1.78.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 ${{ 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 ${{ 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 ${{ matrix.config }} msvc-version-macro=on address-model=64 warnings=all warnings-as-errors=on | |
mingw: | |
name: MingW | |
runs-on: windows-latest | |
continue-on-error: true | |
strategy: | |
matrix: | |
include: | |
- config: address-model=64 | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
fetch-depth: 1 | |
filter: tree:0 | |
- name: install boost | |
run: | | |
git clone --depth=1 --recurse-submodules -j10 --branch=boost-1.78.0 https://github.com/boostorg/boost.git | |
cd boost | |
bootstrap.bat | |
- name: boost headers | |
run: | | |
cd boost | |
.\b2 headers | |
- name: Set up MinGW | |
uses: egor-tensin/setup-mingw@v2 | |
with: | |
static: 0 | |
platform: x64 | |
- name: tests (deterministic) | |
run: | | |
set BOOST_ROOT=%CD%\boost | |
set PATH=%BOOST_ROOT%;%PATH% | |
set PYTHON_INTERPRETER=python | |
cd test | |
b2 toolset=gcc 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 deterministic-tests testing.execute=off |