Skip to content

Use stable macOS signing identifiers - #20

Merged
zanieb merged 4 commits into
mainfrom
stable-macos-binary-identifier
Oct 16, 2026
Merged

zanieb merged 4 commits into
mainfrom
stable-macos-binary-identifier

Conversation

@zanieb

@zanieb zanieb commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

macOS ARM64 uv releases retain linker-generated code-signing identifiers when signed with Developer ID. Those identifiers change between releases, so rules based on them can treat an upgrade as a different program (astral-sh/uv#22627).

Derive each binary's code-signing identifier from its filename in the sh.astral namespace. This gives uv, uvx, and uv-build distinct identifiers that remain stable as long as their filenames remain unchanged. Existing x86_64 binaries use unprefixed filenames as identifiers, so rules tied to those identifiers will need a one-time update.

@zanieb
zanieb marked this pull request as ready for review October 16, 2026 15:57
@zanieb
zanieb requested a review from woodruffw October 16, 2026 15:57
"--pkcs11-key-label",
os.environ["KEY_NAME"],
"--binary-identifier",
source.name,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think RDNS is idiomatic even if we stick to just uv, so maybe f"sh.astral.{source.name}"?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

uhh I thought this is what it was doing, maybe it's being dumb, will check

@zanieb
zanieb merged commit bc129f0 into main Oct 16, 2026
@zanieb
zanieb deleted the stable-macos-binary-identifier branch October 16, 2026 16:45
zanieb added a commit to astral-sh/ty that referenced this pull request Oct 16, 2026
Adopt astral-sh/github-actions#20 so macOS releases use the stable
`sh.astral.ty` code-signing identifier across architectures. Rules tied
to the existing unprefixed x86_64 identifier will need a one-time
update.

Co-authored-by: zaniebot <[email protected]>
zanieb added a commit to astral-sh/ruff that referenced this pull request Oct 16, 2026
Adopt astral-sh/github-actions#20 so macOS releases use the stable
`sh.astral.ruff` code-signing identifier across architectures. Rules
tied to the existing unprefixed x86_64 identifier will need a one-time
update.

Co-authored-by: zaniebot <[email protected]>
zanieb added a commit to astral-sh/uv that referenced this pull request Oct 16, 2026
Adopt astral-sh/github-actions#20 so macOS releases use `sh.astral.uv`,
`sh.astral.uvx`, and `sh.astral.uv-build` across architectures. These
identifiers remain stable across releases as long as the filenames do;
rules tied to the existing unprefixed x86_64 identifiers will need a
one-time update.

Co-authored-by: zaniebot <[email protected]>
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.

4 participants