Skip to content

fix(ci): Build Texel 1.08 under cmake 4 by raising the policy floor to 3.5 - #421

Merged
aywrite merged 1 commit into
masterfrom
claude/arche-analysis-planning-mh1qzv
Nov 14, 2026
Merged

aywrite merged 1 commit into
masterfrom
claude/arche-analysis-planning-mh1qzv

Conversation

@aywrite

@aywrite aywrite commented Nov 14, 2026

Copy link
Copy Markdown
Owner

The texel:1.08 rung of the calibration ladders stopped building when the runner image moved to cmake 4. Texel bundles a gtest for its tests whose cmake file asks for cmake 2.8.12, and cmake 4 refuses to configure anything asking for less than 3.5. In Calibrate runs 43527508936 and 43527512769 the rung played no games and was left out of the fit:

CMake Error at test/gtest/CMakeLists.txt:56 (cmake_minimum_required):
  Compatibility with CMake < 3.5 has been removed from CMake.

The configure step in scripts/opponent.sh now passes -DCMAKE_POLICY_VERSION_MINIMUM=3.5, which is what cmake's own message suggests. The repository, the pin and the build options are unchanged, so the rated release is still what plays. A cmake older than 4 ignores the variable.

Checked. Built locally with cmake 4.4.4 and 3.28.3; both binaries answer uci as Texel 1.08. The script tests pass (365). On the runner, Calibrate run 43553675050 from this branch built the opponent and is playing the rung.


Generated by Claude Code

…o 3.5

The texel:1.08 rung of the calibration ladders stopped building once the
runner image moved to cmake 4. Texel vendors a gtest for its tests whose
cmake file asks for cmake 2.8.12, and cmake 4 refuses to configure anything
that asks for less than 3.5:

    CMake Error at test/gtest/CMakeLists.txt:56 (cmake_minimum_required):
      Compatibility with CMake < 3.5 has been removed from CMake.

The configure step now passes -DCMAKE_POLICY_VERSION_MINIMUM=3.5, which is
what cmake's own message suggests. The source, the pin and the build
options are unchanged, so what plays is still the rated release. A cmake
older than 4 ignores the variable and builds as before.

Built with cmake 4.4.4 and with cmake 3.28.3. Both binaries answer uci as
Texel 1.08.

Co-Authored-By: Claude Fable 5.2 <[email protected]>
Claude-Session: https://claude.ai/code/session_01EYmME6yiwe8qbHTU6UgM2z
@github-actions

Copy link
Copy Markdown
Contributor

Speed against 3ab386ca

Measured on INTEL(R) XEON(R) PLATINUM 8573C.
Both sides built with rustc 1.99.1 (58cf8f9c3 2026-10-13).

Both sides built and run on this runner in this job, the way
scripts/speed.sh measures a perf commit. Each round runs
both sides on a layout of its own, the same compiled code with
its code and data shuffled and moved, so the 95% interval carries
where the code landed as well as the run. The verdict holds the
interval against a 1% threshold. The default layout, the one a
release ships, is measured after as a diagnostic. The node
counts are the search's: they move when the search does, and a
speed change leaves them alone.

round     base nps  candidate nps  change
    1      5490621        5491136   +0.0%
    2      5553567        5556320   +0.0%
    3      5527670        5491560   -0.7%
    4      5517893        5527745   +0.2%
    5      5480630        5481359   +0.0%
    6      5529718        5530132   +0.0%
    7      5520239        5524145   +0.1%
    8      5536112        5536293   +0.0%
    9      5518443        5546544   +0.5%
   10      5549155        5547602   -0.0%
   11      5539056        5555047   +0.3%
   12      5524263        5528687   +0.1%
   13      5485292        5500048   +0.3%
   14      5558380        5557945   -0.0%
   15      5528664        5527417   -0.0%
   16      5527516        5531413   +0.1%
   17      5483476        5487858   +0.1%
   18      5542177        5528205   -0.3%
   19      5563071        5556731   -0.1%
   20      5545309        5544203   -0.0%
   21      5502677        5492373   -0.2%
   22      5489916        5483728   -0.1%
   23      5503165        5526401   +0.4%
   24      5556469        5570199   +0.2%
   25      5525053        5510563   -0.3%
   26      5547215        5549489   +0.0%
   27      5484206        5486303   +0.0%
   28      5529157        5525227   -0.1%
   29      5525282        5538166   +0.2%
   30      5531291        5525207   -0.1%
   31      5546468        5543883   -0.0%
   32      5543200        5534168   -0.2%
   33      5509194        5507454   -0.0%
   34      5567784        5565927   -0.0%
   35      5566150        5562307   -0.1%
   36      5586535        5586133   -0.0%
   37      5515227        5514678   -0.0%
   38      5531903        5568247   +0.7%
   39      5465483        5508943   +0.8%
   40      5440502        5522920   +1.5%

             nodes    time  median nps  faster half
base       9312660  1.68 s     5528167      5547569
candidate  9312660  1.68 s     5528446      5550472
change                           +0.0%        +0.1%

paired change +0.0%, 95% interval -0.0% to +0.1%
diagnostic, on the default layout alone +0.1%, 95% interval -0.1% to +0.4%, 13 rounds

no change beyond ±1.0%: the whole interval is inside it

Speed: +0.0% (bench nps, 95% interval -0.0% to +0.1%, 40 interleaved rounds over shuffled layouts vs 3ab386ca)

The instructions each side's bench executed, counted under
cachegrind. The count repeats to within a few hundred
instructions, so a small change here is a real one, but it
prices instructions only: cache misses, mispredicted branches
and where the code lands are the speed's to show.

instructions against 3ab386ca, one cachegrind run a side, bench

             instructions    nodes  per node
base       13,159,580,971  9312660    1413.1
candidate  13,159,580,970  9312660    1413.1
change             -0.00%             -0.00%

within ±0.7%, as far as edits not made for speed have moved the count

@aywrite
aywrite merged commit 2c7f326 into master Nov 14, 2026
23 checks passed
@aywrite
aywrite deleted the claude/arche-analysis-planning-mh1qzv branch November 14, 2026 04:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants