Commit fee1884
ci: build Windows test leg in Debug (#806)
## What
Let the CMake CI scripts use `ICEBERG_BUILD_TYPE` and default to
`Debug`, including on Windows. MSVC builds with debug info now use
embedded `/Z7` debug info through `CMP0141` and
`CMAKE_MSVC_DEBUG_INFORMATION_FORMAT` so Debug objects remain cacheable
by sccache.
The build scripts also use the same single-config Ninja build path on
every platform. Since these jobs pass `-G Ninja`, `CMAKE_BUILD_TYPE`
controls the build and `--config Release` / `ctest -C Release` were not
needed.
## Why
Windows was the only main `Test` workflow leg still forcing the helper
scripts through `Release`. After this change, the helper-script CMake
test jobs default to `Debug` on pull requests and `main`;
`ICEBERG_BUILD_TYPE` remains available if the project wants an override.
Release verification and the SQL Catalog workflow's explicit Windows
`Release` matrix entry are unchanged.
The original Windows Debug blocker in #39 was an `IMPORTED_LOCATION`
failure from a multi-config CMake path. That specific failure no longer
applies because the helper scripts now use Ninja single-config builds.
The remaining Debug-only blocker was MSVC rejecting a `constexpr static
PartitionValues` test helper: `PartitionValues` owns a `std::vector`,
and MSVC Debug's checked-iterator mode (`_ITERATOR_DEBUG_LEVEL != 0`)
makes that construction fail constant evaluation. This PR constructs the
empty `PartitionValues` at the call site instead.
This follows the CI direction discussed in #799.
## Validation
Fork validation passed:
- `Test / AMD64 Windows 2025` passed in 23m48s on the pull-request run:
https://github.com/abnobdoss/iceberg-cpp/actions/runs/28638474339/job/84929642907
- `SQL Catalog / AMD64 Windows 2025` passed in 4m13s:
https://github.com/abnobdoss/iceberg-cpp/actions/runs/28638474303/job/84929643407
- `Meson / AMD64 Windows 2025` passed in 3m21s:
https://github.com/abnobdoss/iceberg-cpp/actions/runs/28638474339/job/84929642897
The Windows Debug test job reported 45% sccache hits, 385 hits, 477
misses, and 0 errors. The first post-merge Apache `main` run will reseed
Windows cache entries because the previous entries were built from
Release objects.
Closes #39.
---------
Co-authored-by: Abanoub Doss <abanoub.doss@gmail.com>1 parent 0825f56 commit fee1884
5 files changed
Lines changed: 29 additions & 54 deletions
File tree
- .github/workflows
- ci/scripts
- cmake_modules
- src/iceberg/test
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
| 61 | + | |
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | 52 | | |
56 | 53 | | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
57 | 57 | | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
63 | 62 | | |
64 | | - | |
| 63 | + | |
65 | 64 | | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | 65 | | |
73 | 66 | | |
74 | 67 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
| 40 | + | |
45 | 41 | | |
46 | 42 | | |
47 | 43 | | |
| |||
70 | 66 | | |
71 | 67 | | |
72 | 68 | | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
| 69 | + | |
81 | 70 | | |
82 | 71 | | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
83 | 79 | | |
84 | 80 | | |
85 | 81 | | |
| |||
91 | 87 | | |
92 | 88 | | |
93 | 89 | | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
102 | 93 | | |
103 | | - | |
104 | 94 | | |
105 | 95 | | |
106 | 96 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
23 | | - | |
| 21 | + | |
| 22 | + | |
24 | 23 | | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
36 | 29 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
224 | | - | |
| 224 | + | |
225 | 225 | | |
226 | 226 | | |
227 | 227 | | |
| |||
350 | 350 | | |
351 | 351 | | |
352 | 352 | | |
353 | | - | |
354 | 353 | | |
355 | 354 | | |
356 | 355 | | |
0 commit comments