Skip to content

Commit bcd3c08

Browse files
committed
Merge branch 'main' into p3409
2 parents bfcfa6d + d01727f commit bcd3c08

File tree

129 files changed

+3259
-563
lines changed

Some content is hidden

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

129 files changed

+3259
-563
lines changed

.codespellignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
cancelled
2+
copyable
3+
pullrequest
4+
snd
5+
statics

.codespellrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ builtin = clear,rare,en-GB_to_en-US,names,informal,code
33
check-hidden =
44
skip = ./.git,./build/*,./stagedir/*,./docs/html/*,./docs/latex/*,*.log,.*.swp,*~,*.bak,Makefile
55
quiet-level = 2
6-
# ignore-words = .ignore-words
6+
ignore-words = .codespellignore

.devcontainer/devcontainer.json

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
1-
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
2-
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
3-
// README at: https://github.com/devcontainers/templates/tree/main/src/cpp
4-
51
{
6-
"name": "Beman Project Generic Devcontainer",
7-
"build": {
8-
"dockerfile": "Dockerfile"
9-
},
10-
"postCreateCommand": "bash .devcontainer/postcreate.sh",
11-
"customizations": {
12-
"vscode": {
13-
"extensions": [
14-
"ms-vscode.cpptools",
15-
"ms-vscode.cmake-tools"
16-
]
17-
}
18-
}
2+
"name": "Beman Project Generic Devcontainer",
3+
"build": {
4+
"dockerfile": "Dockerfile"
5+
},
6+
"postCreateCommand": "bash .devcontainer/postcreate.sh",
7+
"customizations": {
8+
"vscode": {
9+
"extensions": [
10+
"ms-vscode.cpptools",
11+
"ms-vscode.cmake-tools"
12+
]
13+
}
14+
}
1915
}

.github/CODEOWNERS

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1-
# code owners for reviews on PRs
1+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
2+
# Codeowners for reviews on PRs
23

3-
* @dietmarkuehl
4+
* @dietmarkuehl @camio @neatudarius

.github/workflows/linux.yml

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,23 @@ on:
99
paths:
1010
- "include/**"
1111
- "src/**"
12-
- "test/**"
12+
- "tests/**"
13+
- "examples/**"
14+
- "cmake/**"
15+
- "Makefile"
16+
- "CMakePresets.json"
1317
- "CMakeLists.txt"
1418
- ".github/workflows/linux.yml"
1519
pull_request:
1620
branches: ["main"]
1721
paths:
1822
- "include/**"
1923
- "src/**"
20-
- "test/**"
24+
- "tests/**"
25+
- "examples/**"
26+
- "cmake/**"
27+
- "Makefile"
28+
- "CMakePresets.json"
2129
- "CMakeLists.txt"
2230
- ".github/workflows/linux.yml"
2331

@@ -28,8 +36,8 @@ jobs:
2836
fail-fast: false
2937

3038
matrix:
31-
# TODO: sanitizer: [debug, release, asan, usan, tsan]
32-
sanitizer: [debug, release]
39+
# TODO: sanitizer: [debug, release, asan, usan, tsan, lsan, msan]
40+
preset: [debug, release]
3341
compiler: [g++-14, clang++-19]
3442

3543
steps:
@@ -42,5 +50,9 @@ jobs:
4250
chmod +x llvm.sh
4351
sudo ./llvm.sh 19 all
4452
45-
- name: Linux ${{ matrix.compiler }} ${{ matrix.sanitizer }}
46-
run: CXX=${{ matrix.compiler }} make ${{ matrix.sanitizer }}
53+
- name: Linux ${{ matrix.compiler }} ${{ matrix.preset }}
54+
run: CXX=${{ matrix.compiler }} cmake --workflow --preset ${{ matrix.preset }}
55+
56+
- name: Linux ${{ matrix.compiler }} sanitizer
57+
if: startsWith(matrix.preset, 'debug')
58+
run: CXX=${{ matrix.compiler }} make all

.github/workflows/macos.yml

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,23 @@ on:
99
paths:
1010
- "include/**"
1111
- "src/**"
12-
- "test/**"
12+
- "tests/**"
13+
- "examples/**"
14+
- "cmake/**"
15+
- "Makefile"
16+
- "CMakePresets.json"
1317
- "CMakeLists.txt"
1418
- ".github/workflows/macos.yml"
1519
pull_request:
1620
branches: ["main"]
1721
paths:
1822
- "include/**"
1923
- "src/**"
20-
- "test/**"
24+
- "tests/**"
25+
- "examples/**"
26+
- "cmake/**"
27+
- "Makefile"
28+
- "CMakePresets.json"
2129
- "CMakeLists.txt"
2230
- ".github/workflows/macos.yml"
2331

@@ -28,7 +36,7 @@ jobs:
2836
fail-fast: false
2937

3038
matrix:
31-
sanitizer: [debug, release]
39+
preset: [debug, release]
3240
# TODO: compiler: [g++, clang++-19]
3341
compiler: [g++, clang++-18]
3442

@@ -49,10 +57,19 @@ jobs:
4957
run: |
5058
brew install llvm@19 || echo ignored
5159
52-
- name: macos clang++-18 ${{ matrix.sanitizer }}
60+
- name: macos clang++-18 ${{ matrix.preset }}
5361
if: startsWith(matrix.compiler, 'clang')
54-
run: CXX=$(brew --prefix llvm@18)/bin/clang++ make ${{ matrix.sanitizer }}
62+
run: CXX=$(brew --prefix llvm@18)/bin/clang++ cmake --workflow --preset ${{ matrix.preset }}
5563

56-
- name: macos g++ ${{ matrix.sanitizer }}
64+
- name: macos clang++-18 sanitizer
65+
if: startsWith(matrix.compiler, 'clang') && startsWith(matrix.preset, 'debug')
66+
run: CXX=$(brew --prefix llvm@18)/bin/clang++ make all
67+
68+
- name: macos g++ ${{ matrix.preset }}
5769
if: startsWith(matrix.compiler, 'g++')
58-
run: CXX=${{ matrix.compiler }} make ${{ matrix.sanitizer }}
70+
run: CXX=${{ matrix.compiler }} cmake --workflow --preset ${{ matrix.preset }}
71+
72+
# TODO: fails with AppleClang 16.0.0 on CI!
73+
# - name: macos g++ sanitizer
74+
# if: startsWith(matrix.compiler, 'g++') && startsWith(matrix.preset, 'debug')
75+
# run: CXX=${{ matrix.compiler }} make all

.github/workflows/pre-commit.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: Lint Check (pre-commit)
2+
3+
on:
4+
pull_request:
5+
push:
6+
7+
jobs:
8+
pre-commit:
9+
runs-on: ubuntu-latest
10+
name: pre-commit
11+
permissions:
12+
contents: read
13+
checks: write
14+
issues: write
15+
pull-requests: write
16+
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v4
20+
21+
- name: Set up Python
22+
uses: actions/setup-python@v5
23+
with:
24+
python-version: 3.13
25+
26+
- name: Get Changed Files
27+
id: changed-files
28+
uses: tj-actions/changed-files@v45
29+
30+
# See:
31+
# https://github.com/tj-actions/changed-files?tab=readme-ov-file#using-local-git-directory-
32+
- uses: pre-commit/[email protected]
33+
with:
34+
extra_args: --files ${{ steps.changed-files.outputs.all_changed_files }}
35+
continue-on-error: true
36+
37+
- name: suggester / pre-commit
38+
if: ${{ github.event_name == 'pull_request' }}
39+
uses: reviewdog/action-suggester@v1
40+
with:
41+
tool_name: pre-commit
42+
level: warning
43+
reviewdog_flags: "-fail-level=error"

.github/workflows/windows.yml

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,21 @@ on:
99
paths:
1010
- "include/**"
1111
- "src/**"
12-
- "test/**"
12+
- "tests/**"
13+
- "examples/**"
14+
- "cmake/**"
15+
- "CMakePresets.json"
1316
- "CMakeLists.txt"
1417
- ".github/workflows/windows.yml"
1518
pull_request:
1619
branches: ["main"]
1720
paths:
1821
- "include/**"
1922
- "src/**"
20-
- "test/**"
23+
- "tests/**"
24+
- "examples/**"
25+
- "cmake/**"
26+
- "CMakePresets.json"
2127
- "CMakeLists.txt"
2228
- ".github/workflows/windows.yml"
2329

@@ -28,8 +34,7 @@ jobs:
2834
fail-fast: false
2935

3036
matrix:
31-
# TODO: sanitizer: [debug, release]
32-
sanitizer: [release]
37+
preset: [debug, release]
3338
# TODO: compiler: [cl, clang-cl]
3439
compiler: [cl]
3540

@@ -44,18 +49,18 @@ jobs:
4449
# - name: build environment
4550
# run: pip install -r requirements.txt
4651

47-
- name: cmake workflow ${{ matrix.sanitizer }}
52+
- name: cmake workflow ${{ matrix.preset }}
4853
shell: bash
4954
run: |
5055
cmake --version
5156
ninja --version
52-
CXX=${{ matrix.compiler }} cmake --workflow --preset ${{ matrix.sanitizer }}
57+
CXX=${{ matrix.compiler }} cmake --workflow --preset ${{ matrix.preset }}
5358
5459
# - name: configure
55-
# run: CXX=${{ matrix.compiler }} cmake --preset ${{ matrix.sanitizer }}
60+
# run: CXX=${{ matrix.compiler }} cmake --preset ${{ matrix.preset }}
5661

5762
# - name: build
58-
# run: cmake --build --preset ${{ matrix.sanitizer }}
63+
# run: cmake --build --preset ${{ matrix.preset }}
5964

6065
# - name: ctest
61-
# run: ctest --preset ${{ matrix.sanitizer }}
66+
# run: ctest --preset ${{ matrix.preset }}

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# User-defined Presets
2+
CMakeUserPresets.json
3+
14
# Prerequisites
25
*.d
36

@@ -42,4 +45,4 @@ CMakeCache.txt
4245
CMakeFiles/
4346

4447
docs/html
45-
docs/latex
48+
docs/latex

.markdownlint.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.35.0/doc/md033.md
2+
# Disable inline html linter is needed for <details> <summary>
3+
MD033: false
4+
5+
# MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.35.0/doc/md013.md
6+
# Conforms to .clang-format ColumnLimit
7+
# Update the comment in .clang-format if we no-longer tie these two column limits.
8+
MD013:
9+
line_length: 119

0 commit comments

Comments
 (0)