macOS portable release publishes despite Invalid notarization result

オープン
#706 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
50/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
github-actions, macos, shell
領域
ci-cd, release

調査の方向性

The relevant step is 'Zip package and notarize Macos' in .github/workflows/build.yml, which runs xcrun notarytool submit ... --wait, followed by the 'Publish To S3' step that uploads lean-latest-macos.zip. Start by capturing the submission result as structured output and reading how the job reaches publication. Done means the step fails and skips upload unless the status is Accepted, with Accepted and Invalid cases covered by a test.

索引モデルが issue の本文から書いたものです。

説明

Observed failure

The macOS portable release for 1.0.233 was uploaded even though notarization returned Invalid:

https://github.com/QuantConnect/lean-cli/actions/runs/40571320470/job/122434730166

The job's notarization result is status: Invalid at 2026-10-27 20:15:49 UTC. It then runs Publish To S3, uploads lean-latest-macos.zip, and finishes successfully. Both the notarization and publication steps are marked successful.

This happened on macos-14, before #695, and the relevant commands are unchanged by that PR.

Where

In .github/workflows/build.yml, Zip package and notarize Macos runs xcrun notarytool submit ... --wait, but the subsequent publication does not check that the returned status is Accepted. A successful job therefore does not establish that the published archive passed notarization.

Expected behavior and suggested fix
  • Capture the submission result as structured output and explicitly require status == "Accepted" before uploading the macOS archive.
  • Make rejected, incomplete, or malformed results fail the job and prevent publication; cover Accepted and Invalid results with tests.
  • Retrieve the notarization diagnostic report to investigate the rejection separately. The public job log establishes the rejected result, but not its underlying cause.

The existing release log is the reproduction; no new release was triggered. This should be fixed before relying on the next macOS release's green workflow status as proof of successful notarization.

主要言語
Python
スター
329
フォーク
169
平均マージ
2日 21時間
マージ済み PR(30日)
18

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

QuantConnect/lean-cli のほかの issue

QuantConnect/lean-cli の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。