Skip to content

Commit 6f86648

Browse files
committed
Merge remote-tracking branch 'origin/main' into f/mkdocs
# Conflicts: # .gitignore # pyproject.toml
2 parents 0094a46 + ee0dbc6 commit 6f86648

1,219 files changed

Lines changed: 31653 additions & 14641 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 & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Checks: |
2+
-misc-unused-using-decls
3+
-misc-include-cleaner
4+
-modernize-use-using
5+
-readability-duplicate-include
6+
-readability-redundant-preprocessor
7+
HeaderFilterRegex: \./.+\\.(h|hpp)$
8+
WarningsAsErrors: false

.github/workflows/linux-conan.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ on: [ push, pull_request ]
55
jobs:
66
linux:
77
name: "${{ github.job }} (Conan)"
8+
concurrency:
9+
group: "linux-${{ github.ref }}-${{ github.job }}-conan"
10+
cancel-in-progress: true
811
runs-on: ubuntu-24.04
912
steps:
1013
- name: Checkout

.github/workflows/linux.yaml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
strategy:
1111
fail-fast: false
1212
matrix:
13-
format: ["JSON", "AVRO", "CAPNPROTO", "CBOR", "FLEXBUFFERS", "MSGPACK", "PARQUET", "TOML", "UBJSON", "XML", "YAML", "benchmarks"]
13+
format: ["JSON", "AVRO", "BOOST_SERIALIZATION", "CAPNPROTO", "CBOR", "CEREAL", "FLEXBUFFERS", "MSGPACK", "PARQUET", "TOML", "UBJSON", "XML", "YAML", "benchmarks", "headers"]
1414
compiler: [llvm, gcc]
1515
compiler-version: [11, 12, 13, 14, 16, 17, 18]
1616
cxx: [20, 23]
@@ -35,16 +35,16 @@ jobs:
3535
- compiler: gcc
3636
compiler-version: 12
3737
cxx: 23
38-
- compiler: gcc
39-
compiler-version: 13
40-
cxx: 23
4138
- compiler: llvm
4239
compiler-version: 16
4340
cxx: 23
4441
- compiler: llvm
4542
compiler-version: 17
4643
cxx: 23
4744
name: "${{ github.job }} (${{ matrix.format }}-C++${{ matrix.cxx }}-${{ matrix.compiler }}-${{ matrix.compiler-version }})"
45+
concurrency:
46+
group: "linux-${{ github.ref }}-${{ github.job }}-${{ matrix.format }}-C++${{ matrix.cxx }}-${{ matrix.compiler }}-${{ matrix.compiler-version }}"
47+
cancel-in-progress: true
4848
runs-on: ubuntu-24.04
4949
steps:
5050
- name: Checkout
@@ -82,12 +82,14 @@ jobs:
8282
cmake -S . -B build -G Ninja -DCMAKE_CXX_STANDARD=${{ matrix.cxx }} -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Release
8383
elif [[ "${{ matrix.format }}" == "benchmarks" ]]; then
8484
cmake -S . -B build -G Ninja -DCMAKE_CXX_STANDARD=${{ matrix.cxx }} -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_BUILD_BENCHMARKS=ON -DREFLECTCPP_ALL_FORMATS=ON -DCMAKE_BUILD_TYPE=Release
85+
elif [[ "${{ matrix.format }}" == "headers" ]]; then
86+
cmake -S . -B build -G Ninja -DCMAKE_CXX_STANDARD=${{ matrix.cxx }} -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_CHECK_HEADERS=ON -DCMAKE_BUILD_TYPE=Release
8587
else
8688
cmake -S . -B build -G Ninja -DCMAKE_CXX_STANDARD=${{ matrix.cxx }} -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_BUILD_TESTS=ON -DREFLECTCPP_JSON=OFF -DREFLECTCPP_${{ matrix.format }}=ON -DCMAKE_BUILD_TYPE=Release
8789
fi
8890
cmake --build build -j4
8991
- name: Run tests
90-
if: matrix.format != 'benchmarks'
92+
if: (matrix.format != 'benchmarks') && (matrix.format != 'headers')
9193
run: |
9294
ctest --test-dir build --output-on-failure
9395
- name: Run benchmarks

.github/workflows/macos.yaml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,12 @@ jobs:
1010
strategy:
1111
fail-fast: false
1212
matrix:
13-
os: ["macos-latest", "macos-13"]
14-
format: ["JSON", "AVRO", "CAPNPROTO", "CBOR", "FLEXBUFFERS", "MSGPACK", "PARQUET", "TOML", "UBJSON", "XML", "YAML", "benchmarks"]
13+
os: ["macos-latest", "macos-15-intel"]
14+
format: ["tests", "benchmarks"]
1515
name: "${{ matrix.os }} (${{ matrix.format }})"
16+
concurrency:
17+
group: "macos-${{ github.ref }}-${{ github.job }}-${{ matrix.os }}-${{ matrix.format }}"
18+
cancel-in-progress: true
1619
runs-on: ${{ matrix.os }}
1720
steps:
1821
- name: Checkout
@@ -43,12 +46,10 @@ jobs:
4346
export CMAKE_GENERATOR=Ninja
4447
fi
4548
$CXX --version
46-
if [[ "${{ matrix.format }}" == "JSON" ]]; then
47-
cmake -S . -B build -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
48-
elif [[ "${{ matrix.format }}" == "benchmarks" ]]; then
49+
if [[ "${{ matrix.format }}" == "benchmarks" ]]; then
4950
cmake -S . -B build -G Ninja -DCMAKE_CXX_STANDARD=${{ matrix.cxx }} -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_BUILD_BENCHMARKS=ON -DREFLECTCPP_ALL_FORMATS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
5051
else
51-
cmake -S . -B build -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_BUILD_TESTS=ON -DREFLECTCPP_JSON=OFF -DREFLECTCPP_${{ matrix.format }}=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
52+
cmake -S . -B build -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_BUILD_TESTS=ON -DREFLECTCPP_ALL_FORMATS=ON -DREFLECTCPP_CHECK_HEADERS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
5253
fi
5354
cmake --build build -j 4
5455
- name: Run tests

