Commit Graph

280 Commits

Author SHA1 Message Date
Daniel Marjamäki 7726a5b5b3
Add a --check-level option (#4942) 2023-04-09 13:48:13 +02:00
Oliver Stöneberg b04812b0e8
CI-unixish-docker.yml: disabled precompiled headers when using `ccache` with CMake (#4943) 2023-04-08 22:21:11 +02:00
Oliver Stöneberg 5be8eee943
iwyu.yml: use a distro which has the latest `include-what-you-use` / enabled Qt mappings / cleaned up includes (#4885) 2023-04-08 16:08:47 +02:00
Oliver Stöneberg 5ec0ad6bed
use `ccache` for sanitizer builds / do not use precompiled headers with `ccache` (#4910)
* added CMake option `DISABLE_DMAKE` to disable `run-dmake` dependencies

* tools/CMakeLists.txt: added TODO

* use `ccache` for sanitizer builds

* aligned selfcheck between sanitizer workflows and disabled some currently unnecessary steps

* CI-unixish.yml: do not use precompiled headers with `ccache`
2023-04-01 09:40:10 +02:00
Oliver Stöneberg 0b8af4fff7
some minor `QtCharts` usage cleanups (#4890) 2023-03-13 15:44:00 +01:00
Oliver Stöneberg 7fd4118d60
Fix #10039 (integrate `--check-config` include findings with normal analysis) / also fixes #11283 (#3229) 2023-03-04 09:02:35 +01:00
Oliver Stöneberg 50eb0641b9
iwyu.yml: added `clang-include-cleaner` job / cleaned up includes based on `include-what-you-use` (#4844) 2023-03-04 08:53:19 +01:00
Oliver Stöneberg bd1ae69b00
cleaned up includes based on `include-what-you-use` (#4599) 2023-03-02 21:50:14 +01:00
Oliver Stöneberg 7c73ecfec7
CI-windows.yml: removed Qt 6.3 from build matrix (#4829) 2023-03-02 21:43:58 +01:00
Oliver Stöneberg 514e605598
CI-unixish.yml: fixed and enabled all `build` steps for macos (#4832) 2023-03-02 20:54:30 +01:00
Oliver Stöneberg 36192c50f6
removed unnecessary OSS-Fuzz related builds from CI (#4827) 2023-02-25 15:40:12 +01:00
Oliver Stöneberg 367847cf57
updated CI to Clang 16 (#4641) 2023-02-15 19:46:13 +01:00
Oliver Stöneberg 26bb55154f
CI-windows.yml: updated to Qt 6.4.2 in CI (#4588) 2023-02-12 16:03:11 +01:00
Oliver Stöneberg a846bc2d99
added precompiled header for `cli` (#4779) 2023-02-08 21:11:11 +01:00
Oliver Stöneberg 66758d65f9
updated precompiled headers based on `ClangBuildAnalyzer` (#4775) 2023-02-08 08:19:21 +01:00
Oliver Stöneberg b097eca2ec
added handling of library element `entrypoint` to GUI / added GUI tests to CTest (#4744) 2023-01-27 19:43:08 +01:00
Oliver Stöneberg a0b1285f4a
added CMake option `BUILD_CORE_DLL` to build lib as `cppcheck-core.dll` with Visual Studio (#4733) 2023-01-26 22:13:07 +01:00
Oliver Stöneberg 689dfd29c1
updated workflows to `jurplel/install-qt-action@v3` (#4708)
* updated workflows to `jurplel/install-qt-action@v3`

* release-windows.yml: removed installation of unavailable `qthelp` module

* release-windows.yml: do not hard-code `tools_openssl_x64` version
2023-01-18 17:04:21 +01:00
Oliver Stöneberg 7876e1064f
valgrind.yml: actually fail the workflow when an error is detected (#4716) 2023-01-18 17:01:26 +01:00
Oliver Stöneberg aab3d30e4c
valgrind.yml: use `debuginfod-find` instead of manually installing packages (#4685) 2023-01-07 23:31:22 +01:00
Daniel Marjamäki 41b5f454a8 release-windows: compile misra executable 2023-01-02 19:07:22 +01:00
Oliver Stöneberg 8bb5ac0efd
improved `MathLib::to{ULong|Long|Double}Number()` and increased test coverage / added CMake option `USE_LIBCXX` / fixed #10695 (#4611) 2022-12-07 09:20:09 +01:00
Oliver Stöneberg 926bab9aba
CI-cygwin.yml: removed `x86` since it is no longer supported (#4598) 2022-11-25 23:13:28 +01:00
Oliver Stöneberg 01abf4c347
fixed macos build by manually installing `pcre` (#4597)
* Makefile: bail out if `pcre-config` is missing

* CI-unixish.yml: install `pcre` for `macos` via `brew` since it suddenly disappeared from the runner images
2022-11-25 15:11:57 +01:00
DavidKorczynski 9e09ccca86
CI: Add CIFuzz integration (#4590) 2022-11-20 22:36:28 +01:00
Daniel Marjamäki d19bb758bd win_installer: copy openssl from Qt tools folder 2022-11-02 12:11:13 +01:00
Oliver Stöneberg 8672e12a7a
added/updated to Python 3.11 in CI (#4565)
* added/updated to Python 3.11 in CI

* specify `check-latest: true` for `actions/setup-python` so we always use the latest version

* scriptcheck.yml: added note about `shellcheck`
2022-10-25 21:53:02 +02:00
Oliver Stöneberg 0fc142c18f
CI-unixish-docker.yml: added `ubuntu:22.10` (#4562)
* CI-unixish-docker.yml: added `ubuntu:22.10`

* CI-unixish-docker.yml: adjusted name of step
2022-10-22 00:27:42 +02:00
Daniel Marjamäki 49f1282ce1 win_installer: install network dlls needed by the GUI 2022-10-19 18:23:32 +02:00
Oliver Stöneberg ca9747cf7d
address most Node.js 12 deprecation warnings in GitHub workflows (#4546) 2022-10-11 19:50:59 +02:00
Oliver Stöneberg b0eeb5d044
selfcheck.yml: re-enable core checks in `callgrind` step (#4538) 2022-10-09 07:39:32 +02:00
Oliver Stöneberg 9f7a725983
added environment variable `UNUSEDFUNCTION_ONLY` to make sure only the `unusedFunction` check is being executed (#4362) 2022-10-06 20:54:24 +02:00
Oliver Stöneberg cb095835e0
fixed `valgrind` workflow (#4537) 2022-10-05 22:05:08 +02:00
Oliver Stöneberg 6c11e2a4ee
CI-windows.yml: added Qt 6.4.0 / updated Qt to 6.3.2 (#4531) 2022-10-02 07:13:49 +02:00
Oliver Stöneberg 73cf54a333
re-enabled valgrind in CI (#4516) 2022-09-29 22:00:08 +02:00
Oliver Stöneberg 0ab7116891
refs #10700 - donate-cpu-server.py: added query parameter `pkgs` to some reports to request a list of affected packages (#3743) 2022-09-29 21:55:44 +02:00
Oliver Stöneberg 441f9b9509
selfcheck.yml: added `callgrind` step for basic (core) performance tracking (#4171) 2022-09-28 19:32:22 +02:00
Oliver Stöneberg b9e07e918e
enabled and fixed `readability-named-parameter` clang-tidy warnings (#4487) 2022-09-27 20:03:25 +02:00
Oliver Stöneberg 18db69c078
enabled Boost usage in optimized CI builds (#4512) 2022-09-27 18:49:18 +02:00
Oliver Stöneberg fd9d05300e
handle precompiled headers with `ccache` / fixed caching in some docker builds (#4505)
* CI-unixish.yml: handle precompiled headers with `ccache`

* actually support `ccache` in CMake < 3.17

* CI-unixish-docker.yml: split CMake build and test execution into separate steps

* findDependencies.cmake: only print message about macthcompiler being disabled when it is actually used

* CI-unixish-docker.yml: added missing `ccache` CMake options
2022-09-26 18:21:43 +02:00
Oliver Stöneberg 657d9143f7
cleaned up includes based on include-what-you-use (#4502)
* iwyu.yml: include internal check sources

* cleaned up includes based on include-what-you-use
2022-09-25 09:20:34 +02:00
Oliver Stöneberg b973a86ee1
include internal checks source in selfchecks and static analysis (#4503) 2022-09-24 22:14:04 +02:00
Oliver Stöneberg 872be6564b
coverage.yml: updated `codecov/codecov-action` to `v3` (#4501) 2022-09-24 08:21:51 +02:00
Oliver Stöneberg b3ec225480
iwyu.yml: use `debian:unstable` to always get latest include-what-you-use / cleaned up includes (#4466)
* iwyu.yml: use debian:unstable to always get latest include-what-you-use

* cleaned up includes based on include-what-you-use

* mitigated include-what-you-use false positives
2022-09-16 07:15:49 +02:00
Oliver Stöneberg a536d53d62
CI-unixish.yml: actually perform qmake build on macos (#4418) 2022-09-15 20:26:21 +02:00
Oliver Stöneberg 9542a7b3cc
Makefile: some cleanups / added `VERBOSE` option (#4438) 2022-09-09 15:06:40 +02:00
Oliver Stöneberg 48874e3aaf
CI-windows.yml: untangle Qt and regular builds (#4454) 2022-09-08 19:38:28 +02:00
Oliver Stöneberg 54771306c5
selfcheck : cleaned up some suppressions, fixed warnings and some cleanups (#4436)
* cleaned up triage.pro and pass all triage files to selfcheck

* CI-unixish.yml: factored out redundant selfcheck flags

* CI-unixish.yml: cleaned up selfcheck suppressions and fixed warnings

* added explicit `missingInclude` checks to selfcheck to work around current issues/limitations / fixed selfcheck includes / added some unit tests for `missingInclude`

* applied the selfcheck changes to the sanitizer jobs

* only fail TSAN CI build in case of TSAN error / updated sanitizer CI build TODOs
2022-09-06 23:11:39 +02:00
Oliver Stöneberg b3762cd76a
actually perform system tinyxml2 build on macos / fixed system tinyxml2 include (#4445)
* lib/CMakeLists.txt: removed unnecessary external include

* look up tinyxml2 include dir when using system one and specify it

* lib/CMakeLists.txt: do not treat bundled headers as system ones

* CI-unixish.yml: actually perform system tinyxml2 build on macos
2022-09-06 18:30:59 +02:00
Oliver Stöneberg 3d10e67b3d
CI-unixish.yml: use `ccache` for some macos builds / cleanups (#4439) 2022-09-05 21:36:53 +02:00
Oliver Stöneberg 363dd309fd
CI-unixish-docker.yml: fixed missing ubuntu 16.04 build (#4437) 2022-09-04 16:04:31 +02:00
Oliver Stöneberg c433f906bc
use `ccache` for Linux gcc CMake CI builds (#4426)
* modernized some CMake invocations

* CI-unixish.yml: use `ccache` for Linux gcc CMake builds

* CI-unixish-docker.yml: use `ccache` for Linux gcc CMake builds

* CI-unixish-docker.yml: enabled CMake build with tests for more images

* CI-unixish-docker.yml: adjusted some step checks
2022-09-04 10:27:20 +02:00
Oliver Stöneberg 0f5d2a31b3
coverage.yml: avoid unnecessary test execution and package installation / come cleanups (#4434)
* coverage.yml: avoid duplicated test execution

* coverage.yml: split test execution and report generation into separate steps

* coverage.yml: split software and Python package installation into separate steps

* coverage.yml: removed unnecessary `libcppunit-dev` installation - library headers are only needed when performing syntax checking
2022-09-04 10:25:59 +02:00
Oliver Stöneberg 070bae871a
use `ccache` for Linux gcc make CI builds (#4411) 2022-09-03 21:21:24 +02:00
Oliver Stöneberg b7e5b702a4
CI-unixish.yml: split workflow into parallel jobs (#4417) 2022-09-02 15:56:17 +02:00
Oliver Stöneberg 6c72a27c2c
CI-unixish-docker.yml: perform make and CMake builds in parallel (#4415)
* CI-unixish-docker.yml: perform make and CMake builds in parallel

* CI-unixish-docker.yml: cleanups

* CI-unixish-docker.yml: only install necessary packages
2022-08-29 12:27:23 +02:00
Oliver Stöneberg f0ac0d8910
codeql-analysis.yml: updated actions to v2 (#4407) 2022-08-27 15:50:13 +02:00
Oliver Stöneberg 732282fe06
added initial usage of `ccache` in the CI (#4408) 2022-08-27 15:06:16 +02:00
Oliver Stöneberg d26eb3903e
moved deprecated `ubuntu-18.04` from `CI-unixish.yml` to `CI-unixish-docker.yml` (#4409) 2022-08-27 15:05:40 +02:00
Oliver Stöneberg dd4c9ae902
codeql-analysis.yml: added missing permission (#4406) 2022-08-27 09:29:40 +02:00
Oliver Stöneberg cf1271889a
reduced permissions of GitHub actions (#4403) 2022-08-26 23:25:07 +02:00
Oliver Stöneberg d12f4fdd6b
updated CI to clang-15 (#4386) 2022-08-25 15:28:39 +02:00
Oliver Stöneberg 19e9712762
install latest clang from `apt.llvm.org` repo instead of relying on distro packages - eliminates need for docker images (#4372) 2022-08-23 21:40:31 +02:00
Oliver Stöneberg 467648bec6
fixed #11249 (potential hang with -j and --showtime= when using threads) - synchronized access to `TimerResults::mResults` / added TSAN to CI (#4355) 2022-08-23 20:30:45 +02:00
Oliver Stöneberg 4b00fbfda6
CI-windows.yml: updated Qt 6.3 to `6.3.1` (#4347) 2022-08-13 08:29:21 +02:00
Oliver Stöneberg fc6b79a5e6
cache PCRE build in Windows CI jobs (#3770) 2022-08-07 19:04:10 +02:00
Oliver Stöneberg b13e42978c
CI-windows.yml: use `v2` of `jurplel/install-qt-action` (#4331) 2022-08-02 15:51:28 +02:00
Daniel Marjamäki a64a5e1496 ci: remove macos-10.15 job, it has been deprecated 2022-07-21 19:14:17 +02:00
Oliver Stöneberg bc58f55c6e
donate-cpu: greatly improved `LibraryIncludes.get_libraries()` performance / some optimizations and cleanups (#4273)
* donate_cpu_lib.py: use `os.path.join()`

* donate-cpu: removed remaining usage of `os.chdir()`

* donate_cpu_lib.py: moved library includes code into class

* donate_cpu_lib.py: pre-compile library include regular expressions

* donate_cpu_lib.py: pre-compile some more regular expressions

* donate_cpu_lib.py: small unpack_package() cleanup and optimization

* donate_cpu_lib.py: added some information about the extracted files to unpack_package()

* donate_cpu_lib.py: bumped version

* added test_donate_cpu_lib.py

* donate_cpu_lib.py: greatly improved `LibraryIncludes.get_libraries()` performance

only scan each file once for previously undetected libraries only

* test_donate_cpu_lib.py: fix for Python 3.5

* scriptcheck.yml: added `-v` to pytest calls so we get the complete diff on assertions

* fixed `test_arguments_regression()` Python tests with additional pytest arguments

* donate_cpu_lib.py: use `subprocess.check_call()`

* test_donate_cpu_lib.py: sort results to address differences in order with Python 3.5
2022-07-13 21:09:29 +02:00
Oliver Stöneberg 05a1e92e35
speed up MinGW and Cygwin CI builds by avoiding repeated linking (#4274)
* speed up MinGW and Cygwin CI builds by avoiding repeated linking

* updated some CI jobs to `windows-2022`
2022-07-13 21:09:07 +02:00
chrchr-github 21d992cc00
Fix crash on Windows with -j option (#4229)
* Fix crash on Windows with -j option

* Disable CI-cygwin workflow

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Try to fix Cygwin build

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Update CI-cygwin.yml

* Cygwin uses THREADING_MODEL_FORK

* Restore workflows

* Remove comment

* Fix dmake

* Fix #11179 FP invalidFunctionArgStr

* Revert "Fix #11179 FP invalidFunctionArgStr"

This reverts commit dd5d3e67c6.
2022-07-13 13:46:03 +02:00
Daniel Marjamäki a2b50c1ccf ci: fix syntax error in scriptcheck.yml 2022-06-16 10:28:55 +02:00
Daniel Marjamäki 7999808639 ci: disable pylint because it fails to import files 2022-06-16 09:09:44 +02:00
Paul Fultz II cee48e5e19
Add backtrace to valueflow in debug mode (#4195) 2022-06-12 07:13:42 +02:00
Daniel Marjamäki 858b64332e remove sonarcloud again 2022-06-05 21:40:10 +02:00
Daniel Marjamäki d595c1e6e8 Add sonarcloud action 2022-06-04 18:02:17 +02:00
Oliver Stöneberg cfab6aeecf
use CMake for sanitizer builds / some CMake command cleanups (#4147) 2022-06-03 21:33:56 +02:00
Oliver Stöneberg 703396e549
use `ubuntu-22.04` as main/base distro in CI (#4129) 2022-05-31 19:55:57 +02:00
Oliver Stöneberg 5e2afacdb9
Moved some stuff from Travis to GitHub Actions / Cleanups (#3715) 2022-05-31 19:53:50 +02:00
Paul Fultz II eefa04c7af
Disable valgrind on CI (#4137)
* Disable valgrind on CI

* Use workflow dispatch
2022-05-25 21:36:59 +02:00
Oliver Stöneberg d299d22fa2
updated CI to latest ubuntu and clang (#4004) 2022-05-22 15:27:32 +02:00
Oliver Stöneberg 8cd127aba8
CI-unixish.yml: added `macos-11` and `macos-12` (#4117) 2022-05-21 09:07:14 +02:00
Daniel Marjamäki 8dbc1b802a misra: fix crash 2022-05-17 22:15:49 +02:00
Patrick Oppenlander d7317b4f8a
fix html report generation with pygments >= 2.12.0 (#4110)
pygments 2.12.0 changed the signature of the HtmlFormatter.wrap()
method. As we don't actually care about the arguments to wrap we can
use packing/unpacking to maintain compatability with older versions of
pygments.
2022-05-16 12:58:54 +02:00
Oliver Stöneberg 14421ae627
fail `run-clang-tidy` in case of compiler warnings / fixed Clang warnings / cleanups (#4036) 2022-05-15 12:42:29 +02:00
Oliver Stöneberg fffb03a242
release-windows.yml: use windows-2022 (#3939) 2022-05-13 19:48:17 +02:00
Oliver Stöneberg 1f9929c65f
always execute all selfcheck commands / aligned the selfcheck parameters and calls across jobs (#4108)
* always execute all selfcheck commands

* aligned the selfcheck parameters and calls across jobs
2022-05-13 06:52:20 +02:00
Oliver Stöneberg 56ac230e97
added strict cfg check (#4093)
* runtests.sh: added strict mode - enabled via `STRICT=1`

* CI-unixish.yml: added strict cfg check

* runtests.sh: disabled syntax check for kde.cpp since `kde-4config` is no longer commonly available in recent distros

* runtests.sh: disabled syntax check for opencv2.cpp since `opencv.pc` is not commonly available in distros

* runtests.sh: added missing trailing slash to `CFG` - fixes define checks
2022-05-10 13:03:58 +02:00
Oliver Stöneberg 47c7287b8d
scriptcheck.yml: fixated pygments version and re-enabled all Python versions (#4068) 2022-05-05 21:49:01 +02:00
chrchr-github 3b30cd7ea8
Show uncrustify diff in CI (#4081)
* Show uncrustify diff

* Bad format

* Revert "Bad format"

This reverts commit d82a13a398.
2022-05-04 21:14:43 +02:00
Paul Fultz II f48d1690a7
Disable the broken python version in the CI (#4048) 2022-04-25 18:14:17 +02:00
Oliver Stöneberg 36ef4dc5b8
added support for Qt6 (#3930) 2022-04-15 18:49:24 +02:00
Oliver Stöneberg 07fb6c1853
release-windows.yml: set up Visual Studio environment and added missing exitcode checks (#3998) 2022-04-11 19:16:58 +02:00
Oliver Stöneberg 2d9ec39a2d
make sure we remove obsolete entries from translations (#3995) 2022-04-11 11:25:08 +02:00
Daniel Marjamäki 8f386e15fd Remove bug hunting. This feature will be provided in Cppcheck premium. 2022-04-11 07:31:33 +02:00
Oliver Stöneberg e7f97a9621
updated Z3 to 4.8.15 (#3928) 2022-03-23 12:47:01 +01:00
Oliver Stöneberg 8fc5c93803
refactored reduce.py into a class and added unit test for it (#3791) 2022-03-19 19:42:44 +01:00
Armin Müller 7cc45fb393
Typos found by running "codespell" (#3907)
Co-authored-by: Armin Müller <mueller.armin@foestergroup.de>
2022-03-16 15:28:44 +01:00
Oliver Stöneberg e208fc67c1
small selfcheck improvements (#3888)
* CI-unixish.yml: added missing cppcheck-lib library to GUI selfcheck

* CI-unixish.yml: split triage from tools selfcheck since it requires the qt library

* replaced Q_NULLPTR with nullptr

* fixed passedByValue selfcheck warning
2022-03-11 21:42:46 +01:00
Daniel Marjamäki 03deb4d31e addons: interface with premiumaddon if it exists 2022-02-24 16:08:59 +01:00