Skip to content

Commit b477c79

Browse files
Merge branch 'main' into chr_12612
2 parents 35393b0 + 34b9c45 commit b477c79

556 files changed

Lines changed: 57218 additions & 35309 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-tidy

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,14 @@ Checks: >
4848
-modernize-replace-auto-ptr,
4949
-modernize-return-braced-init-list,
5050
-modernize-type-traits,
51-
-modernize-use-auto,
5251
-modernize-use-designated-initializers,
5352
-modernize-use-nodiscard,
53+
-modernize-use-scoped-lock,
5454
-modernize-use-trailing-return-type,
5555
-performance-avoid-endl,
5656
-performance-inefficient-string-concatenation,
5757
-performance-no-automatic-move,
58+
-portability-avoid-pragma-once,
5859
-portability-simd-intrinsics,
5960
-portability-std-allocator-const,
6061
-readability-avoid-nested-conditional-operator,
@@ -69,11 +70,15 @@ Checks: >
6970
-readability-isolate-declaration,
7071
-readability-magic-numbers,
7172
-readability-suspicious-call-argument,
72-
-readability-uppercase-literal-suffix
73+
-readability-uppercase-literal-suffix,
74+
-readability-use-concise-preprocessor-directives
7375
WarningsAsErrors: '*'
74-
HeaderFilterRegex: '(cli|gui|lib|oss-fuzz|test|triage)\/[a-z]+\.h'
76+
HeaderFilterRegex: '(cli|gui|frontend|lib|oss-fuzz|test|triage)\/[a-z_]+\.h'
77+
ExcludeHeaderFilterRegex: 'ui_.*.h'
7578
CheckOptions:
7679
- key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
7780
value: '1'
7881
- key: readability-simplify-boolean-expr.SimplifyDeMorgan
7982
value: '0'
83+
- key: modernize-use-trailing-return-type.TransformFunctions
84+
value: false

.github/workflows/CI-cygwin.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,13 @@ defaults:
2020
shell: cmd
2121

2222
jobs:
23+
# TODO: add CMake build
2324
build_cygwin:
2425
strategy:
2526
matrix:
26-
os: [windows-2022]
27-
arch: [x64]
27+
# only use the latest windows-* as the installed toolchain is identical
28+
os: [windows-2025]
29+
platform: [x86_64]
2830
include:
2931
- platform: 'x86_64'
3032
packages: |
@@ -42,13 +44,13 @@ jobs:
4244
- name: Set up Cygwin
4345
uses: cygwin/cygwin-install-action@master
4446
with:
45-
platform: ${{ matrix.arch }}
47+
platform: ${{ matrix.platform }}
4648
packages: ${{ matrix.packages }}
4749

4850
# Cygwin will always link the binaries even if they already exist. The linking is also extremely slow. So just run the "check" target which includes all the binaries.
4951
- name: Build all and run test
5052
run: |
51-
C:\cygwin\bin\bash.exe -l -c cd %GITHUB_WORKSPACE% && make VERBOSE=1 -j2 check
53+
C:\cygwin\bin\bash.exe -l -c cd %GITHUB_WORKSPACE% && make VERBOSE=1 -j%NUMBER_OF_PROCESSORS% CXXOPTS="-Werror" test
5254
5355
- name: Extra test for misra
5456
run: |

.github/workflows/CI-mingw.yml

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,18 @@ defaults:
2020
shell: msys2 {0}
2121

2222
jobs:
23+
# TODO: add CMake build
2324
build_mingw:
2425
strategy:
2526
matrix:
26-
# the MinGW installation in windows-2019 is supposed to be 8.1 but it is 12.2
27-
# the MinGW installation in windows-2022 is not including all necessary packages by default, so just use the older image instead - package versions are he same
28-
os: [windows-2019]
27+
# only use the latest windows-* as the installed toolchain is identical
28+
os: [windows-2025]
2929
fail-fast: false
3030

3131
runs-on: ${{ matrix.os }}
3232

33+
timeout-minutes: 19 # max + 3*std of the last 7K runs
34+
3335
steps:
3436
- uses: actions/checkout@v4
3537
with:
@@ -39,36 +41,35 @@ jobs:
3941
uses: msys2/setup-msys2@v2
4042
with:
4143
release: false # use pre-installed
44+
# TODO: install mingw-w64-x86_64-make and use mingw32.make instead - currently fails with "Windows Subsystem for Linux has no installed distributions."
4245
install: >-
4346
mingw-w64-x86_64-lld
4447
mingw-w64-x86_64-ccache
48+
make
49+
mingw-w64-x86_64-gcc
4550
4651
- name: ccache
4752
uses: hendrikmuhs/ccache-action@v1.2
4853
with:
4954
key: ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }}
5055

