Opened 12 months ago
Closed 8 months ago
#16265 closed defect (fixed)
Failed notarizations should not be put in downloads
Reported by: | Tom Goddard | Owned by: | Zach Pearson |
---|---|---|---|
Priority: | high | Milestone: | |
Component: | Build System | Version: | |
Keywords: | Cc: | chimera-programmers | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
Mac notarization failure is supposed to be a build failure so the build
does not go on the web. That should be fixed.
Change History (10)
comment:1 by , 12 months ago
Owner: | changed from | to
---|
comment:2 by , 12 months ago
The old build scripts just echoed "ERROR IN NOTARIZATION" and made the unnotarized application available to download. There is code to treat it as a failure, but the echo never fails.
comment:3 by , 12 months ago
Yeah, my dim recollection was that notarization failures still went on the web site. Nonetheless, since running the app when the notarization failed is basically impossible for the average user, it would be good to treat notarization failures the same as other build failures and not put them on the web site.
comment:4 by , 8 months ago
My GitHub Actions script retries notarization until it succeeds, but even before I implemented that failing notarizations would fail builds. That meant that those ChimeraXes wouldn't get uploaded. I think it's safe to close this ticket.
comment:5 by , 8 months ago
Doesn't retrying until it succeeds just make the build hang when notarization fails because a change to ChimeraX makes it not pass notarization? Even for the case when the Apple service is down or overloaded retrying with no limit seems like a bad idea, exchanging one bad behavior (failed notarization) for an equally bad one, hanging the builds. The past behavior of retrying 5 times seemed like the sensible compromise.
comment:6 by , 8 months ago
It's always notarizing that fails and never signing, and double-checking the script I can see why: signing waits for 30 seconds before retrying, but notarizing doesn't! It fails 5 times fast and then my retry action waits ten seconds before retrying the whole step. I could just add a call to time.sleep where necessary and remove the retry action, but as it is it's limited to 100 tries or 60 minutes total, whichever ends up being lower. Notarizing takes ~5-7 minutes so probably the time limit will be hit first.
comment:7 by , 8 months ago
I'm not sure I was clear before. Notarization can fail because or distribution does not meet Apple requirements. Then trying over and over for 60 minutes does not make too much sense. But maybe it is ok given that there is a 60 minute limit. Since the previous method was try up to 5 times I think it also could not distinguish an Apple service failure from a non-compliant distribution failure, so that also would waste 5 retries if or distribution does not meet some notarization requirement. So it sounds like the current behavior is ok. I didn't know about 60 minute limit since a few comments ago you said it retries until it succeeds.
comment:8 by , 8 months ago
Yes, sorry, when I said that I failed to take into account the case where a build was doomed to fail because it didn't meet Apple requirements.
comment:9 by , 8 months ago
Owner: | changed from | to
---|
comment:10 by , 8 months ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
FWIW, notarization failures are considered an error on Actions so Mac daily builds that don't get signed just don't get uploaded. I'm not sure how the old build scripts work.