Commit Graph

210 Commits

Author SHA1 Message Date
Alexander Grund
cb6642d890 Speedup coverage collection on Windows
Run B2 2 times: First only building binaries without running the tests, then with the OpenCppCoverage wrapper which now skips over building the already existing binaries.
2022-10-12 12:01:12 +02:00
sdarwin
22339faf4c replace apt-key command 2022-10-11 19:50:28 +02:00
Sam Darwin
f21fc1832d Drone: Add FreeBSD (#182) 2022-10-11 11:07:24 -06:00
Sam Darwin
52be389326 drone: replace apt-key command (#180) 2022-08-23 17:21:33 -06:00
Sam Darwin
449a1d4f7c Drone updates (#179)
* Drone containers "pull": "if-not-exists"

* Drone: Use curl. Add Web-Invoke retries.
2022-08-23 09:55:28 -06: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
Alexander Grund
fe8e9c1a1d Put the search for Python into a function invoked only when required
This allows to run `enforce.sh` also when Python is not installed for
the cases where it is not used.
2022-08-11 18:09:10 +02:00
Alexander Grund
dee2f7a607 Merge pull request #174 from sdarwin/python
pythonexecutable variable
2022-06-24 09:50:49 +02:00
Sam Darwin
a3db91bd95 Add Mac OSX 12.4 Monterey drone runners (#175) 2022-06-23 13:41:34 -06:00
sdarwin
22da9557b2 pythonexecutable variable - update 2022-06-23 09:20:20 -06:00
Alexander Grund
883d1f414d Handle B2_INCLUDE in build.bat
Allow passing of additional include paths the same way as the non-Windows builds. See `enforce.sh`
2022-06-23 16:37:01 +02:00
sdarwin
7bd78305cf pythonexecutable variable 2022-06-22 17:17:50 -06:00
Alexander Grund
2553b19f34 Add more tests using clang-win
Use C++latest standard and 32 bit builds using the "Visual Studio 2019" image
This also requires using the linker for the manifest.
2022-06-08 18:13:16 +02:00
Alexander Grund
0c220523d1 Fix clang-win builds on GHA
Add embed-manifest-via=linker to B2_FLAGS when clang-win is used on
Github actions
2022-06-08 13:58:03 +02:00
Alexander Grund
30c73f38dc Persist B2_JOBS on GHA 2022-05-19 12:04:14 +02:00
Alexander Grund
815b0a13c6 Make gpg write log output to stdout in PowerShell
gpg by default writes to stderr which is treated as "an error occurred"
by PowerShell. Hence write log output to stdout (FD 1) too.
2022-05-06 17:20:39 +02:00
Alexander Grund
69fc160797 Remove codecov workaround for GHA
No longer required after https://github.com/codecov/uploader/pull/545
2022-05-06 11:35:06 +02:00
Alexander Grund
d67937bfd6 Remove codecov workaround for appveyor
No longer required after https://github.com/codecov/uploader/pull/545
2022-05-06 11:34:53 +02:00
James E. King III
5b22d1dcff use a universal UBSAN_OPTIONS suppression=.ubsan-ignorelist 2022-04-24 21:34:55 -04:00
James E. King III
e8640b8cf0 allow ci workflow to add more ubsan options 2022-04-24 20:47:45 -04:00
James E. King III
fdc0df0a06 fix mingw builds - pacman archive 5.2.1 was removed upstream 2022-04-24 14:00:19 -04:00
sdarwin
a0fbe61dec Run hostname command in Drone/MacOSX job 2022-03-21 15:40:18 -05:00
Alexander Grund
f24edb29a9 GHA: Persist all env variables supported in B2_ARGS
This allows library maintainers to pass additional env-keys to the
"Setup Boost" step.
Order matches the one in enforce.sh
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
d480d2739b Bootstrap MSYS2 B2 normally
Setting $CXX worksaround the issue of the "regular" bootstrap using cpp (the preprocessor)
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
James E. King III
86f4b7cb20 add ubsan option report_error_type for easier building of ignorelists 2022-02-13 14:28:54 -05:00
James E. King III
431f241ba3 allow for a less offensive ignore list filename 2022-02-11 21:19:03 -05:00
James E. King III
44c0767a3d gha: windows coverage 2022-02-09 07:49:31 -05:00
Sam Darwin
13e49cfdd0 Ability to disable ppa:ubuntu-toolchain-r/test in drone (#141) 2022-02-07 16:43:21 -06:00
James E. King III
d9ee7c7fb7 minor coverage cleanup - update lcov 2022-02-04 14:26:50 -05:00
James E. King III
f3bd86a841 gha multiarch bigendian build support 2022-02-03 11:04:57 -05:00
James E. King III
2b8dabf659 add coverity support for github actions 2022-02-03 10:45:32 +01:00
Sam Darwin
2a3e24381f Add "node" variable in drone pipeline (#126) 2022-01-13 12:44:22 -06:00
Alexander Grund
d9667e22fe Allow setting B2_JOBS on Windows to control parallel compilation 2021-12-19 13:08:44 +01:00
Alexander Grund
e889f336ba Fix cxx_exe comparison on Windows
- set cxx_exe="" yields for `"%cxx_exe%"`: """"
- set cxx_exe= removes the variable so `"%cxx_exe%"`: "%cxx_exe%"
2021-12-12 18:14:38 +01:00
Alexander Grund
a773fdee72 Make sure braces are correctly excluded from coverage
PS seemingly parses "{}", so switch to "}{" in the RegExp character group to avoid this.
Add a few braces in the sources for testing
2021-12-11 19:03:35 +01:00
Alexander Grund
68480a61a3 Honor B2_FLAGS on Windows
Fixes the inconsistency between the sh and bat files
2021-12-11 17:28:18 +01:00
Alexander Grund
bf9eb43a4a Echo the compiler location and version on Windows during setup
Similar to the shell script.
Allows to verify that correct/expected executables are used
2021-12-09 17:42:23 +01:00
Alexander Grund
a67e92569d Workaround codecov bug 2021-12-09 15:41:08 +01:00
Alexander Grund
e2051babc3 Add coverage collection script for appveyor
Dependencies:
  - Choco
  - Powershell
2021-12-09 15:41:08 +01:00
Alexander Grund
87c1459387 Fix codecov.sh usage for older CI files
See #116
2021-12-01 22:16:32 +01:00
Alexander Grund
33bef03e47 Remove the explicitly specified coverage file
The codecov uploader will always search for coverage files and automatically find it.
2021-12-01 12:25:01 +01:00
Alexander Grund
7457bae49e Verify integrity of codecov uploader 2021-12-01 12:25:01 +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
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
Alexander Grund
33a0cfc915 Allow parallel clone of dependencies on Windows jobs
Honor $GIT_FETCH_JOBS in the bat script as we do in the sh script
2021-11-24 09:56:02 +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
Sam Darwin
c4b1408cde Update pacman package (#104) 2021-11-22 15:58:37 -06:00
Alexander Grund
b65d5b8b9d Keep B2_TOOLSET if already set on AzP
AzP doesn't allow this
2021-11-22 21:24:57 +01:00