Skip to content

ci: import Apple's Developer ID intermediate before signing on macOS - #1384

Merged
AnthonyRonning merged 1 commit into
masterfrom
ci/developer-id-intermediate
Oct 31, 2026
Merged

AnthonyRonning merged 1 commit into
masterfrom
ci/developer-id-intermediate

Conversation

@AnthonyRonning

@AnthonyRonning AnthonyRonning commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Why

Master's first Desktop App CI on Xcode 27.1, after PR #1266, failed in build-macos (run 41008479402): "No Developer ID Application identity found in imported Apple certificate", 0 valid identities.

Blacksmith's macOS 27 image doesn't install Apple's Developer ID intermediate. A throwaway diagnostic dispatch on that image (run 41013574043) found no Developer ID CA in its System keychain. GitHub's images install it, which is why the Agent's signing passed on GitHub's xcode-27 image, also macOS 27, in the same push. Release builds use the same function, so the next Research release would fail the same way.

What

  • Vendors Apple's Developer ID Certification Authority (G2) as scripts/ci/apple-developer-id-g2.pem. It comes from apple.com (SHA-256 F16CD3C5…43D2DF3A) and is the issuer of our Developer ID Application certificate. import_apple_developer_certificate imports it into the signing keychain.
  • Adds the signing keychain to the user search list, which identity validation and codesign use to resolve the chain. The Agent's signing script already does this.
  • On failure, lists identities without -v, so the log shows why an identity is invalid.

Validation

  • plan.py lint and the CI script suite (551 tests) pass.
  • Signing only runs on master, so the merge push's Desktop App CI is the real check. If it still fails, the new output names the reason.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

The first Desktop App CI run on Xcode 27.1 failed in build-macos:
"No Developer ID Application identity found", 0 valid identities.
Blacksmith's macOS 27 image does not install Apple's Developer ID
Certification Authority (G2); a diagnostic run found no Developer ID CA
in its System keychain. GitHub's images install it, which is why the
Agent's signing passed on GitHub's xcode-27 image, also macOS 27, in
the same push. Without the intermediate, the identity's chain does not
validate.

The signing keychain now imports Apple's G2 intermediate, vendored from
www.apple.com/certificateauthority/DeveloperIDG2CA.cer (SHA-256
F16CD3C5...43D2DF3A, the issuer of our Developer ID Application
certificate), and joins the user search list, which identity validation
and codesign use to resolve the chain, as the Agent's signing script
already does. On failure, the identities are listed without -v so the
log shows why one is invalid.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Maple development preview: https://34d619b9.maple-ca8.pages.dev

Commit: 61b5f3fc4ef2b8abb7d5e206635bb405f0062ced

Uses development API, billing, flags and PCR configuration. Cloudflare Access applies.

@AnthonyRonning
AnthonyRonning merged commit beffe2a into master Oct 31, 2026
25 checks passed
@AnthonyRonning
AnthonyRonning deleted the ci/developer-id-intermediate branch October 31, 2026 18:03

This branch was successfully deployed

1 active deployment
pages-pr-1384 — 61b5f3fc Deployed Oct 30, 2026 by github-actions[bot]
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.

1 participant