|
23 | 23 | os: [macos-13] |
24 | 24 | include: |
25 | 25 | - use_qt6: On |
26 | | - - os: ubuntu-20.04 |
27 | | - use_qt6: Off |
28 | 26 | fail-fast: false # Prefer quick result |
29 | 27 |
|
30 | 28 | runs-on: ${{ matrix.os }} |
@@ -417,68 +415,3 @@ jobs: |
417 | 415 | run: | |
418 | 416 | warnings="-pedantic -Wall -Wextra -Wcast-qual -Wno-deprecated-declarations -Wfloat-equal -Wmissing-declarations -Wmissing-format-attribute -Wno-long-long -Wpacked -Wredundant-decls -Wundef -Wno-shadow -Wno-missing-field-initializers -Wno-missing-braces -Wno-sign-compare -Wno-multichar" |
419 | 417 | g++ $warnings -c -Ilib -Iexternals/tinyxml2 democlient/democlient.cpp |
420 | | -
|
421 | | - selfcheck: |
422 | | - needs: build # wait for all tests to be successful first |
423 | | - |
424 | | - runs-on: ubuntu-22.04 # run on the latest image only |
425 | | - |
426 | | - steps: |
427 | | - - uses: actions/checkout@v4 |
428 | | - |
429 | | - - name: ccache |
430 | | - uses: hendrikmuhs/ccache-action@v1.2 |
431 | | - with: |
432 | | - key: ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }} |
433 | | - |
434 | | - - name: Install missing software on ubuntu |
435 | | - run: | |
436 | | - sudo apt-get update |
437 | | - # qt6-tools-dev-tools for lprodump |
438 | | - # qt6-l10n-tools for lupdate |
439 | | - sudo apt-get install qt6-base-dev libqt6charts6-dev qt6-tools-dev qt6-tools-dev-tools qt6-l10n-tools libglx-dev libgl1-mesa-dev |
440 | | - sudo apt-get install libboost-container-dev |
441 | | -
|
442 | | - - name: Self check (build) |
443 | | - run: | |
444 | | - export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" |
445 | | - # compile with verification and ast matchers |
446 | | - make -j$(nproc) -s CPPFLAGS="-DCHECK_INTERNAL" CXXFLAGS="-g -O2 -w -DHAVE_BOOST" MATCHCOMPILER=yes VERIFY=1 |
447 | | -
|
448 | | - - name: CMake |
449 | | - run: | |
450 | | - cmake -S . -B cmake.output -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On -DWITH_QCHART=On -DUSE_MATCHCOMPILER=Verify -DENABLE_CHECK_INTERNAL=On -DCPPCHK_GLIBCXX_DEBUG=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_GLOBAL_AUTOGEN_TARGET=On -DDISABLE_DMAKE=On |
451 | | -
|
452 | | - - name: Generate dependencies |
453 | | - run: | |
454 | | - # make sure auto-generated GUI files exist |
455 | | - make -C cmake.output autogen |
456 | | - make -C cmake.output gui-build-deps triage-build-ui-deps |
457 | | -
|
458 | | - - name: Self check |
459 | | - run: | |
460 | | - selfcheck_options="-q -j$(nproc) --std=c++11 --template=selfcheck --showtime=file-total -D__GNUC__ --error-exitcode=1 --inline-suppr --suppressions-list=.selfcheck_suppressions --library=gnu --inconclusive --enable=style,performance,portability,warning,missingInclude --exception-handling --debug-warnings --check-level=exhaustive" |
461 | | - cppcheck_options="-D__CPPCHECK__ -DCHECK_INTERNAL -DHAVE_RULES --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2" |
462 | | - ec=0 |
463 | | - |
464 | | - # TODO: add --check-config |
465 | | - |
466 | | - # early exit |
467 | | - if [ $ec -eq 1 ]; then |
468 | | - exit $ec |
469 | | - fi |
470 | | - |
471 | | - # self check simplecpp |
472 | | - ./cppcheck $selfcheck_options externals/simplecpp || ec=1 |
473 | | - # self check lib/cli |
474 | | - mkdir b1 |
475 | | - ./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 --addon=naming.json cli || ec=1 |
476 | | - ./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 --addon=naming.json --enable=internal lib || ec=1 |
477 | | - # check gui with qt settings |
478 | | - mkdir b2 |
479 | | - ./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b2 -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB --library=qt --addon=naming.json -Icmake.output/gui -Igui gui/*.cpp cmake.output/gui || ec=1 |
480 | | - # self check test and tools |
481 | | - ./cppcheck $selfcheck_options $cppcheck_options -Icli test/*.cpp tools/*.cpp || ec=1 |
482 | | - # triage |
483 | | - ./cppcheck $selfcheck_options $cppcheck_options -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB --library=qt -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage || ec=1 |
484 | | - exit $ec |
0 commit comments