Repository navigation
feat(release): sign and notarize macOS CLI through BK-CI - #508
Merged
Merged
Conversation
iuyo5678
marked this pull request as ready for review
October 28, 2026 06:22
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mac CLI releases currently contain unsigned executables. This change adds Developer ID signing and Apple notarization through internal BK-CI, and makes GitHub publish a release only after independently verifying both Windows and Mac results. Apple credentials and the signing key remain on the internal Mac node; existing archive names and installation paths are preserved.
The Mac helper validates the tag, source workflow, run attempt and artifact digests, checks that signing preserves the Mach-O program bytes, validates Apple's ticket coverage, and resumes a pending notarization submission on retry. Completed signing retries revalidate and reuse the exact bundle and manifest, including after a lost upload response. Publishing downloads the artifact IDs returned by each verification job, so partial reruns retain successful Windows/Linux or Mac packages from earlier attempts. Both OS handoffs share one draft release, with Windows owning draft creation. Final publication checks matching build identities, packages the verified bytes, and regenerates checksums.
Includes an internal pipeline template, a verification-only mode that cannot modify GitHub releases, and setup/recovery documentation.
Validation:
bsk --versionpassed. No published release was modified.Access is deniedwhile pairing; that job passed on an isolated retry without code changes.Merged into main at 9c7557a. BK-CI formal configuration V3(P3.T2.3) is published with the helpers pinned to that merge commit; the signing helpers and publishing workflows are identical to the tested PR version. The GitHub Create Branch Or Tag trigger is enabled for Tencent/BrowserSkill with filter cli-v*, and manual recovery remains enabled. The earlier V2 verification-only run passed with unchanged signed-bundle and manifest hashes. No application tag or public release was created during setup; automatic tag-to-publication execution remains to be verified on the next authorized CLI release.