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

Enhancement: make notarization process optionally asynchronous #149

Open
baparham opened this issue Jul 19, 2023 · 2 comments
Open

Enhancement: make notarization process optionally asynchronous #149

baparham opened this issue Jul 19, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@baparham
Copy link

Considering that some of us pay for CI minutes, potentially waiting for hours for notarization to succeed or simply time out could be not so good.

I'm wondering if there's a flow to notarize electron apps where you could package and sign the app, submit it for notarization and retrieve the submission ID from the json results

xcrun notarytool submit test-app.zip --output-format=json <credentials>
{"message":"Successfully uploaded file","path":"...\/test-app.zip","id":"<my submission id here>"}

and then somehow cache the results in some state, and then at a later time perhaps after a quick polling job succeeds, start a new CI job, restore said cache, and give electron/notarize (and in most use cases, electron-packager) the instructions to continue from a cache and just pick up where it left off now that the notarization is done.

The latter half of this plan sounds quite complex, but this is such a strange, asynchronous process that doesn't lend itself well to CI it seems.

Any thoughts?

@baparham
Copy link
Author

There is also a --webhook parameter in the notarytool submit command that could be taken advantage of here too.

This makes triggering the followup job potentially easier, but access to a public webhook likely means we're running from a public source repo, aka free CI minutes, so the whole point is rather moot and one may as well just wait in a single job for notarization to complete.

Unless of course we want to have a nicer climate footprint by not just sitting idle waiting for Apple :-)

@gorillamoe
Copy link

gorillamoe commented Dec 1, 2024

Both wait and webhook is supported on the current fork https://github.com/mistweaverco/electron-notarize-async

It's even published to npm, so you can start using it right away.

It's a drop in replacement, so should really work out of the box.

It does not wait by default, so hence the name async.

Downside to this being async is, that you won't staple the ticket in, but I don't mind for the moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants