Commit Graph

241 Commits

Author SHA1 Message Date
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
Oliver Stöneberg aaa4425d90
added MinGW to CI and fixed local MinGW build (#3826) 2022-02-16 07:06:04 +01:00
Oliver Stöneberg 04b2a6f1c5
use Python version provided by platform in CI / prefer python3 (#3776) 2022-02-11 19:37:32 +01:00
Oliver Stöneberg 974dd5d49f
only use bundled tinyxml2 in CMake when configured to do so (#3806) 2022-02-06 13:02:52 +01:00
Oliver Stöneberg c2b5cdcca5
CI-windows.yml: added windows-2022, removed QT 5.9.9 and use msbuild instead of CMake for now (#3730) 2022-02-04 19:37:53 +01:00
Oliver Stöneberg 4af8734c29
release-windows.yml: disabled some unnecessary PCRE build options (#3778) 2022-02-02 13:00:54 +01:00
Oliver Stöneberg d928b57829
cache remaining Qt installations in CI (#3782) 2022-02-01 17:26:52 +01:00
Oliver Stöneberg 8f7770f512
added an include-what-you-use GitHub Action (#3759) 2022-02-01 17:19:19 +01:00
Oliver Stöneberg 842f2b2da7
use the latest clang and -O2 for sanitizer jobs (#3775) 2022-01-29 20:44:26 +01:00
Oliver Stöneberg 5ef3a41dc9
cache Qt installation in Windows CI jobs (#3769)
* CI-windows.yml: cache Qt installation

* release-windows.yml: store Qt version in env

* release-windows.yml: cache Qt installation
2022-01-28 19:44:39 +01:00
Oliver Stöneberg 7d26cb68d9
CI-unixish.yml: Use Qt version provided by the distro (#3729) 2022-01-24 21:55:48 +01:00
Oliver Stöneberg 55ff684f34
added unusedFunction self check to CI / cleanups (#3526) 2022-01-18 22:02:25 +01:00
Oliver Stöneberg 4b5fba19bd
added CMake option CPPCHK_GLIBCXX_DEBUG to make usage of _GLIBCXX_DEBUG in Debug build configurable (#3628) 2022-01-04 15:45:36 +01:00
Oliver Stöneberg 8502584dc1
avoid duplicated downloads in CI by caching files / aligned PCRE and Z3 versions in dev and release builds (#3612) 2022-01-04 11:16:28 +01:00
Oliver Stöneberg cc24d6fcef
Fix #9162 (Invalid --project files do not give any error) (#3177) 2021-12-19 12:36:11 +01:00
Oliver Stöneberg 0c3531ea61
CI-unixish.yml: added generated GUI files to self check and suppress known false positives for now (#3641) 2021-12-17 21:52:55 +01:00
Oliver Stöneberg ffae40d2f4
CI-unixish.yml: fixed syntax error (#3642) 2021-12-17 13:06:50 +01:00
Oliver Stöneberg 0e1590b43c
CI-unixish.yml: disabled GUI build on macos since Qt installation is flakey (#3634) 2021-12-16 17:45:34 +01:00
Oliver Stöneberg dafb2fe6a0
Test GUI build CMake in CI (#3621) 2021-12-15 19:36:34 +01:00
Oliver Stöneberg f79bb40e3d
scriptcheck.yml: avoid duplicated cppcheck builds (#3611) 2021-12-11 15:21:39 +01:00
chrchr-github 60fd53ec09
Fix release-windows workflow (#3552) 2021-11-08 16:54:56 +01:00
Daniel Marjamäki 31ddef5f91 skip 'install pcre' step in windows github action, it failed because curl timed out 2021-11-06 08:43:21 +01:00
Oliver Stöneberg 54d621555d
scan GUI sources with clang-tidy in CI (#3233)
* build UI dependencies before running clang-tidy

* clang-tidy.yml: enabled GUI sources and build some dependencies for clang-tidy

* work around missing dependency for Qt install step
2021-10-31 20:15:32 +01:00
Oliver Stöneberg 70dcc9544e
updated latest ubuntu version to 21.10 / updated to clang-tidy-13 (#3494) 2021-10-24 11:07:45 +02:00
Oliver Stöneberg 22a684d9e8
moved uncrustify into a separate GitHub action (#3515) 2021-10-18 07:24:54 +02:00
Daniel Marjamäki 27d7609d89 win_installer: update building. all files needed are collected in a single folder. the 'deploy' artifact will contain all the files. 2021-10-16 13:59:39 +02:00
Oliver Stöneberg 28955cea85
moved bug hunting in CI from defunct Travis job to (disabled) GitHub action (#3164) 2021-10-13 14:47:59 +02:00
Oliver Stöneberg f309925a7b
update latest Python in CI to 3.10 / use all available threads for pylint (#3493) 2021-10-11 19:14:46 +02:00
Oliver Stöneberg dd0f617d39
build GUI with oldest and newest available Qt5 version (#3225) 2021-10-09 16:09:20 +02:00
Daniel Marjamäki f0f4ee7d91 CI-windows.yml: write comment with :: 2021-10-03 00:16:44 +02:00
Daniel Marjamäki fc4e9ddbfc Disable test-clang-import.py in CI-windows 2021-10-02 23:54:51 +02:00
Daniel Marjamäki a6c98e9e60 Fixed #10482 (FP: misra-c2012-12.2) 2021-09-17 14:21:25 +02:00
Daniel Marjamäki 0f12003e07 crustify; check formatting in CI 2021-08-08 14:17:01 +02:00
amai2012 c60fdc25f9
Delete irc.yml (#3384) 2021-08-04 17:28:19 +02:00
Wolfgang Stöggl 462cd88784
Remove mirror option from install-qt-action (#3356)
The mirror option has been removed from the
jurplel/install-qt-action [1]
- Fixes warning in release-windows GitHub Action:
  build
  Unexpected input(s) 'mirror'

[1] https://github.com/jurplel/install-qt-action/commit/49465b8
2021-07-25 18:14:28 +02:00
Daniel Marjamäki 74ab8f1a48 misra; implemented rule 20.8 2021-07-22 08:46:28 +02:00
Daniel Marjamäki 6f7722873e CI; specify unix64 platform when running misra-test 2021-07-20 12:23:16 +02:00
Daniel Marjamäki f44a82856f misra; implement rule 8.7 2021-07-17 22:36:03 +02:00
Daniel Marjamäki 27bd543566 ci; Disable asan for self-check we have problems with that 2021-07-17 19:05:31 +02:00
Daniel Marjamäki 9d5c65fcce CI; Improved testing of misra addon 2021-07-11 17:24:14 +02:00