Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add basic Macos signing workflow #2319

Merged
merged 1 commit into from
Jun 26, 2024
Merged

Conversation

johnwparent
Copy link
Collaborator

@johnwparent johnwparent commented May 8, 2024

MacOs Cloud Signing Workflow

Adds basic support for current signing workflow implemented in a headless fashion relying on circleci cloud runners.

Signs app bundle and DMG archive and then notarizes and staples same, with verbose error reporting in the case of a notarization failure.


🚀 This description was created by Ellipsis for commit bfc4579

Summary:

Added macOS signing workflow to CircleCI configuration, including steps for signing, notarizing, and stapling the app bundle and DMG archive.

Key points:

  • Added macOS signing workflow in .circleci/continue_config.yml.
  • Workflow includes sign-offline-chat-installer-macos and notarize-offline-chat-installer-macos jobs.
  • sign-offline-chat-installer-macos sets up keychain, signs app bundle and DMG.
  • notarize-offline-chat-installer-macos notarizes and staples the signed DMG.
  • Added .circleci/grab_notary_id.py to extract notarization ID from logs.

Generated with ❤️ by ellipsis.dev

@johnwparent johnwparent marked this pull request as draft May 8, 2024 19:46
@johnwparent johnwparent force-pushed the macos/cloud-signing-workflow branch 2 times, most recently from d43525f to ec9ff31 Compare May 8, 2024 20:00
@johnwparent johnwparent force-pushed the macos/cloud-signing-workflow branch 2 times, most recently from 24a081b to 35b2acb Compare May 9, 2024 19:52
@johnwparent
Copy link
Collaborator Author

Applied suggestions + refactored to avoid the use of the -p argument to security in favor of piping the passwords to stdin.

Adds basic CircleCI workflow to sign, notarize,
and staple MacOS app bundle and associated DMG,
then publishes signed binary in CircleCI artifacts

Signed-off-by: John Parent <john.parent@kitware.com>

Signed-off-by: Adam Treat <treat.adam@gmail.com>
@johnwparent johnwparent marked this pull request as ready for review June 25, 2024 23:11
Copy link

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

👍 Looks good to me! Reviewed everything up to 04b918c in 57 seconds

More details
  • Looked at 134 lines of code in 2 files
  • Skipped 0 files when reviewing.
  • Skipped posting 1 drafted comments based on config settings.
1. .circleci/grab_notary_id.py:14
  • Draft comment:
    Consider processing the log file line by line instead of reading it entirely into memory to handle potentially large log files more efficiently.
  • Reason this comment was not posted:
    Confidence changes required: 33%
    The script grab_notary_id.py is used to extract the notarization ID from the log file generated during the notarization process. The regular expression ID_REG is designed to capture the ID following the pattern "id: <id_value>". The script reads the entire log file into memory, which could be optimized for large log files by processing line by line instead. However, this is not a critical issue unless the log files are expected to be very large. The script correctly handles the case where the ID is not found by raising a RuntimeError, which is appropriate for a script used in a CI/CD pipeline where clear error reporting is crucial.

Workflow ID: wflow_l3EuSUIT92WOWEIk


You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet mode, and more.

8 days left in your free trial, upgrade for $20/seat/month or contact us.

Copy link

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

❌ Changes requested. Incremental review on bfc4579 in 1 minute and 20 seconds

More details
  • Looked at 134 lines of code in 2 files
  • Skipped 0 files when reviewing.
  • Skipped posting 0 drafted comments based on config settings.

Workflow ID: wflow_K6wXn7sqPvfzbIGF


Want Ellipsis to fix these issues? Tag @ellipsis-dev in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet mode, and more.

8 days left in your free trial, upgrade for $20/seat/month or contact us.

@nomic-ai nomic-ai deleted a comment from ellipsis-dev bot Jun 26, 2024
@manyoso manyoso merged commit 30febbe into main Jun 26, 2024
6 of 18 checks passed
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.

3 participants