Skip to content

ghostty: split durable artifact infrastructure - #111

Merged
vaayne merged 3 commits into
mainfrom
infra/durable-ghosttykit
Aug 1, 2026
Merged

ghostty: split durable artifact infrastructure#111
vaayne merged 3 commits into
mainfrom
infra/durable-ghosttykit

Conversation

@vaayne

@vaayne vaayne commented Aug 1, 2026

Copy link
Copy Markdown
Owner

What

  • pin Mori's Ghostty submodule to the remux fork and build one verified universal macOS + iOS GhosttyKit.xcframework
  • add a source-controlled lock, strict contract parser, package manifest, framework-tree hashing, and adversarial fixtures
  • make macOS releases draft-first and add protected, no-overwrite GhosttyKit publishing plus a non-publishing release preflight

Why

GhosttyKit production and app release are separate concerns. Actions cache remains acceleration only; it is not durable artifact authority. Landing this infrastructure separately keeps the MoriRemote rewrite review focused and lets the publisher workflow exist on the default branch before its first guarded dispatch.

Deliberate limits

  • ghosttykit-lock.json remains a candidate with both artifact digests null until the first protected publication completes.
  • Repository immutable releases are still disabled. The publishing path fails closed until draft preflight passes and immutability is enabled.
  • This PR does not yet switch ordinary CI, local development, or app release consumers from same-run source builds to durable downloads.
  • App-specific MoriRemote runtime and UI changes are excluded.

Verification

  • bash -n for all changed shell entry points
  • parsed changed workflow YAML and mise.toml
  • bash scripts/tests/test-ghosttykit-contract.sh
  • bash scripts/tests/test-release-workflows.sh
  • git diff --check

A local clean universal build reaches Zig but fails at the known local Zig 0.15.2 macOS linker issue (_sigaction, _waitpid, etc.); the canonical macos-15 workflow build is the artifact gate.

vaayne added 3 commits August 1, 2026 22:10
Pin the remux Ghostty source and make the reusable builder produce and verify one macOS+iOS artifact. Keep app-specific MoriRemote consumer changes out of this infrastructure commit.
Track the source/build/artifact authority outside ignored Frameworks, package verified universal candidates, and reject malformed locks or mutated trees before publication.
Make app releases draft-first before repository immutability, add the protected source publisher, and verify no-overwrite/multi-asset publication offline.
@vaayne
vaayne merged commit b2f362b into main Aug 1, 2026
5 checks passed
@vaayne
vaayne deleted the infra/durable-ghosttykit branch August 1, 2026 14:28
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