@@ -2,139 +2,76 @@ name: CI
2
2
3
3
on :
4
4
push :
5
- branches : [" main" ]
5
+ branches : [main]
6
6
pull_request :
7
- branches : [" main" ]
7
+ branches : [main]
8
8
9
9
jobs :
10
- gcc12-basic-asan :
10
+ basic :
11
+ strategy :
12
+ matrix :
13
+ compiler : [{name: gcc, flag: --action_env=CC=gcc-12}, {name: clang, flag: --action_env=CC=clang-14}]
14
+ std : [{name: c++17}, {name: c++14, flag: --cxxopt=-std=c++14 --cxxopt=-faligned-new}]
15
+ stdlib : [{name: stdlibc++}, {name: libc++, flag: --cxxopt=-stdlib=libc++ --linkopt=-stdlib=libc++}]
16
+ feature : [{name: asan, flag: --features=asan}, {name: tsan, flag: --features=tsan}]
17
+ exclude :
18
+ - compiler : {name: gcc}
19
+ stdlib : {name: libc++}
20
+ - std : {name: c++14}
21
+ feature : {name: tsan}
11
22
runs-on : ubuntu-latest
23
+ name : basic-${{matrix.compiler.name}}-${{matrix.std.name}}-${{matrix.stdlib.name}}-${{matrix.feature.name}}
12
24
steps :
13
25
- uses : actions/checkout@v4
14
26
- uses : actions/cache@v4
15
27
with :
16
28
path : bazel-disk
17
- key : bazel-disk-gcc12-basic-asan-${{github.sha}}
18
- restore-keys : bazel-disk-gcc12-basic-asan-
19
- - run : bazel test --disk_cache=bazel-disk --action_env=CC=gcc-12 --features=asan test/...
29
+ key : bazel-disk-basic-${{matrix.compiler.name}}-${{matrix.std.name}}-${{matrix.stdlib.name}}-${{matrix.feature.name}}-${{github.sha}}
30
+ restore-keys : bazel-disk-basic-${{matrix.compiler.name}}-${{matrix.std.name}}-${{matrix.stdlib.name}}-${{matrix.feature.name}}-
31
+ save-always : true
32
+ - run : bazel test --disk_cache=bazel-disk --verbose_failures ${{matrix.compiler.flag}} ${{matrix.std.flag}} ${{matrix.stdlib.flag}} ${{matrix.feature.flag}} test/...
20
33
21
- gcc12-basic-tsan :
34
+ arenastring :
35
+ strategy :
36
+ matrix :
37
+ compiler : [{name: gcc, flag: --action_env=CC=gcc-12}, {name: clang, flag: --action_env=CC=clang-14}]
38
+ stdlib : [{name: stdlibc++}, {name: libc++, flag: --cxxopt=-stdlib=libc++ --linkopt=-stdlib=libc++}]
39
+ mutable : [{name: default}, {name: half, flag: --config=arenastring}, {name: full, flag: --config=mutable-donated-string}]
40
+ exclude :
41
+ - compiler : {name: gcc}
42
+ stdlib : {name: libc++}
43
+ - compiler : {name: clang}
44
+ mutable : {name: half}
45
+ - compiler : {name: clang}
46
+ mutable : {name: full}
22
47
runs-on : ubuntu-latest
48
+ name : arenastring-${{matrix.compiler.name}}-${{matrix.stdlib.name}}-${{matrix.mutable.name}}
23
49
steps :
24
50
- uses : actions/checkout@v4
25
51
- uses : actions/cache@v4
26
52
with :
27
53
path : bazel-disk
28
- key : bazel-disk-gcc12-basic-tsan-${{github.sha}}
29
- restore-keys : bazel-disk-gcc12-basic-tsan-
30
- - run : bazel test --disk_cache=bazel-disk --action_env=CC=gcc-12 --features=tsan test/...
54
+ key : bazel-disk-arenastring-${{matrix.compiler.name}}-${{matrix.stdlib.name}}-${{matrix.mutable.name}}-${{github.sha}}
55
+ restore-keys : bazel-disk-arenastring-${{matrix.compiler.name}}-${{matrix.stdlib.name}}-${{matrix.mutable.name}}-
56
+ save-always : true
57
+ - run : sed -i "/single_version_override.*protobuf/s/version = '[^']*'/version = '27.3.arenastring'/" MODULE.bazel
58
+ - run : bazel test --disk_cache=bazel-disk --verbose_failures --features=asan ${{matrix.compiler.flag}} ${{matrix.stdlib.flag}} ${{matrix.mutable.flag}} test/...
31
59
32
- gcc12-arenastring-asan :
60
+ aarch64 :
33
61
runs-on : ubuntu-latest
34
62
steps :
35
63
- uses : actions/checkout@v4
36
64
- uses : actions/cache@v4
37
65
with :
38
66
path : bazel-disk
39
- key : bazel-disk-gcc12-arenastring-${{github.sha}}
40
- restore-keys : bazel-disk-gcc12-arenastring-
41
- - run : sed -i "/single_version_override.*protobuf/s/version = '[^']*'/version = '25.3.arenastring'/" MODULE.bazel
42
- - run : bazel test --disk_cache=bazel-disk --action_env=CC=gcc-12 --config=arenastring --features=asan test/...
43
-
44
- gcc12-mutable-donated-string-asan :
45
- runs-on : ubuntu-latest
46
- steps :
47
- - uses : actions/checkout@v4
48
- - uses : actions/cache@v4
49
- with :
50
- path : bazel-disk
51
- key : bazel-disk-gcc12-mutable-donated-string-${{github.sha}}
52
- restore-keys : bazel-disk-gcc12-mutable-donated-string-
53
- - run : sed -i "/single_version_override.*protobuf/s/version = '[^']*'/version = '25.3.arenastring'/" MODULE.bazel
54
- - run : bazel test --disk_cache=bazel-disk --action_env=CC=gcc-12 --config=mutable-donated-string --features=asan test/...
55
-
56
- gcc12-cxx14-asan :
57
- runs-on : ubuntu-latest
58
- steps :
59
- - uses : actions/checkout@v4
60
- - uses : actions/cache@v4
61
- with :
62
- path : bazel-disk
63
- key : bazel-disk-gcc12-cxx14-asan-${{github.sha}}
64
- restore-keys : bazel-disk-gcc12-cxx14-asan-
65
- - run : bazel test --disk_cache=bazel-disk --action_env=CC=gcc-12 --cxxopt=-std=c++14 --cxxopt=-faligned-new --features=asan test/...
66
-
67
- clang14-basic-asan :
68
- runs-on : ubuntu-latest
69
- steps :
70
- - uses : actions/checkout@v4
71
- - uses : actions/cache@v4
72
- with :
73
- path : bazel-disk
74
- key : bazel-disk-clang14-basic-asan-${{github.sha}}
75
- restore-keys : bazel-disk-clang14-basic-asan-
76
- - run : bazel test --disk_cache=bazel-disk --action_env=CC=clang-14 --cxxopt=-stdlib=libc++ --linkopt=-stdlib=libc++ --features=asan test/...
77
-
78
- clang14-basic-tsan :
79
- runs-on : ubuntu-latest
80
- steps :
81
- - uses : actions/checkout@v4
82
- - uses : actions/cache@v4
83
- with :
84
- path : bazel-disk
85
- key : bazel-disk-clang14-basic-tsan-${{github.sha}}
86
- restore-keys : bazel-disk-clang14-basic-tsan-
87
- - run : bazel test --disk_cache=bazel-disk --action_env=CC=clang-14 --cxxopt=-stdlib=libc++ --linkopt=-stdlib=libc++ --features=tsan test/...
88
-
89
- clang14-arenastring-asan :
90
- runs-on : ubuntu-latest
91
- steps :
92
- - uses : actions/checkout@v4
93
- - uses : actions/cache@v4
94
- with :
95
- path : bazel-disk
96
- key : bazel-disk-clang14-arenastring-${{github.sha}}
97
- restore-keys : bazel-disk-clang14-arenastring-
98
- - run : sed -i "/single_version_override.*protobuf/s/version = '[^']*'/version = '25.3.arenastring'/" MODULE.bazel
99
- - run : bazel test --disk_cache=bazel-disk --action_env=CC=clang-14 --cxxopt=-stdlib=libc++ --linkopt=-stdlib=libc++ --config=arenastring --features=asan test/...
100
-
101
- clang14-mutable-donated-string-asan :
102
- runs-on : ubuntu-latest
103
- steps :
104
- - uses : actions/checkout@v4
105
- - uses : actions/cache@v4
106
- with :
107
- path : bazel-disk
108
- key : bazel-disk-clang14-mutable-donated-string-${{github.sha}}
109
- restore-keys : bazel-disk-clang14-mutable-donated-string-
110
- - run : sed -i "/single_version_override.*protobuf/s/version = '[^']*'/version = '25.3.arenastring'/" MODULE.bazel
111
- - run : bazel test --disk_cache=bazel-disk --action_env=CC=clang-14 --cxxopt=-stdlib=libc++ --linkopt=-stdlib=libc++ --config=mutable-donated-string --features=asan test/...
112
-
113
- clang14-cxx14-asan :
114
- runs-on : ubuntu-latest
115
- steps :
116
- - uses : actions/checkout@v4
117
- - uses : actions/cache@v4
118
- with :
119
- path : bazel-disk
120
- key : bazel-disk-clang14-cxx14-asan-${{github.sha}}
121
- restore-keys : bazel-disk-clang14-cxx14-asan-
122
- - run : bazel test --disk_cache=bazel-disk --action_env=CC=clang-14 --cxxopt=-stdlib=libc++ --linkopt=-stdlib=libc++ --cxxopt=-std=c++14 --cxxopt=-faligned-new --features=asan test/...
123
-
124
- gcc12-aarch64-asan :
125
- runs-on : ubuntu-latest
126
- steps :
127
- - uses : actions/checkout@v4
128
- - uses : actions/cache@v4
129
- with :
130
- path : bazel-disk
131
- key : bazel-disk-gcc12-aarch64-asan-${{github.sha}}
132
- restore-keys : bazel-disk-gcc12-aarch64-asan-
67
+ key : bazel-disk-aarch64-${{github.sha}}
68
+ restore-keys : bazel-disk-aarch64-
69
+ save-always : true
133
70
- run : sudo apt update
134
71
- run : sudo apt install g++-12-aarch64-linux-gnu
135
72
- run : sudo apt install qemu-user
136
73
- run : sudo ln -s /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 /lib/
137
- - run : bazel test --disk_cache=bazel-disk --platforms='@cross_config_toolchain//:cross' --action_env=CROSS_CC=/usr/bin/aarch64-linux-gnu-gcc-12 --features=-default_link_flags --features=asan --linkopt=-fuse-ld=gold -- test_env=LD_LIBRARY_PATH=/usr/aarch64-linux-gnu/lib --test_env=ASAN_OPTIONS=detect_odr_violation=1:detect_leaks=0 test/...
74
+ - run : bazel test --disk_cache=bazel-disk --verbose_failures -- platforms='@cross_config_toolchain//:cross' --action_env=CROSS_CC=/usr/bin/aarch64-linux-gnu-gcc-12 --features=-default_link_flags --test_env=LD_LIBRARY_PATH=/usr/aarch64-linux-gnu/lib test/...
138
75
139
76
workspace :
140
77
runs-on : ubuntu-latest
145
82
path : bazel-disk
146
83
key : bazel-disk-workspace-${{github.sha}}
147
84
restore-keys : bazel-disk-workspace-
148
- - run : bazel test --enable_bzlmod=false --disk_cache=bazel-disk --action_env=CC=gcc-12 --features=asan test/...
85
+ save-always : true
86
+ - run : bazel test --disk_cache=bazel-disk --enable_bzlmod=false test/...
149
87
150
88
coverage :
151
89
runs-on : ubuntu-latest
156
94
path : bazel-disk
157
95
key : bazel-disk-coverage-${{github.sha}}
158
96
restore-keys : bazel-disk-coverage-
159
- - run : bazel coverage --disk_cache=bazel-disk --combined_report=lcov --instrumentation_filter='src/babylon,-src/babylon/reusable/patch' test/...
97
+ save-always : true
98
+ - run : bazel coverage --disk_cache=bazel-disk --verbose_failures --combined_report=lcov --instrumentation_filter='src/babylon,-src/babylon/reusable/patch' test/...
160
99
- run : .github/workflows/filter_lcov.sh
161
100
- uses : coverallsapp/github-action@v2
162
101
with :
0 commit comments