@@ -15,12 +15,12 @@ jobs:
15
15
config :
16
16
- {name: "Ubuntu Clang 20", os: ubuntu-24.04, toolchain: "clang-20", clang_version: 20, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Debug;Asan\" "}
17
17
# Note: clang-19 + Asan setup causes errors on some platforms. Temporary skip some checks via .asan_options.
18
- - {name: "Ubuntu Clang 19", os: ubuntu-24.04, toolchain: "clang-19", clang_version: 19, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Debug; Asan\" ", asan_options: "new_delete_type_mismatch=0"}
19
- - {name: "Ubuntu Clang 18", os: ubuntu-24.04, toolchain: "clang-18", clang_version: 18, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Debug; Asan\" "}
20
- - {name: "Ubuntu Clang 17", os: ubuntu-24.04, toolchain: "clang-17", clang_version: 17, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Debug; Asan\" "}
21
- - {name: "Ubuntu GCC 14", os: ubuntu-24.04, toolchain: "gcc-14", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Debug; Asan\" "}
22
- - {name: "Ubuntu GCC 13", os: ubuntu-24.04, toolchain: "gcc-13", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Debug; Asan\" "}
23
- - {name: "Ubuntu GCC 12", os: ubuntu-24.04, toolchain: "gcc-12", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Debug; Asan\" "}
18
+ - {name: "Ubuntu Clang 19", os: ubuntu-24.04, toolchain: "clang-19", clang_version: 19, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" ", asan_options: "new_delete_type_mismatch=0"}
19
+ - {name: "Ubuntu Clang 18", os: ubuntu-24.04, toolchain: "clang-18", clang_version: 18, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
20
+ - {name: "Ubuntu Clang 17", os: ubuntu-24.04, toolchain: "clang-17", clang_version: 17, installed_clang_version: 17, cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
21
+ - {name: "Ubuntu GCC 14", os: ubuntu-24.04, toolchain: "gcc-14", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan;Gcov \" ", coverage: true }
22
+ - {name: "Ubuntu GCC 13", os: ubuntu-24.04, toolchain: "gcc-13", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
23
+ - {name: "Ubuntu GCC 12", os: ubuntu-24.04, toolchain: "gcc-12", cmake_args: "-G \"Ninja Multi-Config\" -DCMAKE_CONFIGURATION_TYPES=\"RelWithDebInfo;Asan\" "}
24
24
steps :
25
25
- uses : actions/checkout@v3
26
26
with :
78
78
sudo apt-get install g++-${GCC_VERSION} gcc-${GCC_VERSION}
79
79
find /usr/lib/x86_64-linux-gnu/ -name libstdc++.so*
80
80
g++-${GCC_VERSION} --version
81
- type g++-${GCC_VERSION}
81
+ - name : Install Gcovr
82
+ if : matrix.config.coverage
83
+ run : |
84
+ set -x
85
+ sudo apt-get install gcovr
82
86
- name : CMake Configure
83
87
run : |
84
88
set -x
@@ -108,8 +112,31 @@ jobs:
108
112
- name : Install
109
113
run : |
110
114
set -x
115
+ cmake --install .build --config RelWithDebInfo --component beman_optional26_development --verbose
116
+ - name : CMake Gcov Build
117
+ if : matrix.config.coverage
118
+ run : |
119
+ set -x
120
+ cmake --build .build --config Gcov --target all_verify_interface_header_sets -- -k 0
121
+ cmake --build .build --config Gcov --target all -- -k 0
122
+ - name : CMake Gcov Test
123
+ if : matrix.config.coverage
124
+ run : |
125
+ set -x
126
+ ctest --build-config Gcov --output-on-failure --test-dir .build
127
+ - name : Generate Coverage
128
+ if : matrix.config.coverage
129
+ run : |
130
+ set -x
131
+ cmake --build .build --config Gcov --target process_coverage -- -k 0
132
+ - name : Coveralls
133
+ if : matrix.config.coverage
134
+ uses : coverallsapp/github-action@main
135
+ with :
136
+ file : ${{runner.workspace}}/optional26/.build/coverage.json
137
+ github-token : ${{ secrets.GITHUB_TOKEN }}
111
138
cmake --install .build --config RelWithDebInfo --verbose
112
139
- name : CMake Debug Workflow
113
140
run : |
114
141
set -x
115
- cmake --workflow --preset ${{ matrix.config.toolchain }}
142
+ cmake --workflow --preset ${{ matrix.config.toolchain }}
0 commit comments