macOS portable release publishes despite Invalid notarization result

Đang mở
#706 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 2 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
50/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
github-actions, macos, shell
Lĩnh vực
ci-cd, release

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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.

Ngôn ngữ chính
Python
Star
330
Fork
171
Merge trung bình
2 ngày 21 giờ
Pull request đã merge (30 ngày)
18

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của QuantConnect/lean-cli

Tất cả issue của QuantConnect/lean-cli

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.