Repository navigation
[FIX] the claude plugin did not build on Linux - #72
Merged
Merged
Conversation
`ClaudeIdentity.keychainService` lives behind `#if os(macOS)`, because there is no Keychain elsewhere. The diagnostic entry point added alongside it called that function unconditionally, so `orrery-claude` compiled on the machine it was written on and failed everywhere else. Nothing said so, and that is the more useful half of this. ci.yml builds macos-latest only; Linux is built by the release workflow alone. A Linux-only compile error is therefore invisible until a tag has been pushed — which is when this surfaced, during the 3.5.5 pre-flight. It is the second time this repo has found a Linux break at release time; 81111ec was the first. The guard is the whole fix. The test that exercises the entry point was already `#if os(macOS)`, so it keeps testing what it tested and skips where the entry point no longer exists.
Merged
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.
ClaudeIdentity.keychainServicelives behind#if os(macOS)— there is no Keychain elsewhere. The--keychain-servicediagnostic entry point inSources/orrery-claude/main.swiftcalled it unconditionally, soorrery-claudecompiled on macOS and failed to compile anywhere else:The
#if os(macOS)guard is the whole fix. The test that exercises the entry point was already#if os(macOS), so it keeps testing what it tested and skips where the entry point no longer exists.Why nothing caught it
ci.ymlbuildsmacos-latestonly. Linux is built by the release workflow alone, so a Linux-only compile error stays invisible until a tag has been pushed. This surfaced during the 3.5.5 pre-flight, and it is the second time this repo has found a Linux break at release time —81111ecwas the first. Adding a Linux job toci.ymlwould close that gap; left out of this PR deliberately, since it is a separate decision.Verification
Built in Docker (
swift:6.1-noble) on both release architectures, checking each of the five products actually links rather than trusting the exit code:orrery-binorrery-agentorrery-claude-hookorrery-claudeorrery-codexBlocks the 3.5.5 release.
🤖 Generated with Claude Code