Skip to content

Provision Sparkle tools in Lume runners#179

Merged
jmcte merged 5 commits into
mainfrom
codex/sparkle-lume-tools
Jul 14, 2026
Merged

Provision Sparkle tools in Lume runners#179
jmcte merged 5 commits into
mainfrom
codex/sparkle-lume-tools

Conversation

@jmcte

@jmcte jmcte commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Provision checksum-pinned Sparkle 2.9.4 generate_appcast and generate_keys in the sealed Lume macOS base VM.
  • Mark rebuilt Lume slots with the explicit sparkle-release capability and update the base-image metadata.
  • Document the base-VM rebuild sequence without placing signing or notarization credentials in the image.

Governing Issue

Closes #178

Validation

  • bash -n scripts/guest/install-sparkle-tools.sh
  • bash -n scripts/lume/provision-base-vm.sh
  • Verified the installer end-to-end against the checksum-verified official Sparkle 2.9.4 archive in a disposable home directory.
  • pnpm test (48 files, 273 tests)
  • pnpm lint

Bootstrap Governance

  • Changes are scoped to the linked issue.
  • No real secrets, runtime auth, or machine-local env files are committed.
  • The downstream APW workflow will consume a sparkle-release capability only after the base VM is rebuilt and slots are reconciled.

Risk and rollout

  • Requires a controlled Lume base-VM reprovision, pool drain, and slot reconciliation before dependent workflows can use the label.
  • The runner-group access change for OMT-Global/apw-cli remains an organization-admin action.
  • Private Sparkle EdDSA and Apple credentials remain release-time secrets and are intentionally excluded from the base VM.

Merge Automation

  • Enable auto-merge once required review and checks are satisfied.

@jmcte
jmcte requested a review from a team as a code owner July 13, 2026 07:00
@jmcte
jmcte enabled auto-merge (squash) July 13, 2026 07:13
Install checksum-pinned Sparkle release tools into the sealed macOS base VM, advertise the sparkle-release capability, and document the rebuild flow. Closes #178.
@jmcte
jmcte force-pushed the codex/sparkle-lume-tools branch from cd855f3 to 2d04ccc Compare July 13, 2026 13:32

@athena-omt athena-omt left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Reviewed the Lume Sparkle tooling provisioner. The base-VM path installs only the checksum-pinned public Sparkle release tools, verifies the extracted binaries, updates the pool image tag/label only for rebuilt capacity, and documents that signing/notarization secrets stay out of the VM image.

Validation run on the refreshed PR head:

  • pnpm vitest run test/lume-config.test.ts test/lume-scripts.test.ts
  • bash -n scripts/guest/install-sparkle-tools.sh scripts/lume/provision-base-vm.sh
  • pnpm lint

@jmcte
jmcte merged commit d787462 into main Jul 14, 2026
17 checks passed
@jmcte
jmcte deleted the codex/sparkle-lume-tools branch July 14, 2026 07:53
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.

Provision pinned Sparkle tools in the Lume macOS release pool

2 participants