From 54f979487372c71ae6e21432b9436124b5a748cc Mon Sep 17 00:00:00 2001 From: sunrisepeak Date: Wed, 22 Jul 2026 06:44:18 +0800 Subject: [PATCH] ci: mcpp 0.0.101 -> 0.0.102 (windows scan-deps cmdline ceiling, mcpp#261) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The windows workspace leg builds a package's own TUs from under the registry's xpkgs path (~124 chars) rather than a ~23-char checkout, so the clang scan-deps command — wrapped in `cmd /c` only to redirect its P1689 JSON — crossed cmd.exe's 8191-char ceiling on the vendored-opencv consumer (opencv-module{,-dnn}). mcpp 0.0.102 drops the wrapper via clang-scan-deps -o and extends #247's response-file fallback to every $local_includes rule, restoring the CreateProcess 32767 ceiling. Bump min_mcpp/latest_mcpp together with the CI pin per the index.toml version-contract rule. Also carries #257 (Clang purview-include depfile), #258 (OS-conditional [build].flags) and #254 (per-OS splice on target). --- .github/workflows/validate.yml | 20 ++++++++++++++++---- index.toml | 4 ++-- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 61ae161..3a05167 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -11,6 +11,18 @@ on: workflow_dispatch: env: + # 0.0.102: windows command-line ceiling (mcpp#261 — the clang scan rule got + # its P1689 JSON through shell redirection, which forced a `cmd /c` wrapper + # and with it cmd.exe's 8191-char limit; clang-scan-deps -o removes both, and + # $local_includes-carrying rules now fall back to response files). The pin + # matters here because a package consumed FROM the registry sits under a + # ~124-char xpkgs path instead of its own ~23-char checkout, which is what + # pushed the vendored-opencv scan command over the line. Also: purview-include + # depfile tracking extended to Clang (#257 — stale BMI reuse), OS-conditional + # `[build].flags` (#258), and per-OS splices keyed on the resolved target + # rather than the host (#254). + # 0.0.101: per-feature per-glob flags + per-OS features (mcpp#253) — what + # lets opencv select its dnn gemm backend per platform. # 0.0.99: feature dep/feat forwarding (mcpp#243 — a feature can open a # feature OF a dependency, e.g. opencv `dnn` forwarding compat.opencv/dnn); # vendored xlings 0.4.67 for the >=2 index_repo install fix (mcpp#238 / @@ -35,7 +47,7 @@ env: # 0.0.94 fixed feature-gated `sources` under `mcpp test` (mcpp#218); 0.0.91 # added standard = "c++fly" to the resolver grammar, so c++fly descriptors # get the lint WARN below, not a hard grammar-parse rejection. - MCPP_VERSION: "0.0.101" + MCPP_VERSION: "0.0.102" jobs: lint: @@ -184,21 +196,21 @@ jobs: ext: tar.gz mcpp: bin/mcpp xlings: registry/bin/xlings - mcpp_version: "0.0.101" # keep in sync with env.MCPP_VERSION + mcpp_version: "0.0.102" # keep in sync with env.MCPP_VERSION - platform: macos os: macos-15 suffix: macosx-arm64 ext: tar.gz mcpp: bin/mcpp xlings: registry/bin/xlings - mcpp_version: "0.0.101" # keep in sync with env.MCPP_VERSION + mcpp_version: "0.0.102" # keep in sync with env.MCPP_VERSION - platform: windows os: windows-latest suffix: windows-x86_64 ext: zip mcpp: bin/mcpp.exe xlings: registry/bin/xlings.exe - mcpp_version: "0.0.101" # keep in sync with env.MCPP_VERSION + mcpp_version: "0.0.102" # keep in sync with env.MCPP_VERSION env: MCPP_EFFECTIVE: ${{ matrix.mcpp_version }} steps: diff --git a/index.toml b/index.toml index 3d91d19..01fb233 100644 --- a/index.toml +++ b/index.toml @@ -7,5 +7,5 @@ # "floor first, new grammar after" rollout rule mechanically. [index] spec = "1" -min_mcpp = "0.0.101" -latest_mcpp = "0.0.101" +min_mcpp = "0.0.102" +latest_mcpp = "0.0.102"