Commit Graph

46 Commits

Author SHA1 Message Date
Alexander Grund
e2b773cfa6 DO NOT MERGE - Disable irrelevant jobs 2022-10-12 12:02:10 +02:00
sdarwin
22339faf4c replace apt-key command 2022-10-11 19:50:28 +02:00
Alexander Grund
c6e37f0307 Add name to OSX job
Make it easier to recognize in the list of checks run for a commit/PR
2022-09-12 10:44:29 +02:00
Alexander Grund
42c162c87e Handle multiple entries in B2_DEFINES
As pointed out by @sdarwin multiple values in `B2_DEFINES` led to a failing build as the scripts only supported a single value for the "new" var usages.
This is a regression from the old usage where `B2_DEFINES: define=FOO=1 define=BAR=2` could be used.
This is now fixed by a small parser function which generates multiple `define=*` entries and additionally now also supports spaces in the define values.
Same is done for `B2_INCLUDE` which has the same issue.

Also includes the change to the CI script from #177 and an additional test in test.cpp to verify that this works.
2022-08-12 19:36:20 +02:00
Baoshuo Ren
a9a2ac2d1e chore: bump macos runner version
GitHub Action is sunsetting the macOS 10.15 Actions runner. It will stop working intermittently until being completely removed by 2022-8-30: https://github.blog/changelog/2022-07-20-github-actions-the-macos-10-15-actions-runner-image-is-being-deprecated-and-will-be-removed-by-8-30-22
2022-07-25 15:21:25 +02:00
Alexander Grund
005665a607 Add a full msvc-14.3 and reduce the windows coverage variants
Collecting coverage data on Windows is VERY expensive (takes long).
So only do a 64-bit build with latest standard on msvc-14.3 by default.
Library authors can change that if required.
2022-06-08 18:18:33 +02:00
Alexander Grund
bcb941749a Add msvc-14.0 and clang-win to GHA Windows jobs 2022-06-08 10:04:05 +02:00
Alexander Grund
23c7493aea Revert to Clang 12 for libc++ & Sanitizers
A false positiv starting with Clang 13 prevents us from upgrading.
2022-06-06 09:53:20 +02:00
Alexander Grund
3736e32861 Workaround Clang 14 ASAN false positive on throwing exceptions
Fix the `AddressSanitizer: alloc-dealloc-mismatch (operator new vs free)` false positive reported by recent Clang with libc++ by reverting to Clang 13.
Fixes #167
2022-06-05 20:09:55 +02:00
Alexander Grund
699bb3b786 Fix ccache saving on cache hit
When a cache with the key exists it is NOT saved even when changed.
Hence make the key unique to a commit (SHA) and restore the most recent
cache with a key prefixed by the part without the SHA.
2022-06-04 12:56:48 +02:00
Alexander Grund
a60085a43e Add GCC 12 & Clang 13/14 to GHA 2022-06-03 12:38:34 +02:00
Alexander Grund
76211c3ab7 Improve comment on disabling CCache 2022-05-23 15:29:08 +02:00
Dirk Stolle
8fa856d82c GHA: update actions/cache + actions/checkout to v3 2022-05-20 15:31:40 +02:00
Alexander Grund
e88a34f9b5 Enable parallel CMake builds
Use B2_JOBS to run the CMake build jobs in parallel to reduce CI time.
2022-05-20 09:36:35 +02:00
Alexander Grund
2c4a39b421 Add comment showing extension of setup step 2022-03-11 15:31:33 +01:00
Sam Darwin
4041b7d9d7 test linkflags (#150)
* test linkflags

* Fix B2_ARGS for old CI configs

Revert construction of B2_ARGS for unset B2_CI_VERSION to what it was
before the deduplication efforts in #48

* Fix coverage args for old CI configs

Add the prefixes again

* Add multiple define= entries to B2_DEFINES and rename the test job

The error to be reproduced happens only for multiple values, e.g. to B2_LINKFLAGS or B2_DEFINES.

Co-authored-by: Alexander Grund <Flamefire@users.noreply.github.com>
2022-03-10 09:18:36 -06:00
Alexander Grund
ef736dcb9d Remove C++23 test from MSYS
Not supported by B2 yet
2022-03-03 18:16:29 +01:00
Alexander Grund
bd6b8da171 Fix key issues on Ubuntu 16.04 containers 2022-03-03 18:16:29 +01:00
Alexander Grund
94eee05c71 Add Github action using MSYS2 to build 2022-03-03 18:16:29 +01:00
Jim King
710004273f Update .github/workflows/ci.yml
Co-authored-by: Alexander Grund <Flamefire@users.noreply.github.com>
2022-02-09 07:49:31 -05:00
James E. King III
44c0767a3d gha: windows coverage 2022-02-09 07:49:31 -05:00
James E. King III
0e3cfec7b9 remove gha windows-2016 as it will be removed in march 2022 2022-02-08 12:07:06 -05:00
Alexander Grund
72a1d98488 Synchronize docu about build branches with CI scripts
Github Actions & Azure were not mentioned and GHA didn't build the specified branch patterns.
2022-02-06 13:01:26 +01:00
Alexander Grund
061c4088e6 Combine the 2 checkout steps on GHA 2022-02-03 18:12:34 +01:00
James E. King III
f3bd86a841 gha multiarch bigendian build support 2022-02-03 11:04:57 -05:00
Alexander Grund
00f6024b2a Coverity build only develop and master branches
Match the documentation
2022-02-03 10:45:32 +01:00
James E. King III
2b8dabf659 add coverity support for github actions 2022-02-03 10:45:32 +01:00
James E. King III
39c21a03b7 properly quote github ci.yml windows matrix addrmd 2022-01-26 08:27:48 -05:00
Alexander Grund
ef410c2174 Add a regression test CI for the old usage 2021-12-01 22:16:32 +01:00
Alexander Grund
4deebf5e15 Make coverage uploads more readable
- Tag by CI name
- Use verbose output
- Fail CI on failed upload
2021-12-01 12:25:01 +01:00
Alexander Grund
8ff4e49651 Add clang-6 with libc++ to GHA 2021-11-30 13:27:16 +01:00
Alexander Grund
c340419c7f Switch matrix.install to a string
Shorter than a list, less hassle later.
2021-11-30 13:14:01 +01:00
Alexander Grund
70ba9ea39b Run coverage build in 32 and 64 bit mode
Allows to cover more code paths, e.g. sizeof-dependent ones
2021-11-30 13:14:01 +01:00
sdarwin
8592e04ef8 Add msvc-14.3 to GHA matrix 2021-11-24 09:58:05 +01:00
Alexander Grund
afb874bb5f Add stdlib key to GHA matrix
Matrix keys don't have meaning on its own, so handle it in the script
2021-11-23 16:04:12 +01:00
Alexander Grund
1ed514342f Use CCache on GHA and AzP 2021-11-22 16:59:34 +01:00
Alexander Grund
8b39f37936 Improve reliability of adding PPAs
Seems to be some issues at times
2021-11-22 16:35:43 +01:00
Alexander Grund
eabeb645c6 Unify container software installation for GHA and AzP 2021-11-22 12:15:44 +01:00
Alexander Grund
da281574dd Move CMake tests into separate jobs and test on Windows
Cleaner and allows to test if anything in the CMLs is generator/platform specific
2021-11-18 12:41:14 +01:00
Alexander Grund
27132b2aec Test the current version of the Boost.CI scripts
Minimal change to NOT copy the cloned Boost.CI "ci" folder if running in the Boost.CI repo.
This allows to test the current version of the script in PRs, pushes...
2021-11-16 13:27:52 +01:00
Alexander Grund
6fcfe08e06 Split coverage into setup and upload
Build is done manually by the regular build.sh script. All we need is the setup (setting of CXXFLAGS etc.) and the upload part.
This allows to easily run multiple build runs (e.g. in different configurations)

Closes #94
2021-11-16 13:27:52 +01:00
Alexander Grund
9408068895 Switch off branch coverage in template 2021-11-14 13:04:48 +01:00
Alexander Grund
21e0d7c550 Switch GHA to official repo now 2021-11-13 13:32:02 +01:00
Alexander Grund
2eea0db07f Workaround clang-8 incompatibility with libstdc++10 in C++2a mode
> In file included from ./boost/boost-ci/boost_ci.hpp:11:
> /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/memory:200:16: error: no member named 'is_constant_evaluated' in namespace 'std'
>       if (std::is_constant_evaluated())
>           ~~~~~^
2021-11-13 13:08:13 +01:00
Alexander Grund
477ade1ccc Unify CMake tests
Have only a single folder as the test code is the same the only difference is find_package over add_subdirectory.
This avoids having to duplicate 95% of the code and instead focus on better tests.
2021-11-13 13:08:13 +01:00
Alexander Grund
953c81f93b Better integrate GHA into Boost.CI
Also add tests for the CMake tests
2021-11-13 13:08:13 +01:00