Skip to content

Commit c9ac251

Browse files
committed
generate missing GUI dependencies for sanitizer selfchecks in CI
1 parent 14d5963 commit c9ac251

File tree

2 files changed

+34
-6
lines changed

2 files changed

+34
-6
lines changed

.github/workflows/asan.yml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
runs-on: ubuntu-22.04
1414

1515
env:
16+
QT_VERSION: 5.15.2
1617
ASAN_OPTIONS: detect_stack_use_after_return=1
1718

1819
steps:
@@ -35,9 +36,16 @@ jobs:
3536
chmod +x llvm.sh
3637
sudo ./llvm.sh 15
3738
39+
- name: Install Qt ${{ env.QT_VERSION }}
40+
uses: jurplel/install-qt-action@v3
41+
with:
42+
version: ${{ env.QT_VERSION }}
43+
modules: 'qtcharts'
44+
cache: true
45+
3846
- name: CMake
3947
run: |
40-
cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_ADDRESS=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On
48+
cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=ON -DWITH_QCHART=ON -DUSE_MATCHCOMPILER=Verify -DANALYZE_ADDRESS=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On
4149
env:
4250
CC: clang-15
4351
CXX: clang++-15
@@ -53,6 +61,12 @@ jobs:
5361
- name: Run tests
5462
run: ./cmake.output/bin/testrunner
5563

64+
- name: Generate dependencies
65+
run: |
66+
# make sure auto-generated GUI files exist
67+
make -C cmake.output autogen
68+
make -C cmake.output gui-build-deps triage-build-ui-deps
69+
5670
# TODO: this is currently way too slow (~60 minutes) to enable it
5771
# TODO: only fail the step on sanitizer issues
5872
- name: Self check
@@ -61,7 +75,7 @@ jobs:
6175
selfcheck_options="-q -j$(nproc) --std=c++11 --template=selfcheck --showtime=top5 -D__CPPCHECK__ --error-exitcode=1 --inline-suppr --suppressions-list=.selfcheck_suppressions --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2/ --inconclusive --enable=style,performance,portability,warning,missingInclude,internal --exception-handling --debug-warnings"
6276
ec=0
6377
./cmake.output/bin/cppcheck $selfcheck_options --addon=naming.json -DCHECK_INTERNAL cli lib || ec=1
64-
./cmake.output/bin/cppcheck $selfcheck_options -DQT_VERSION=0x050000 -DQ_MOC_OUTPUT_REVISION=67 --library=qt --addon=naming.json -Igui/temp -Igui gui/*.cpp gui/temp/*.cpp || ec=1
78+
./cmake.output/bin/cppcheck $selfcheck_options -DQT_VERSION=0x050000 -DQ_MOC_OUTPUT_REVISION=67 --library=qt --addon=naming.json -Icmake.output/gui -Igui gui/*.cpp cmake.output/gui/*.cpp || ec=1
6579
./cmake.output/bin/cppcheck $selfcheck_options -Icli test/*.cpp tools/*.cpp || ec=1
66-
./cmake.output/bin/cppcheck $selfcheck_options -DQ_MOC_OUTPUT_REVISION=67 --library=qt -Itools/triage/temp -Igui tools/triage/*.cpp tools/triage/temp/*.cpp || ec=1
80+
./cmake.output/bin/cppcheck $selfcheck_options -DQ_MOC_OUTPUT_REVISION=67 --library=qt -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage/*.cpp || ec=1
6781
exit $ec

.github/workflows/ubsan.yml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
runs-on: ubuntu-22.04
1414

1515
env:
16+
QT_VERSION: 5.15.2
1617
UBSAN_OPTIONS: print_stacktrace=1:halt_on_error=1:report_error_type=1
1718

1819
steps:
@@ -35,9 +36,16 @@ jobs:
3536
chmod +x llvm.sh
3637
sudo ./llvm.sh 15
3738
39+
- name: Install Qt ${{ env.QT_VERSION }}
40+
uses: jurplel/install-qt-action@v3
41+
with:
42+
version: ${{ env.QT_VERSION }}
43+
modules: 'qtcharts'
44+
cache: true
45+
3846
- name: CMake
3947
run: |
40-
cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DUSE_MATCHCOMPILER=Verify -DANALYZE_UNDEFINED=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On
48+
cmake -S . -B cmake.output -DCMAKE_BUILD_TYPE=RelWithDebInfo -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=ON -DWITH_QCHART=ON -DUSE_MATCHCOMPILER=Verify -DANALYZE_UNDEFINED=On -DENABLE_CHECK_INTERNAL=On -DUSE_BOOST=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On
4149
env:
4250
CC: clang-15
4351
CXX: clang++-15
@@ -53,13 +61,19 @@ jobs:
5361
- name: Run tests
5462
run: ./cmake.output/bin/testrunner
5563

64+
- name: Generate dependencies
65+
run: |
66+
# make sure auto-generated GUI files exist
67+
make -C cmake.output autogen
68+
make -C cmake.output gui-build-deps triage-build-ui-deps
69+
5670
# TODO: only fail the step on sanitizer issues
5771
- name: Self check
5872
run: |
5973
selfcheck_options="-q -j$(nproc) --std=c++11 --template=selfcheck --showtime=top5 -D__CPPCHECK__ --error-exitcode=1 --inline-suppr --suppressions-list=.selfcheck_suppressions --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2/ --inconclusive --enable=style,performance,portability,warning,missingInclude,internal --exception-handling --debug-warnings"
6074
ec=0
6175
./cmake.output/bin/cppcheck $selfcheck_options --addon=naming.json -DCHECK_INTERNAL cli lib || ec=1
62-
./cmake.output/bin/cppcheck $selfcheck_options -DQT_VERSION=0x050000 -DQ_MOC_OUTPUT_REVISION=67 --library=qt --addon=naming.json -Igui/temp -Igui gui/*.cpp gui/temp/*.cpp || ec=1
76+
./cmake.output/bin/cppcheck $selfcheck_options -DQT_VERSION=0x050000 -DQ_MOC_OUTPUT_REVISION=67 --library=qt --addon=naming.json -Icmake.output/gui -Igui gui/*.cpp cmake.output/gui/*.cpp || ec=1
6377
./cmake.output/bin/cppcheck $selfcheck_options -Icli test/*.cpp tools/*.cpp || ec=1
64-
./cmake.output/bin/cppcheck $selfcheck_options -DQ_MOC_OUTPUT_REVISION=67 --library=qt -Itools/triage/temp -Igui tools/triage/*.cpp tools/triage/temp/*.cpp || ec=1
78+
./cmake.output/bin/cppcheck $selfcheck_options -DQ_MOC_OUTPUT_REVISION=67 --library=qt -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage/*.cpp || ec=1
6579
exit $ec

0 commit comments

Comments
 (0)