Skip to content

ci: replace dead gon notarization with quill - #923

Merged
cdalar merged 1 commit into
mainfrom
ci/quill-macos-signing
Jun 19, 2026
Merged

cdalar merged 1 commit into
mainfrom
ci/quill-macos-signing

Conversation

@cdalar

@cdalar cdalar commented Jun 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • macOS notarization was disabled in cb8d07f (2023-11-06), likely when Apple deprecated the altool-based flow gon relied on. Every darwin release since (including the current v0.1.26) has shipped unsigned/non-notarized.
  • Splits the builds: matrix in .goreleaser.yml into onctl-macos (darwin, with a quill sign-and-notarize post-hook) and onctl (linux/windows, unchanged).
  • Replaces the dead cert-import + brew install gon CI steps with installing quill (cross-platform, no keychain required) in both goreleaser.yml and goreleaser-self-hosted-test.yml.
  • Removes the now-unused gon/config-{amd64,arm64}.json files.

Secrets required before this can notarize on a real release

  • Reuses existing APPLE_DEVELOPER_CERTIFICATE_P12_BASE64 / APPLE_DEVELOPER_CERTIFICATE_PASSWORD for QUILL_SIGN_P12 / QUILL_SIGN_PASSWORD.
  • New secrets needed (App Store Connect API key): QUILL_NOTARY_KEY, QUILL_NOTARY_KEY_ID, QUILL_NOTARY_ISSUER.
  • AC_PASSWORD (old Apple-ID app-specific password) is no longer used and can be removed once this merges.

Test plan

  • goreleaser check validates the config
  • goreleaser release --snapshot --clean --skip=publish,sign confirms the quill post-hook fires only for darwin targets, not linux/windows
  • Add the 3 new QUILL_NOTARY_* secrets
  • Cut a real tagged release and confirm the darwin binaries are signed/notarized (spctl -a -vv / codesign -dv)

gon was disabled in cb8d07f (2023-11-06), likely when Apple deprecated
the altool-based notarization flow it relied on. Every darwin release
since has shipped unsigned/non-notarized. quill is cross-platform,
needs no keychain, and supports notarytool-based notarization via API
keys.

Requires new repo secrets: QUILL_NOTARY_KEY, QUILL_NOTARY_KEY_ID,
QUILL_NOTARY_ISSUER (App Store Connect API key). Reuses existing
APPLE_DEVELOPER_CERTIFICATE_* secrets for signing.
@codecov

codecov Bot commented Jun 19, 2026

Copy link
Copy Markdown

Codecov Report

βœ… All modified and coverable lines are covered by tests.
βœ… Project coverage is 22.76%. Comparing base (a4b6ce1) to head (9dc6a7f).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #923      +/-   ##
==========================================
+ Coverage   22.62%   22.76%   +0.14%     
==========================================
  Files          42       42              
  Lines        4182     4182              
==========================================
+ Hits          946      952       +6     
+ Misses       3117     3114       -3     
+ Partials      119      116       -3     

β˜” 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 6b46974 into main Jun 19, 2026
15 checks passed
@cdalar
cdalar deleted the ci/quill-macos-signing branch June 19, 2026 19:06
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

⌂ 捒网址