From 094752965c61239c6150f5f72e936553a1ca9414 Mon Sep 17 00:00:00 2001 From: Andrey Semashev Date: Sun, 5 Nov 2023 16:23:58 +0300 Subject: [PATCH] Added Windows CI to GitHub Actions. --- .github/workflows/ci.yml | 70 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 29932f4..36130df 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -682,3 +682,73 @@ jobs: mkdir __build_shared__ && cd __build_shared__ cmake -DBUILD_SHARED_LIBS=On ../libs/$LIBRARY/test/test_cmake cmake --build . --target boost_${LIBRARY}_cmake_self_test -j $BUILD_JOBS + + windows: + strategy: + fail-fast: false + matrix: + include: + - toolset: msvc-14.0 + cxxstd64: "14" + cxxstd32: "14" + cxxflags: "/arch:AVX" + os: windows-2019 + - toolset: msvc-14.2 + cxxstd64: "14,17,20,latest" + cxxstd32: "14" + cxxflags: "/arch:AVX" + os: windows-2019 + - toolset: msvc-14.3 + cxxstd64: "14,17,20,latest" + cxxstd32: "14" + cxxflags: "/arch:AVX" + os: windows-2022 + - toolset: clang-win + cxxstd64: "14,17,latest" + cxxstd32: "14" + cxxflags: "-mavx -mcx16" + os: windows-2022 + - toolset: gcc + cxxstd64: "03,11,14,17,2a" + cxxflags: "-march=native" + os: windows-2019 + + timeout-minutes: 120 + runs-on: ${{matrix.os}} + + steps: + - uses: actions/checkout@v3 + + - name: Setup Boost + shell: cmd + run: | + echo GITHUB_REPOSITORY: %GITHUB_REPOSITORY% + for /f %%i in ("%GITHUB_REPOSITORY%") do set LIBRARY=%%~nxi + echo LIBRARY: %LIBRARY% + echo LIBRARY=%LIBRARY%>>%GITHUB_ENV% + echo GITHUB_BASE_REF: %GITHUB_BASE_REF% + echo GITHUB_REF: %GITHUB_REF% + if "%GITHUB_BASE_REF%" == "" set GITHUB_BASE_REF=%GITHUB_REF% + set BOOST_BRANCH=develop + for /f %%i in ("%GITHUB_BASE_REF%") do if "%%~nxi" == "master" set BOOST_BRANCH=master + echo BOOST_BRANCH: %BOOST_BRANCH% + cd .. + git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root + cd boost-root + xcopy /s /e /q %GITHUB_WORKSPACE% libs\%LIBRARY%\ + git submodule update --init tools/boostdep + python tools/boostdep/depinst/depinst.py --git_args "--jobs %GIT_FETCH_JOBS%" %LIBRARY% + cmd /c bootstrap + b2 -d0 headers + + - name: Run tests + shell: cmd + run: | + cd ../boost-root + set "B2_ARGS=-j %NUMBER_OF_PROCESSORS% toolset=${{matrix.toolset}} embed-manifest-via=linker" + set "BUILD_VARIANT=${{matrix.build_variant}}" + if "${{matrix.build_variant}}" == "" ( set "B2_ARGS=%B2_ARGS% variant=%DEFAULT_BUILD_VARIANT%" ) else ( set "B2_ARGS=%B2_ARGS% ""variant=${{matrix.build_variant}}""" ) + if not "${{matrix.cxxflags}}" == "" set "B2_ARGS=%B2_ARGS% ""cxxflags=${{matrix.cxxflags}}""" + echo B2_ARGS: %B2_ARGS% + if not "${{matrix.cxxstd64}}" == "" b2 %B2_ARGS% cxxstd=${{matrix.cxxstd64}} address-model=64 libs/%LIBRARY%/test + if not "${{matrix.cxxstd32}}" == "" b2 %B2_ARGS% cxxstd=${{matrix.cxxstd32}} address-model=32 libs/%LIBRARY%/test