Skip to content

release: drop Homebrew tap and Apple signing, install via curl only - #1206

Merged
cdalar merged 1 commit into
mainfrom
drop-brew-and-apple-signing
Oct 21, 2026
Merged

cdalar merged 1 commit into
mainfrom
drop-brew-and-apple-signing

Conversation

@cdalar

@cdalar cdalar commented Oct 21, 2026

Copy link
Copy Markdown
Owner

Why

The Apple Developer ID certificate behind quill's sign-and-notarize step expired on 2026-10-16, which broke the v0.1.35 release run. Instead of renewing it, stop signing macOS binaries and stop publishing to the Homebrew tap. The curl installer at onctl.sh/get.sh is now the only documented install path for macOS and Linux.

Binaries fetched with curl don't carry the quarantine attribute, so Gatekeeper never inspects them. The GPG-signed checksums still cover integrity.

Changes

  • .goreleaser.yml: single build for darwin/linux/windows, no quill post hook, no homebrew_casks
  • goreleaser.yml / goreleaser-self-hosted-test.yml: remove quill install/verify steps and the APPLE_* / QUILL_* secret wiring
  • README.md / docs/docs/index.md: one "macOS and Linux" install section using curl; brew-only onctl-dev instructions and scripts/install-dev.sh removed (the edge build already covers "latest main")
  • .goreleaser.edge.yml, edge.yml, .bestpractices.json: comments/justification no longer describe the notarized/Homebrew pipeline

Verified

  • goreleaser check passes
  • goreleaser build --snapshot --single-target builds the darwin binary and it runs

Follow-ups (not in this PR)

  • The APPLE_DEVELOPER_CERTIFICATE_* and QUILL_NOTARY_* repo secrets are now unused and can be deleted
  • cdalar/homebrew-tap will stop receiving updates and can be archived
  • The release job still runs on the self-hosted macOS runner, which only existed for signing; it could move to ubuntu-latest

🤖 Generated with Claude Code

The Developer ID certificate used by quill to sign and notarize the
macOS binaries expired on 2026-10-16 and broke the v0.1.35 release.
Rather than renew it, stop signing macOS binaries altogether: the curl
installer (onctl.sh/get.sh) downloads without the quarantine attribute,
so Gatekeeper never inspects the binary, and GPG-signed checksums still
cover integrity.

- .goreleaser.yml: one build for darwin/linux/windows, no quill post
  hook, no homebrew_casks publish
- goreleaser workflows: remove quill install/verify steps and the
  APPLE_*/QUILL_* secret wiring
- docs/README: macOS and Linux both install via curl; remove the
  brew-only onctl-dev instructions and scripts/install-dev.sh (the edge
  build covers "latest main")
- edge config/workflow comments and .bestpractices.json: stop
  describing the notarized/Homebrew pipeline

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@cdalar
cdalar enabled auto-merge (squash) October 21, 2026 13:33
@codecov

codecov Bot commented Oct 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 41.25%. Comparing base (d36c123) to head (54e4b56).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1206   +/-   ##
=======================================
  Coverage   41.25%   41.25%           
=======================================
  Files          69       69           
  Lines        7560     7560           
=======================================
  Hits         3119     3119           
  Misses       4441     4441           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@cdalar
cdalar merged commit 15cae3b into main Oct 21, 2026
14 checks passed
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

⌂ 换网址