I have a standard spiel about this which I’ve included at the end of this reply. Please read it through first.
With that in mind, let’s come back to your specific questions:
Is it expected behavior for notarization submissions to remain in “In Progress” for such a long period without logs?
Yes, assuming you’ve hit the “in-depth analysis” path.
Is client-side timeout and re-submission the recommended handling for CI workflows?
I see two common patterns reported here on the forums:
- Developers hit this on their first notarisation attempt, or otherwise very early in their Mac development ‘journey’.
- Developers have been happily notarising for a while and then suddenly bump into this.
In the first case my advice is to simply wait. That’s the focus of the boilerplate text that I included at the end of this reply.
My understanding is that you fall into the second case. If you were a small shop that was notarising manually, I’d give you the same advice. Usually this state clears in a few days and so it’s easiest to simply wait.
However, handling this in a CI system is tricky because there’s no clear way to identify this state. I generally don’t recommend just timing out and retrying the exact same submission. This is based on this advice from the notary team. Specifically this:
If your app falls into this category, rest assured that we’ve received your file and will complete the analysis, though it may take longer than usual.
and this:
In addition, if you’ve made changes to your app while a prior upload has been delayed, it’s fine to upload a new build.
from Q&A with the Mac notary service team, linked to from Notarisation Resources (my emphasis).
Resubmitting the exact same build just leaves the notary service with more backlog to grind through once the state clears. OTOH, if you don’t retry at all then you can’t really be sure whether you’ve hit the “in-depth analysis” path or something else has gone wrong.
One option is to let your CI system continue to submit requests up to a point. The symptoms of this state are that, once you enter it, your submission and all subsequent submissions stay In Progress until it clears. So, if your CI system submits N requests — perhaps N might be 5 — and they all stay In Progress, then you can reasonably infer that you’re in this state. At that point it might make sense to hold off new submissions until the state clears.
Having said that, this complexity isn’t required. As noted above, it’s fine to continue submitting new builds while in this state, and that’s certainly the easiest option.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
You can expect that most uploads will be notarised quickly. Occasionally, some uploads are held for in-depth analysis and may take longer to complete. As you notarise your apps, the system will learn how to recognise them, and you should see fewer delays.
For lots of additional info about notarisation, see Notarisation Resources. Specifically, it links to a Q&A with the notary service team that’s quite instructive.