From 3d25e70fe2c01dfc0a9e16403b464b71f5d5089c Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Sun, 21 Nov 2021 17:22:05 +0200 Subject: [PATCH 1/5] Add MSVC-2022 to CI Testing --- .github/workflows/ci.yml | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9a6ad55992..bf17d858fb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -232,6 +232,53 @@ jobs: - name: Test run: ..\..\..\b2 --hash %ARGS% define=CI_SUPPRESS_KNOWN_ISSUES ${{ matrix.suite }} working-directory: ../boost-root/libs/math/test + MSVC2022-BETA: + runs-on: windows-2022 + defaults: + run: + shell: cmd + env: + ARGS: address-model=64 cxxstd=${{ matrix.standard }} + strategy: + fail-fast: false + matrix: + standard: [ 11, 14, 17, 20 ] + suite: [ float128_tests, special_fun, distribution_tests, misc, quadrature, mp, interpolators, autodiff, ../example//examples, ../tools ] + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: '0' + - uses: mstachniuk/ci-skip@v1 + with: + commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[apple];[Apple];[APPLE];[linux];[Linux];[LINUX];[standalone];[STANDALONE]' + commit-filter-separator: ';' + fail-fast: true + - name: Checkout main boost + run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root + - name: Update tools/boostdep + run: git submodule update --init tools/boostdep + working-directory: ../boost-root + - name: Copy files + run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\math + working-directory: ../boost-root + - name: Install deps + run: python tools/boostdep/depinst/depinst.py math + working-directory: ../boost-root + - name: Bootstrap + run: bootstrap + working-directory: ../boost-root + - name: Generate headers + run: b2 headers + working-directory: ../boost-root + - name: Config info install + run: ..\..\..\b2 config_info_travis_install %ARGS% + working-directory: ../boost-root/libs/config/test + - name: Config info + run: config_info_travis + working-directory: ../boost-root/libs/config/test + - name: Test + run: ..\..\..\b2 --hash %ARGS% define=CI_SUPPRESS_KNOWN_ISSUES ${{ matrix.suite }} + working-directory: ../boost-root/libs/math/test standalone-gcc: runs-on: ubuntu-20.04 strategy: From e1ded14d81145ee591ac6ff4fa281eb01bdf1bff Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Thu, 25 Nov 2021 11:36:55 +0200 Subject: [PATCH 2/5] Remove redundant testing and failing test --- .github/workflows/ci.yml | 2 +- test/test_next.cpp | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bf17d858fb..95021195de 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -242,7 +242,7 @@ jobs: strategy: fail-fast: false matrix: - standard: [ 11, 14, 17, 20 ] + standard: [ 14, 17, 20 ] suite: [ float128_tests, special_fun, distribution_tests, misc, quadrature, mp, interpolators, autodiff, ../example//examples, ../tools ] steps: - uses: actions/checkout@v2 diff --git a/test/test_next.cpp b/test/test_next.cpp index 94312976a8..4893336bb2 100644 --- a/test/test_next.cpp +++ b/test/test_next.cpp @@ -233,7 +233,12 @@ BOOST_AUTO_TEST_CASE( test_main ) test_values(1.0, "double"); #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS test_values(1.0L, "long double"); + + // MSVC-14.3 fails with real concept on Github Actions, but the failure cannot be reproduced locally + // See: https://github.com/boostorg/math/pull/720 + #if !defined(_MSC_VER) || _MSC_VER < 1930 test_values(boost::math::concepts::real_concept(0), "real_concept"); + #endif #endif // From aac9cf952cb7c8bd24eed4360227d17ed148ab10 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Fri, 4 Feb 2022 19:56:09 +0100 Subject: [PATCH 3/5] Fix hanging test from quartic roots --- include/boost/math/tools/quartic_roots.hpp | 1 + test/quartic_roots_test.cpp | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/include/boost/math/tools/quartic_roots.hpp b/include/boost/math/tools/quartic_roots.hpp index 1394e7fae9..94cb357201 100644 --- a/include/boost/math/tools/quartic_roots.hpp +++ b/include/boost/math/tools/quartic_roots.hpp @@ -16,6 +16,7 @@ namespace detail { template bool comparator(Real r1, Real r2) { using std::isnan; + if (isnan(r1)) { return false; } if (isnan(r2)) { return true; } return r1 < r2; } diff --git a/test/quartic_roots_test.cpp b/test/quartic_roots_test.cpp index 2bf8e028af..60f98252bc 100644 --- a/test/quartic_roots_test.cpp +++ b/test/quartic_roots_test.cpp @@ -127,14 +127,10 @@ void test_zero_coefficients() int main() { -// Quartic roots test hangs CI with MSVC-14.2 using C++17 -// See: https://github.com/boostorg/math/issues/750 -#if !defined(_MSC_VER) || (_MSC_VER != 1929) test_zero_coefficients(); test_zero_coefficients(); #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS test_zero_coefficients(); -#endif #endif return boost::math::test::report_errors(); } From 490bf72d3eac99c210d9da5cffbdf7b4c2b64a62 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Fri, 4 Feb 2022 20:05:03 +0100 Subject: [PATCH 4/5] Fix yaml error from merge --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 005abce965..cce68b173a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -279,7 +279,7 @@ jobs: - name: Test run: ..\..\..\b2 --hash %ARGS% define=CI_SUPPRESS_KNOWN_ISSUES ${{ matrix.suite }} working-directory: ../boost-root/libs/math/test - standalone-gcc: + standalone-compile-tests-gcc: runs-on: ubuntu-20.04 strategy: fail-fast: false From 8f2e9696225e120ec73893ec308f8179aca055ce Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sat, 5 Feb 2022 11:23:16 +0000 Subject: [PATCH 5/5] Change windows-latest to windows-2019 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cce68b173a..5dcb5a91cc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -185,7 +185,7 @@ jobs: run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=${{ matrix.standard }} ${{ matrix.suite }} define=CI_SUPPRESS_KNOWN_ISSUES define=SLOW_COMPILER working-directory: ../boost-root/libs/math/test windows: - runs-on: windows-latest + runs-on: windows-2019 defaults: run: shell: cmd