.github/workflows/windows.yaml

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,11 @@ jobs:
1010
strategy:
1111
fail-fast: false
1212
matrix:
13-
format: ["JSON", "AVRO", "CAPNPROTO", "CBOR", "FLEXBUFFERS", "MSGPACK", "PARQUET", "TOML", "UBJSON", "XML", "YAML", "benchmarks"]
13+
format: ["JSON", "AVRO", "BOOST_SERIALIZATION", "CAPNPROTO", "CBOR", "CEREAL", "FLEXBUFFERS", "MSGPACK", "PARQUET", "TOML", "UBJSON", "XML", "YAML", "benchmarks"]
1414
name: "windows-msvc (${{ matrix.format }})"
15+
concurrency:
16+
group: "windows-${{ github.ref }}-${{ github.job }}-${{ matrix.format }}"
17+
cancel-in-progress: true
1518
runs-on: windows-latest
1619
steps:
1720
- name: Checkout
@@ -32,19 +35,25 @@ jobs:
3235
run: |
3336
cmake -S . -B build -G Ninja -DCMAKE_CXX_STANDARD=${{ matrix.cxx }} -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_BUILD_BENCHMARKS=ON -DREFLECTCPP_ALL_FORMATS=ON -DCMAKE_BUILD_TYPE=Release
3437
cmake --build build --config Release -j4
38+
- name: Check headers
39+
if: matrix.format == 'headers'
40+
run: |
41+
cmake -S . -B build -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_CHECK_HEADERS=ON -DCMAKE_BUILD_TYPE=Release
42+
cmake --build build --config Release -j4
3543
- name: Compile tests (JSON)
3644
if: matrix.format == 'JSON'
3745
run: |
3846
cmake -S . -B build -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Release
3947
cmake --build build --config Release -j4
4048
- name: Compile tests (Other formats)
41-
if: matrix.format != 'JSON' && matrix.format != 'benchmarks'
49+
if: matrix.format != 'JSON' && matrix.format != 'benchmarks' && matrix.format != 'headers'
4250
run: |
4351
cmake -S . -B build -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_BUILD_TESTS=ON -DREFLECTCPP_JSON=OFF -DREFLECTCPP_${{ matrix.format }}=ON -DCMAKE_BUILD_TYPE=Release
4452
cmake --build build --config Release -j4
4553
- name: Run tests
54+
if: matrix.format != 'benchmarks'
4655
run: |
47-
ctest --test-dir build --output-on-failure
56+
ctest --test-dir build -C Release --output-on-failure
4857
- name: Run benchmarks
4958
if: matrix.format == 'benchmarks'
5059
run: |
@@ -64,4 +73,39 @@ jobs:
6473
./build/benchmarks/json/reflect-cpp-json-benchmarks --benchmark_filter=canada >> $GITHUB_STEP_SUMMARY
6574
./build/benchmarks/json/reflect-cpp-json-benchmarks --benchmark_filter=licenses >> $GITHUB_STEP_SUMMARY
6675
echo '```' >> $GITHUB_STEP_SUMMARY
76+
windows-msvc-shared:
77+
strategy:
78+
fail-fast: false
79+
matrix:
80+
format: ["JSON", "AVRO", "BOOST_SERIALIZATION", "CAPNPROTO", "CBOR", "FLEXBUFFERS", "MSGPACK", "PARQUET", "TOML", "UBJSON", "XML", "YAML"]
81+
name: "windows-msvc-shared (${{ matrix.format }})"
82+
runs-on: windows-latest
83+
steps:
84+
- name: Checkout
85+
uses: actions/checkout@v4
86+
with:
87+
submodules: recursive
88+
fetch-depth: 0
89+
- name: Export GitHub Actions cache environment variables
90+
uses: actions/github-script@v7
91+
with:
92+
script: |
93+
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
94+
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
95+
- uses: ilammy/msvc-dev-cmd@v1
96+
- uses: lukka/run-vcpkg@v11
97+
- name: Compile tests (JSON)
98+
if: matrix.format == 'JSON'
99+
run: |
100+
cmake -S . -B build -DREFLECTCPP_BUILD_SHARED=ON -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Release
101+
cmake --build build --config Release -j4
102+
- name: Compile tests (Other formats)
103+
if: matrix.format != 'JSON'
104+
run: |
105+
cmake -S . -B build -DREFLECTCPP_BUILD_SHARED=ON -DCMAKE_CXX_STANDARD=20 -DREFLECTCPP_BUILD_TESTS=ON -DREFLECTCPP_JSON=OFF -DREFLECTCPP_${{ matrix.format }}=ON -DCMAKE_BUILD_TYPE=Release
106+
cmake --build build --config Release -j4
107+
- name: Run tests
108+
run: |
109+
ctest --test-dir build -C Release --output-on-failure
110+
67111

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
*.bson
4646
*.capnproto
4747
*.cbor
48+
*.cereal
4849
*.csv
4950
*.json
5051
*.fb
@@ -54,8 +55,10 @@
5455
*.toml
5556
*.ubjson
5657
*.xml
58+
!package.xml
5759
*.yml
5860
*.yaml
61+
*.yas
5962

6063
!vcpkg.json
6164
!.github/**/*.yml
@@ -94,4 +97,4 @@ share/python-wheels/
9497
MANIFEST
9598

9699
# Docs
97-
site/
100+
site/

0 commit comments

Comments
 (0)