Skip to content

Test merge

Test merge #2953

Workflow file for this run

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