Files
vdm/CMakePresets.json
samiandClaude Sonnet 5 8f45815059 pkg: add CI workflow and branch-protection policy
.github/workflows/ci.yml: fast lint jobs (clang-format, testserver
selftest, bootstrap.sh --check) that need no compiler; a gcc/clcang build
matrix and an ASan/UBSan + TSan sanitizer matrix that bootstrap via
tools/bootstrap.sh and run `ctest --preset {ci,dev,tsan}`; advisory
clang-tidy on changed files; and extension-lint + conformance jobs that
short-circuit to a passing "skipped" step until their lane lands, so they
can be marked required now. CMakePresets.json gains matching `tsan` and
`ci` test presets. .github/BRANCH_PROTECTION.md records the intended
required-checks policy (conformance required = the M0 exit gate).

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01HPPSGhiArbvQgwC2DNiURS
2026-09-09 19:22:36 +04:00

76 lines
2.2 KiB
JSON

{
"version": 6,
"cmakeMinimumRequired": { "major": 3, "minor": 28, "patch": 0 },
"configurePresets": [
{
"name": "base",
"hidden": true,
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" }
},
{
"name": "dev",
"inherits": "base",
"displayName": "Debug + ASan/UBSan (default for all lanes)",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_FLAGS": "-fsanitize=address,undefined -fno-omit-frame-pointer -g",
"VELOX_BUILD_TESTS": "ON"
}
},
{
"name": "tsan",
"inherits": "base",
"displayName": "Debug + ThreadSanitizer (required for CORE and DAEMON)",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_FLAGS": "-fsanitize=thread -fno-omit-frame-pointer -g",
"VELOX_BUILD_TESTS": "ON"
}
},
{
"name": "release",
"inherits": "base",
"displayName": "RelWithDebInfo + LTO (benchmarks and packages)",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
"CMAKE_INTERPROCEDURAL_OPTIMIZATION": "ON",
"VELOX_BUILD_TESTS": "OFF"
}
},
{
"name": "ci",
"inherits": "dev",
"displayName": "CI build",
"cacheVariables": { "VELOX_BUILD_FUZZ": "ON" }
}
],
"buildPresets": [
{ "name": "dev", "configurePreset": "dev" },
{ "name": "tsan", "configurePreset": "tsan" },
{ "name": "release", "configurePreset": "release" },
{ "name": "ci", "configurePreset": "ci" }
],
"testPresets": [
{
"name": "dev",
"configurePreset": "dev",
"output": { "outputOnFailure": true },
"execution": { "noTestsAction": "error", "stopOnFailure": false }
},
{
"name": "tsan",
"configurePreset": "tsan",
"output": { "outputOnFailure": true },
"execution": { "noTestsAction": "error", "stopOnFailure": false }
},
{
"name": "ci",
"configurePreset": "ci",
"output": { "outputOnFailure": true },
"execution": { "noTestsAction": "error", "stopOnFailure": false }
}
]
}