Skip to content

Add native app signing preflight#78

Open
jmcte wants to merge 3 commits into
mainfrom
codex/issue-52-native-preflight
Open

Add native app signing preflight#78
jmcte wants to merge 3 commits into
mainfrom
codex/issue-52-native-preflight

Conversation

@jmcte
Copy link
Copy Markdown
Contributor

@jmcte jmcte commented May 23, 2026

Summary

  • Runs native-app Swift package tests through xcodebuild in the PR macOS lane.
  • Adds native-app/APW.entitlements and signs APW.app with the webcredentials:example.com associated-domain entitlement during bundle construction.
  • Adds scripts/ci/run-native-app-preflight.sh to build/test/sign the native app, verify codesign, and compare the signed associated-domain entitlement block against native-app/APW.entitlements.
  • Wires the preflight contract into fast checks so drift from xcodebuild/codesign/entitlement verification is caught before the macOS-only gate.
  • Wires the new preflight into extended validation and hardens macOS OpenSSL discovery so an x86 Homebrew prefix cannot poison arm64 Rust validation.

Closes #52.

Verification

  • xcodebuild -scheme APW-Package -destination platform=macOS -derivedDataPath .xcode-derived test
  • bash -n scripts/ci/run-native-app-preflight.sh scripts/test-native-app-preflight-config.sh scripts/ci/run-fast-checks.sh
  • bash scripts/test-native-app-preflight-config.sh
  • bash scripts/ci/run-fast-checks.sh
  • bash scripts/ci/run-native-app-preflight.sh (outside sandbox; xcodebuild/SwiftPM need user cache access)
  • git diff --check
  • bash scripts/ci/run-extended-validation.sh

Notes

  • This PR proves the hosted macOS lane can exercise the Swift broker package via xcodebuild and that release preflight now verifies codesign plus associated-domain entitlements before tag/release.
  • Real iCloud Keychain picker behavior on a notarized production host remains separately covered by the hardware/notarization validation issue.

Closes #52.

Runs native app Swift tests through xcodebuild in the PR macOS lane, signs APW.app with the associated-domain entitlement during bundle construction, and adds an extended-validation preflight that verifies xcodebuild tests, codesign, and embedded entitlements. Also hardens macOS OpenSSL discovery so an x86 Homebrew prefix cannot poison arm64 extended validation.
@jmcte jmcte requested a review from pheidon as a code owner May 23, 2026 23:48
@athena-omt athena-omt added area:infra Infrastructure, CI, release, governance, scripts, or repo setup. lane:daedalus Daedalus implementation/forge lane. review:athena Athena review governance requested. risk:medium Medium-risk change; normal care required. state:waiting-checks Waiting for CI/check status to settle. status:needs-review PR is ready for Athena review. labels May 23, 2026
pheidon
pheidon previously approved these changes May 24, 2026
Copy link
Copy Markdown
Contributor

@pheidon pheidon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved from Pheidon second-pass review. Native-app signing preflight adds xcodebuild/codesign/entitlement validation, and the full PR Fast CI, Rust, and Native App Swift checks are green.

…-preflight

# Conflicts:
#	docs/bootstrap/onboarding.md
#	scripts/ci/run-extended-validation.sh
@jmcte jmcte removed the state:waiting-checks Waiting for CI/check status to settle. label May 24, 2026
Copy link
Copy Markdown
Contributor

@pheidon pheidon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved from Pheidon sweep. Signing preflight changes remain scoped to validation scripts/entitlements/docs and all required checks are green.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:infra Infrastructure, CI, release, governance, scripts, or repo setup. lane:daedalus Daedalus implementation/forge lane. review:athena Athena review governance requested. risk:medium Medium-risk change; normal care required. status:needs-review PR is ready for Athena review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Roadmap: hosted macOS CI runner for Swift broker end-to-end tests

3 participants