51-
# TODO: bail out on warning
5256
- name: Build cppcheck
5357
run: |
5458
export PATH="/mingw64/lib/ccache/bin:$PATH"
5559
# set RDYNAMIC to work around broken MinGW detection
56-
make VERBOSE=1 RDYNAMIC=-lshlwapi -j2 cppcheck
57-
env:
58-
LDFLAGS: -fuse-ld=lld # use lld for faster linking
60+
# use lld for faster linking
61+
make VERBOSE=1 RDYNAMIC=-lshlwapi LDOPTS=-fuse-ld=lld -j$(nproc) CXXOPTS="-Werror" cppcheck
5962
6063
- name: Build test
6164
run: |
6265
export PATH="/mingw64/lib/ccache/bin:$PATH"
6366
# set RDYNAMIC to work around broken MinGW detection
64-
make VERBOSE=1 RDYNAMIC=-lshlwapi -j2 testrunner
65-
env:
66-
LDFLAGS: -fuse-ld=lld # use lld for faster linking
67+
# use lld for faster linking
68+
make VERBOSE=1 RDYNAMIC=-lshlwapi LDOPTS=-fuse-ld=lld -j$(nproc) CXXOPTS="-Werror" testrunner
6769
6870
- name: Run test
6971
run: |
7072
export PATH="/mingw64/lib/ccache/bin:$PATH"
7173
# set RDYNAMIC to work around broken MinGW detection
72-
make VERBOSE=1 RDYNAMIC=-lshlwapi -j2 check
73-
env:
74-
LDFLAGS: -fuse-ld=lld # use lld for faster linking
74+
# use lld for faster linking
75+
make VERBOSE=1 RDYNAMIC=-lshlwapi LDOPTS=-fuse-ld=lld -j$(nproc) CXXOPTS="-Werror" test

.github/workflows/CI-unixish-docker.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,11 @@ jobs:
2020

2121
strategy:
2222
matrix:
23-
image: ["ubuntu:24.04", "ubuntu:24.10"]
23+
image: ["ubuntu:24.04"]
2424
include:
2525
- build_gui: false
2626
- image: "ubuntu:24.04"
2727
build_gui: true
28-
- image: "ubuntu:24.10"
29-
build_gui: true
3028
fail-fast: false # Prefer quick result
3129

3230
runs-on: ubuntu-22.04
@@ -67,13 +65,13 @@ jobs:
6765
run: |
6866
mkdir cmake.output
6967
cd cmake.output
70-
cmake -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache ..
68+
cmake -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_COMPILE_WARNING_AS_ERROR=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache ..
7169
cmake --build . -- -j$(nproc)
7270
7371
- name: CMake build (with GUI)
7472
if: matrix.build_gui
7573
run: |
76-
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On -DWITH_QCHART=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
74+
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DBUILD_TRIAGE=On -DCMAKE_COMPILE_WARNING_AS_ERROR=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
7775
cmake --build cmake.output -- -j$(nproc)
7876
7977
- name: Run CMake test
@@ -84,7 +82,7 @@ jobs:
8482

8583
strategy:
8684
matrix:
87-
image: ["ubuntu:24.04", "ubuntu:24.10"]
85+
image: ["ubuntu:24.04"]
8886
fail-fast: false # Prefer quick result
8987

9088
runs-on: ubuntu-22.04
@@ -113,21 +111,21 @@ jobs:
113111
- name: Build cppcheck
114112
run: |
115113
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
116-
make -j$(nproc) HAVE_RULES=yes CXXFLAGS="-w"
114+
make -j$(nproc) HAVE_RULES=yes CXXOPTS="-Werror"
117115
118116
- name: Build test
119117
run: |
120118
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
121-
make -j$(nproc) testrunner HAVE_RULES=yes CXXFLAGS="-w"
119+
make -j$(nproc) HAVE_RULES=yes CXXOPTS="-Werror" testrunner
122120
123121
- name: Run test
124122
run: |
125-
make -j$(nproc) check HAVE_RULES=yes
123+
make -j$(nproc) HAVE_RULES=yes test
126124
127125
# requires python3
128126
- name: Run extra tests
129127
run: |
130-
tools/generate_and_run_more_tests.sh
128+
test/scripts/generate_and_run_more_tests.sh
131129
132130
# requires which
133131
- name: Validate

0 commit comments

Comments
 (0)