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 : |
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
0 commit comments