Conversation
The shipyard pkg no longer writes the CMake user package registry, and
MavericksShipyardConfig.cmake now refuses any cmake but shipyard-cmake.
build/msc.sh is replaced wholesale by shipyard's canonical template (conventions
check 17 compares it byte for byte): $SHIPYARD_SCRIPTS in CI, else ask
shipyard-cmake where find_package(MavericksShipyard) lands.
Three call sites move to shipyard-cmake: both halves of release.yml's
`cmake --preset cross && cmake --build ...` -- the second is a command too, after
the `&&` -- and the `(cmake --build build/updater)` that build/package-pkg.sh
names when the updater is missing. That last one is the sort a gate cannot see:
it sits behind a bare "(" that conventions check 18 deliberately skips, and it
hands a reader a command the refusal would reject.
The install step's comment said shipyard self-registers in the user package
registry. It installs a pkg and puts shipyard-cmake on PATH; the comment now
says that.
CMakePresets.json needs no change -- a preset is data, and shipyard-cmake reads
it like any other cmake.
BREAKING CHANGE: builds now require the shipyard pkg (it provides
/usr/local/bin/shipyard-cmake). Do not merge until shipyard has landed bc3082a.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GTxFde2TJMmp5p64DhvDSK
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of the 14-repo shipyard-cmake flag day.
Do not merge until shipyard has landed bc3082a. Until then
shipyard-cmakeexists on no runner, so this PR's own CI is expected to fail at the first configure. That red is the merge-order hold, not a defect.What changed
build/msc.shreplaced wholesale by shipyard's canonical template (conventions check 17 compares it byte for byte). Verifiedbyte-identical. It was this repo's only registry reader.shipyard-cmake: both halves ofrelease.yml:117'scmake --preset cross && cmake --build build/updater --target OpenSSHUpdater(the second is a command too, after the&&), and the(cmake --build build/updater)named bybuild/package-pkg.sh:17when the updater is missing.shipyard-cmakeonPATH; the comment now says so.CMakePresets.jsonis unchanged: a preset is data, andshipyard-cmakereads it like any other cmake. ItscmakeMinimumRequiredof 3.25 is satisfied (shipyard ships CMake 4.4.3).The one the gate cannot see
build/package-pkg.sh:17names its recipe from inside(cmake --build build/updater). Check 18 deliberately treats a bare(as not command position, so it was invisible to the gate. Found by sweeping every tracked file, not just the gate's subset — the.batsfiles undertests/were checked the same way and hold no cmake invocation.Verification
check-family-conventions.sh(fromshipyard-cmake-collapsed): 3 failures -> ok, exit 0.git ls-files: clean, no exceptions needed. A wider sweep for any barecmake/ctest/cpacktoken is also clean.check-shell-portability.sh,check-comments.sh,sh -non every tracked*.sh, all three workflows parse as YAML,CMakePresets.jsonparses as JSON.install@v1's default mode already putsshipyard-cmakeonPATH.🤖 Generated with Claude Code
https://claude.ai/code/session_01GTxFde2TJMmp5p64DhvDSK