Repository navigation
fix(release): sign the packaged macOS keyring addons before notarization - #6271
Conversation
Notarization rejected the 2.73.0 preview app: Resources/keyring/*.node, bundled since #6161, were unsigned or ad-hoc and had no secure timestamp, and Tauri does not sign files under Resources. Sign each darwin addon in place with the Developer ID identity, hardened runtime and timestamp after the certificate import and before tauri build, verify the result, and fail a real release that lacks signing material.
|
✅ Deterministic PR hygiene checks passed. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Repository: lidge-jun/opencodex/.coderabbit.yaml Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Security review (read-only, independent reviewer) at |
리뷰 · 우선순위 73 / 802.73.0 미리보기 배포가 막혔어요. 앱 안의 이 PR은 인증서를 키체인에 넣은 뒤, Tauri가 묶기 전에
메인테이너의 판단이 필요한 지점 서명 문을 인증서만 볼지, 서명 이름·팀 ID까지 “한 세트”로 볼지 정해 주세요. 묶은 뒤 스윕에 시간 도장·런타임 검사까지 넣을지도 정해 주세요. 위젯 확인 스텝은 아직 너의 추천 합쳐도 됩니다. 원인·순서·실패 조건이 맞아요. 사이드카 준비 뒤·번들 빌드 앞이라는 순서도 테스트가 잠가요. 다만 머지 전에 서명 이름·팀 ID가 비었을 때도 지금처럼 원본 이 댓글은 grok-bot이 작성했습니다 |
|
Maintainer integration on the owner-authorized 2.73.0 release: merging at exact head |
…6711) * release: v2.33.0-preview.20260825 * release: v2.34.0-preview.20260827 * release: v2.36.0-preview.20260829 * fix(release): pass the bump job's permissions through the reusable-workflow call (#3262) Both v2.40.0 release dispatches (33615174183 preview, 33615177849 main) died at startup_failure: a workflow_call cannot grant its callee more than the calling job holds, and dev-version-bump.yml's job declares contents+pull- requests write. #3129 wired the call but never dispatched a release, so this is its first live run. The caller job now declares exactly the callee's two permissions; no other job in release.yml gains anything. Co-authored-by: jun <jun@lidge.dev> (cherry picked from commit 7ce0ba5) * release: set preview channel version 2.48.0-preview.20260908 * release: set main channel version 2.48.0 * chore(release): promote 2.55.0-preview.20260914 to preview Promotes the dev product snapshot 62f0222 to the preview train. The 2.55.0 line carries the #4546 cost-guard work: one send budget per logical request with a shared final-recovery reserve, zero-is-zero refusals with a typed error rather than a synthetic 502, compact and the Kiro inner retries admitted against that budget, a finite send ceiling per root workflow with an interactive reserve a fan-out cannot take, and a healthy detour promoted on transient-hold expiry instead of released cold. The previous preview tip 2.54.0-preview.20260914 is already tagged and published and is outranked by v2.54.0, so it could not be re-released; this is a new candidate rather than a re-cut. * chore(release): promote the verified 2.55.0 product tree to main Same product tree as preview 7bdd1b2 / 2.55.0-preview.20260914, which published successfully with its registry smoke green. Only package.json version differs. * ci(release): expose Linux bundler diagnostics for stable artifacts * fix(release): prepare stable platform bundles * fix(desktop): carry native sidecar packaging repair to main (#5532) * chore(ci): refresh main release verification (#5534) * fix(release): carry lipo argument fix to main (#5537) * fix(release): carry checksum and signature repair to main (#5546) * fix(release): carry Windows checksum record support to main (#5552) * fix(release): publish the GitHub release only after its verified assets attach (#5555) (#5558) GitHub freezes a release when it is published, so the attach step's upload came back HTTP 422 "Cannot upload assets to an immutable release". Every release from v2.55.0 to v2.60.0 therefore shipped with zero assets and the desktop updater had nothing to download. Create the release as a draft and flip it to published in attach-release, after the verified bundle is uploaded. Release notes still come from the validated notes file written at creation. * release: prepare 2.63.0 version metadata (#5612) * release: prepare 2.69.0 version metadata * fix(release): sign the packaged macOS keyring addons before notarization (#6271) * fix(release): sign the packaged macOS keyring addons before notarization Notarization rejected the 2.73.0 preview app: Resources/keyring/*.node, bundled since #6161, were unsigned or ad-hoc and had no secure timestamp, and Tauri does not sign files under Resources. Sign each darwin addon in place with the Developer ID identity, hardened runtime and timestamp after the certificate import and before tauri build, verify the result, and fail a real release that lacks signing material. * fix(release): match keyring signature fields without a pipe (cherry picked from commit 11782ee) * chore(release): 2.74.0 * fix: demote developer to user for OrcaSAQ-2 leading-system template The OrcaSAQ-2-Cyber-27B GGUF pins the same chat-template contract as Qwen3.8-27B — a non-leading `system` raises and `developer` is unsupported — so translated requests carrying a mid-conversation developer reminder failed upstream with a 500 template error. Widen the leading-system matcher to the OrcaSAQ family (org prefix optional, quant tag optional) so the reminder keeps its slot as `user`. --------- Co-authored-by: JUN <bitkyc08@gmail.com> Co-authored-by: jun <jun@junui-MacBookPro.local> Co-authored-by: jun <jun@lidge.dev> Co-authored-by: lidge-jun <243035832+lidge-jun@users.noreply.github.com> Co-authored-by: t <a@b.com> Co-authored-by: JUN <jun@lidgeai.com>
Summary
The 2.73.0 preview release failed before publishing: Apple notarization rejected
OpenCodex.appbecauseContents/Resources/keyring/keyring.darwin-arm64.nodeandkeyring.darwin-x64.node(bundled since #6161) were not signed with the Developer ID certificate and had no secure timestamp (release.yml run 36648529039, jobpackage-desktop (macos-latest …), notary id e5216fb0). Tauri signs the app, sidecar and widget, but not files under Resources.This adds a macOS step after the certificate import and before
tauri buildthat signs eachdesktop/src-tauri/resources/keyring/*.darwin-*.nodein place withcodesign --force --timestamp --options runtimeand the release identity, then verifies the TeamIdentifier, hardened-runtime flag and timestamp. A real release without signing material fails instead of shipping unsigned addons; a dry run keeps them as prepared. Nothing was published by the failed run (npmlatest2.72.0,preview2.72.0-preview.20260930; the publish job was skipped).Verification
tests/ci-workflows/release-desktop-scripts.test.tsgains a contract case for the step's platform, glob, codesign flags, verification, real-release refusal and order (after the keychain import and sidecar preparation, beforeBuild desktop bundles); release workflow tests 68 pass, 0 fail.actionlint .github/workflows/release.yml: the same 3 pre-existing findings with and without this change, none in the new step.bun run privacy:scanpasses.Checklist