|
2 | 2 | # subject to the Boost Software License, Version 1.0. (See accompanying
|
3 | 3 | # file LICENSE.txt)
|
4 | 4 | #
|
5 |
| -# Copyright Rene Rivera 2020. |
6 |
| -# Copyright Alexander Grund 2022. |
| 5 | +# Copyright S. Darwin 2025. |
7 | 6 |
|
8 | 7 | # For Drone CI we use the Starlark scripting language to reduce duplication.
|
9 | 8 | # As the yaml syntax for Drone CI is rather limited.
|
10 |
| - |
11 |
| -# Base environment for all jobs |
12 |
| -globalenv={'B2_CI_VERSION': '1', 'B2_VARIANT': 'release'} |
13 |
| - |
14 |
| -# Wrapper function to apply the globalenv to all jobs |
15 |
| -def job( |
16 |
| - # job specific environment options |
17 |
| - env={}, |
18 |
| - **kwargs): |
19 |
| - real_env = dict(globalenv) |
20 |
| - real_env.update(env) |
21 |
| - return job_impl(env=real_env, **kwargs) |
| 9 | +# |
| 10 | +# |
| 11 | +# globalenv={'B2_CI_VERSION': '1', 'B2_VARIANT': 'debug,release', 'B2_FLAGS': 'warnings=extra warnings-as-errors=on'} |
| 12 | +globalenv={'B2_CI_VERSION': '1', 'B2_VARIANT': 'release' } |
| 13 | +linuxglobalimage="cppalliance/droneubuntu2204:1" |
22 | 14 |
|
23 | 15 | def main(ctx):
|
24 | 16 | return [
|
25 |
| - job(compiler='clang-3.5', cxxstd='11', os='ubuntu-16.04'), |
26 |
| - job(compiler='clang-3.6', cxxstd='11,14', os='ubuntu-16.04'), |
27 |
| - job(compiler='clang-3.8', cxxstd='11,14', os='ubuntu-16.04'), |
28 |
| - job(compiler='clang-3.9', cxxstd='11,14', os='ubuntu-18.04'), |
29 |
| - job(compiler='clang-4.0', cxxstd='11,14', os='ubuntu-18.04'), |
30 |
| - job(compiler='clang-5.0', cxxstd='11,14,1z', os='ubuntu-18.04'), |
31 |
| - job(compiler='clang-6.0', cxxstd='11,14,17', os='ubuntu-18.04'), |
32 |
| - job(compiler='clang-7', cxxstd='11,14,17', os='ubuntu-18.04'), |
33 |
| - job(compiler='clang-8', cxxstd='11,14,17,2a', os='ubuntu-18.04'), |
34 |
| - job(compiler='clang-9', cxxstd='11,14,17,2a', os='ubuntu-18.04'), |
35 |
| - job(compiler='clang-10', cxxstd='11,14,17,2a', os='ubuntu-18.04'), |
36 |
| - job(compiler='clang-11', cxxstd='11,14,17,2a', os='ubuntu-22.04'), |
37 |
| - job(compiler='clang-12', cxxstd='11,14,17,20', os='ubuntu-22.04'), |
38 |
| - job(compiler='clang-13', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'), |
39 |
| - job(compiler='clang-14', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'), |
40 |
| - job(compiler='clang-15', cxxstd='11,14,17,20,2b', os='ubuntu-22.04', add_llvm=True), |
41 |
| - |
42 |
| - job(compiler='gcc-4.7', cxxstd='11', os='ubuntu-16.04'), |
43 |
| - job(compiler='gcc-4.8', cxxstd='11', os='ubuntu-16.04'), |
44 |
| - job(compiler='gcc-4.9', cxxstd='11', os='ubuntu-16.04'), |
45 |
| - job(compiler='gcc-5', cxxstd='11,14,1z', os='ubuntu-18.04'), |
46 |
| - job(compiler='gcc-6', cxxstd='11,14,1z', os='ubuntu-18.04'), |
47 |
| - job(compiler='gcc-7', cxxstd='11,14,1z', os='ubuntu-18.04'), |
48 |
| - job(compiler='gcc-8', cxxstd='11,14,17,2a', os='ubuntu-18.04'), |
49 |
| - job(compiler='gcc-9', cxxstd='11,14,17,2a', os='ubuntu-18.04'), |
50 |
| - job(compiler='gcc-10', cxxstd='11,14,17,20', os='ubuntu-22.04'), |
51 |
| - job(compiler='gcc-11', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'), |
52 |
| - job(compiler='gcc-12', cxxstd='11,14,17,20,2b', os='ubuntu-22.04'), |
53 |
| - |
54 |
| - job(name='Coverage', buildtype='codecov', |
55 |
| - compiler='gcc-8', cxxstd='11,14,17,2a', os='ubuntu-18.04'), |
56 |
| - job(name='Coverity Scan', buildtype='coverity', |
57 |
| - compiler='clang', cxxstd=None, os='ubuntu-18.04', packages=''), |
58 |
| - # Sanitizers |
59 |
| - job(name='ASAN', asan=True, |
60 |
| - compiler='gcc-12', cxxstd='11,14,17,20', os='ubuntu-22.04'), |
61 |
| - job(name='UBSAN', ubsan=True, |
62 |
| - compiler='gcc-12', cxxstd='11,14,17,20', os='ubuntu-22.04'), |
63 |
| - job(name='TSAN', tsan=True, |
64 |
| - compiler='gcc-12', cxxstd='11,14,17,20', os='ubuntu-22.04'), |
65 |
| - job(name='Clang 14 w/ sanitizers', asan=True, ubsan=True, |
66 |
| - compiler='clang-14', cxxstd='11,14,17,20', os='ubuntu-22.04'), |
67 |
| - job(name='Clang 11 libc++ w/ sanitizers', asan=True, ubsan=True, # libc++-11 is the latest working with ASAN: https://github.com/llvm/llvm-project/issues/59432 |
68 |
| - compiler='clang-11', cxxstd='11,14,17,20', os='ubuntu-20.04', stdlib='libc++', install='libc++-11-dev libc++abi-11-dev'), |
69 |
| - job(name='Valgrind', valgrind=True, |
70 |
| - compiler='clang-6.0', cxxstd='11,14,1z', os='ubuntu-18.04', install='libc6-dbg libc++-dev libstdc++-8-dev'), |
71 |
| - |
72 |
| - # libc++ |
73 |
| - job(compiler='clang-6.0', cxxstd='11,14,17,2a', os='ubuntu-18.04', stdlib='libc++', install='libc++-dev libc++abi-dev'), |
74 |
| - job(compiler='clang-7', cxxstd='11,14,17,2a', os='ubuntu-20.04', stdlib='libc++', install='libc++-7-dev libc++abi-7-dev'), |
75 |
| - job(compiler='clang-8', cxxstd='11,14,17,2a', os='ubuntu-20.04', stdlib='libc++', install='libc++-8-dev libc++abi-8-dev'), |
76 |
| - job(compiler='clang-9', cxxstd='11,14,17,2a', os='ubuntu-20.04', stdlib='libc++', install='libc++-9-dev libc++abi-9-dev'), |
77 |
| - job(compiler='clang-10', cxxstd='11,14,17,20', os='ubuntu-20.04', stdlib='libc++', install='libc++-10-dev libc++abi-10-dev'), |
78 |
| - job(compiler='clang-11', cxxstd='11,14,17,20', os='ubuntu-20.04', stdlib='libc++', install='libc++-11-dev libc++abi-11-dev'), |
79 |
| - job(compiler='clang-12', cxxstd='11,14,17,20', os='ubuntu-22.04', stdlib='libc++', install='libc++-12-dev libc++abi-12-dev libunwind-12-dev'), |
80 |
| - job(compiler='clang-13', cxxstd='11,14,17,20', os='ubuntu-22.04', stdlib='libc++', install='libc++-13-dev libc++abi-13-dev'), |
81 |
| - job(compiler='clang-14', cxxstd='11,14,17,20', os='ubuntu-22.04', stdlib='libc++', install='libc++-14-dev libc++abi-14-dev'), |
82 |
| - job(compiler='clang-15', cxxstd='11,14,17,20', os='ubuntu-22.04', stdlib='libc++', install='libc++-15-dev libc++abi-15-dev', add_llvm=True), |
83 |
| - |
84 |
| - # FreeBSD |
85 |
| - job(compiler='clang-10', cxxstd='11,14,17,20', os='freebsd-13.1'), |
86 |
| - job(compiler='clang-15', cxxstd='11,14,17,20', os='freebsd-13.1'), |
87 |
| - job(compiler='gcc-11', cxxstd='11,14,17,20', os='freebsd-13.1', linkflags='-Wl,-rpath=/usr/local/lib/gcc11'), |
88 |
| - # OSX |
89 |
| - job(compiler='clang', cxxstd='11,14,17,2a', os='osx-xcode-10.1'), |
90 |
| - job(compiler='clang', cxxstd='11,14,17,2a', os='osx-xcode-10.3'), |
91 |
| - job(compiler='clang', cxxstd='11,14,17,2a', os='osx-xcode-11.1'), |
92 |
| - job(compiler='clang', cxxstd='11,14,17,2a', os='osx-xcode-11.7'), |
93 |
| - job(compiler='clang', cxxstd='11,14,17,2a', os='osx-xcode-12'), |
94 |
| - job(compiler='clang', cxxstd='11,14,17,20', os='osx-xcode-12.5.1'), |
95 |
| - job(compiler='clang', cxxstd='11,14,17,20', os='osx-xcode-13.0'), |
96 |
| - job(compiler='clang', cxxstd='11,14,17,20', os='osx-xcode-13.4.1'), |
97 |
| - job(compiler='clang', cxxstd='11,14,17,20,2b', os='osx-xcode-14.0'), |
98 |
| - job(compiler='clang', cxxstd='11,14,17,20,2b', os='osx-xcode-14.3.1'), |
99 |
| - job(compiler='clang', cxxstd='11,14,17,20,2b', os='osx-xcode-15.0.1'), |
100 |
| - # ARM64 |
101 |
| - job(compiler='clang-12', cxxstd='11,14,17,20', os='ubuntu-20.04', arch='arm64', add_llvm=True), |
102 |
| - job(compiler='gcc-11', cxxstd='11,14,17,20', os='ubuntu-20.04', arch='arm64'), |
103 |
| - # S390x |
104 |
| - job(compiler='clang-12', cxxstd='11,14,17,20', os='ubuntu-20.04', arch='s390x', add_llvm=True), |
105 |
| - job(compiler='gcc-11', cxxstd='11,14,17,20', os='ubuntu-20.04', arch='s390x'), |
106 |
| - # Windows |
107 |
| - job(compiler='msvc-14.0', cxxstd=None, os='windows', env={'B2_DONT_EMBED_MANIFEST': 1}), |
108 |
| - job(compiler='msvc-14.1', cxxstd=None, os='windows'), |
109 |
| - job(compiler='msvc-14.2', cxxstd=None, os='windows'), |
110 |
| - job(compiler='msvc-14.3', cxxstd=None, os='windows'), |
111 |
| - job(compiler='msvc-14.0', cxxstd='14,17,20', os='windows', env={'B2_DONT_EMBED_MANIFEST': 1}), |
112 |
| - job(compiler='msvc-14.1', cxxstd='14,17,20', os='windows'), |
113 |
| - job(compiler='msvc-14.2', cxxstd='14,17,20', os='windows'), |
114 |
| - job(compiler='msvc-14.3', cxxstd='14,17,20,latest', os='windows'), |
| 17 | + linux_cxx("lcov report 1", "g++-12", packages="g++-12", buildtype="lcov-report", buildscript="drone", image="cppalliance/droneubuntu2204:1", environment={'LCOV_SKIP_PATTERN': '^[g-z]', 'B2_TOOLSET': 'gcc-12', 'B2_CXXSTD': '20'}, globalenv=globalenv), |
| 18 | + linux_cxx("lcov report 2", "g++-12", packages="g++-12", buildtype="lcov-report", buildscript="drone", image="cppalliance/droneubuntu2204:1", environment={'LCOV_SKIP_PATTERN': '^[a-fn-z]', 'B2_TOOLSET': 'gcc-12', 'B2_CXXSTD': '20'}, globalenv=globalenv), |
| 19 | + linux_cxx("lcov report 3", "g++-12", packages="g++-12", buildtype="lcov-report", buildscript="drone", image="cppalliance/droneubuntu2204:1", environment={'LCOV_SKIP_PATTERN': '^[a-ms-z]', 'B2_TOOLSET': 'gcc-12', 'B2_CXXSTD': '20'}, globalenv=globalenv), |
| 20 | + linux_cxx("lcov report 4", "g++-12", packages="g++-12", buildtype="lcov-report", buildscript="drone", image="cppalliance/droneubuntu2204:1", environment={'LCOV_SKIP_PATTERN': '^[a-r]', 'B2_TOOLSET': 'gcc-12', 'B2_CXXSTD': '20'}, globalenv=globalenv), |
115 | 21 | ]
|
116 | 22 |
|
117 | 23 | # from https://github.com/boostorg/boost-ci
|
118 |
| -load("@boost_ci//ci/drone/:functions.star", "linux_cxx", "windows_cxx", "osx_cxx", "freebsd_cxx", "job_impl") |
| 24 | +load("@boost_ci//ci/drone/:functions.star", "linux_cxx","windows_cxx","osx_cxx","freebsd_cxx") |
0 commit comments