Skip to content

Commit a81a080

Browse files
authored
Bring in dev branch to main branch (#87)
2 parents f51f958 + 60b433d commit a81a080

File tree

305 files changed

+8313
-2929
lines changed

Some content is hidden

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

305 files changed

+8313
-2929
lines changed

.clang-tidy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,4 +65,6 @@ openmp-use-default-none,
6565

6666
CheckOptions:
6767
cppcoreguidelines-avoid-do-while.IgnoreMacros: 'true'
68-
readability-function-cognitive-complexity.Threshold: 35
68+
readability-function-cognitive-complexity.Threshold: 35
69+
70+
UseColor: true

.github/dependabot.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
# To get started with Dependabot version updates, you'll need to specify which
2-
# package ecosystems to update and where the package manifests are located.
3-
# Please see the documentation for all configuration options:
4-
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5-
61
version: 2
72
updates:
8-
- package-ecosystem: "github-actions" # See documentation for possible values
9-
directory: "/" # Location of package manifests
3+
- package-ecosystem: "github-actions" # Necessary to update action hashes.
4+
directory: "/"
105
schedule:
11-
interval: "weekly"
6+
interval: "monthly"
7+
# Allow up to 3 opened pull requests for github-actions versions.
8+
open-pull-requests-limit: 3
9+
target-branch: "dev"

.github/workflows/ci-linux.yml

Lines changed: 82 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
name: ci-linux
2+
23
on:
34
push:
45
tags-ignore:
@@ -14,61 +15,101 @@ permissions:
1415

1516
jobs:
1617
build:
17-
runs-on: ubuntu-22.04
18+
runs-on: ubuntu-latest
1819
strategy:
1920
fail-fast: false
2021
matrix:
21-
compiler: [ninja-gcc, ninja-clang, ninja-clang-libcpp]
22-
cxx_version: [17, 20]
23-
target: [Debug, Release]
24-
steps:
25-
- name: Harden Runner
26-
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
27-
with:
28-
egress-policy: audit
22+
include:
23+
# GCC Debug
24+
- name: gcc-debug
25+
configurePreset: ninja-gcc-debug
26+
buildPreset: build-ninja-gcc-debug
27+
testPreset: test-ninja-gcc-debug
28+
cxx_version: 17
2929

30-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
30+
- name: gcc-debug-cxx20
31+
configurePreset: ninja-gcc-debug
32+
buildPreset: build-ninja-gcc-debug
33+
testPreset: test-ninja-gcc-debug
34+
cxx_version: 20
3135

32-
- name: Cache CMake build files
33-
uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
34-
with:
35-
path: build
36-
key: ${{ runner.os }}-cmake-${{ matrix.compiler }}-${{ matrix.cxx_version }}-${{ matrix.target }}
37-
restore-keys: |
38-
${{ runner.os }}-cmake-${{ matrix.compiler }}-${{ matrix.cxx_version }}-
39-
${{ runner.os }}-cmake-${{ matrix.compiler }}-
36+
# GCC Release
37+
- name: gcc-release
38+
configurePreset: ninja-gcc-release
39+
buildPreset: build-ninja-gcc-release
40+
testPreset: test-ninja-gcc-release
41+
cxx_version: 17
4042

41-
- name: install dependencies
42-
run: sudo apt install -yqq ninja-build
43+
- name: gcc-release-cxx20
44+
configurePreset: ninja-gcc-release
45+
buildPreset: build-ninja-gcc-release
46+
testPreset: test-ninja-gcc-release
47+
cxx_version: 20
4348

44-
- name: configure cmake
45-
run: cmake -S . --preset=${{matrix.compiler}} -B build -DCMAKE_CXX_STANDARD=${{matrix.cxx_version}}
49+
# Clang Debug
50+
- name: clang-debug
51+
configurePreset: ninja-clang-debug
52+
buildPreset: build-ninja-clang-debug
53+
testPreset: test-ninja-clang-debug
54+
cxx_version: 17
4655

47-
- name: build
48-
run: cmake --build build --config=${{matrix.target}}
56+
- name: clang-debug-cxx20
57+
configurePreset: ninja-clang-debug
58+
buildPreset: build-ninja-clang-debug
59+
testPreset: test-ninja-clang-debug
60+
cxx_version: 20
61+
62+
# Clang Release
63+
- name: clang-release
64+
configurePreset: ninja-clang-release
65+
buildPreset: build-ninja-clang-release
66+
testPreset: test-ninja-clang-release
67+
cxx_version: 17
68+
69+
- name: clang-release-cxx20
70+
configurePreset: ninja-clang-release
71+
buildPreset: build-ninja-clang-release
72+
testPreset: test-ninja-clang-release
73+
cxx_version: 20
74+
75+
# Clang libcpp Release
76+
- name: clang-libcpp-release
77+
configurePreset: ninja-clang-libcpp-relwithdebinfo
78+
buildPreset: build-ninja-clang-libcpp-relwithdebinfo
79+
testPreset: test-ninja-clang-libcpp-relwithdebinfo
80+
cxx_version: 17
81+
82+
- name: clang-libcpp-release-cxx20
83+
configurePreset: ninja-clang-libcpp-relwithdebinfo
84+
buildPreset: build-ninja-clang-libcpp-relwithdebinfo
85+
testPreset: test-ninja-clang-libcpp-relwithdebinfo
86+
cxx_version: 20
4987

50-
test:
51-
runs-on: ubuntu-22.04
52-
needs: build
53-
strategy:
54-
fail-fast: false
55-
matrix:
56-
compiler: [ninja-gcc, ninja-clang, ninja-clang-libcpp]
57-
cxx_version: [17, 20]
58-
target: [Debug, Release]
5988
steps:
6089
- name: Harden Runner
61-
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
90+
uses: step-security/harden-runner@v2.9.1
6291
with:
6392
egress-policy: audit
6493

65-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
94+
- uses: actions/checkout@v4
6695

67-
- name: Cache CMake build files
68-
uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
96+
- name: Cache build
97+
uses: actions/cache@v4
6998
with:
70-
path: build
71-
key: ${{ runner.os }}-cmake-${{ matrix.compiler }}-${{ matrix.cxx_version }}-${{ matrix.target }}
99+
path: |
100+
./**/CMakeFiles
101+
./**/CMakeCache.txt
102+
./**/out
103+
key: ${{ runner.os }}-${{ matrix.name }}
104+
105+
- name: Install dependencies
106+
run: sudo apt-get update -qq && sudo apt-get install -yqq --no-install-recommends ninja-build
107+
108+
- name: Configure
109+
run: cmake --preset="${{ matrix.configurePreset }}" -DCMAKE_CXX_STANDARD="${{ matrix.cxx_version }}"
110+
111+
- name: Build
112+
run: cmake --build --preset="${{ matrix.buildPreset }}"
72113

73-
- name: test
74-
run: cd build && ctest -C ${{matrix.target}} --output-on-failure
114+
- name: Test
115+
run: ctest --preset="${{ matrix.testPreset }}" --output-on-failure --schedule-random -F

.github/workflows/ci-macos.yml

Lines changed: 63 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
name: ci-macos
2+
23
on:
34
push:
45
tags-ignore:
@@ -14,67 +15,84 @@ permissions:
1415

1516
jobs:
1617
build:
17-
runs-on: macos-14
18+
runs-on: macos-latest
1819
strategy:
1920
fail-fast: false
2021
matrix:
21-
compiler: [ninja-clang, ninja-gcc]
22-
cxx_version: [17, 20]
23-
target: [Debug, Release]
24-
steps:
25-
- name: Harden Runner
26-
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
27-
with:
28-
egress-policy: audit
22+
include:
23+
- name: clang-debug-cxx17
24+
configurePreset: ninja-clang-debug
25+
buildPreset: build-ninja-clang-debug
26+
testPreset: test-ninja-clang-debug
27+
cxx_version: 17
2928

30-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
29+
- name: clang-debug-cxx20
30+
configurePreset: ninja-clang-debug
31+
buildPreset: build-ninja-clang-debug
32+
testPreset: test-ninja-clang-debug
33+
cxx_version: 20
3134

32-
- name: Cache CMake build files
33-
uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
34-
with:
35-
path: build
36-
key: ${{ runner.os }}-cmake-${{ matrix.compiler }}-${{ matrix.cxx_version }}-${{ matrix.target }}
37-
restore-keys: |
38-
${{ runner.os }}-cmake-${{ matrix.compiler }}-${{ matrix.cxx_version }}-
39-
${{ runner.os }}-cmake-${{ matrix.compiler }}-
35+
- name: clang-release-cxx17
36+
configurePreset: ninja-clang-release
37+
buildPreset: build-ninja-clang-release
38+
testPreset: test-ninja-clang-release
39+
cxx_version: 17
4040

41-
- name: install homebrew formulae
42-
run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
41+
- name: clang-release-cxx20
42+
configurePreset: ninja-clang-release
43+
buildPreset: build-ninja-clang-release
44+
testPreset: test-ninja-clang-release
45+
cxx_version: 20
4346

44-
- name: install ninja
45-
run: brew install ninja
47+
- name: gcc-debug-cxx17
48+
configurePreset: ninja-gcc-debug
49+
buildPreset: build-ninja-gcc-debug
50+
testPreset: test-ninja-gcc-debug
51+
cxx_version: 17
4652

47-
- name: update AppleClang to 14.0.3
48-
run: sudo xcode-select -s /Applications/Xcode_14.3.app/Contents/Developer
53+
- name: gcc-debug-cxx20
54+
configurePreset: ninja-gcc-debug
55+
buildPreset: build-ninja-gcc-debug
56+
testPreset: test-ninja-gcc-debug
57+
cxx_version: 20
4958

50-
- name: configure
51-
run: cmake -S . --preset=${{matrix.compiler}} -B build -DCMAKE_CXX_STANDARD=${{matrix.cxx_version}}
59+
- name: gcc-release-cxx17
60+
configurePreset: ninja-gcc-release
61+
buildPreset: build-ninja-gcc-release
62+
testPreset: test-ninja-gcc-release
63+
cxx_version: 17
5264

53-
- name: build
54-
run: cmake --build build --config=${{matrix.target}}
65+
- name: gcc-release-cxx20
66+
configurePreset: ninja-gcc-release
67+
buildPreset: build-ninja-gcc-release
68+
testPreset: test-ninja-gcc-release
69+
cxx_version: 20
5570

56-
test:
57-
runs-on: macos-14
58-
needs: build
59-
strategy:
60-
fail-fast: false
61-
matrix:
62-
compiler: [ninja-clang, ninja-gcc]
63-
cxx_version: [17, 20]
64-
target: [Debug, Release]
6571
steps:
6672
- name: Harden Runner
67-
uses: step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
73+
uses: step-security/harden-runner@v2.9.1
6874
with:
6975
egress-policy: audit
7076

71-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
77+
- uses: actions/checkout@v4
7278

73-
- name: Cache CMake build files
74-
uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2
79+
- name: Cache build
80+
uses: actions/cache@v4
7581
with:
76-
path: build
77-
key: ${{ runner.os }}-cmake-${{ matrix.compiler }}-${{ matrix.cxx_version }}-${{ matrix.target }}
82+
path: |
83+
./**/CMakeFiles
84+
./**/CMakeCache.txt
85+
./**/out
86+
key: ${{ runner.os }}-${{ matrix.name }}
87+
88+
- name: Install Ninja
89+
run: brew install ninja
90+
91+
- name: Configure
92+
run: cmake --preset="${{ matrix.configurePreset }}" -DCMAKE_CXX_STANDARD="${{ matrix.cxx_version }}"
93+
94+
- name: Build
95+
run: cmake --build --preset="${{ matrix.buildPreset }}"
7896

79-
- name: test
80-
run: cd build && ctest -C ${{matrix.target}} --output-on-failure
97+
- name: Test
98+
run: ctest --preset="${{ matrix.testPreset }}" --output-on-failure --schedule-random -F

0 commit comments

Comments
 (0)