justdan96 / tsMuxer

tsMuxer is a transport stream muxer for remuxing/muxing elementary streams, EVO/VOB/MPG, MKV/MKA, MP4/MOV, TS, M2TS to TS to M2TS. Supported video codecs H.264/AVC, H.265/HEVC, VC-1, MPEG2. Supported audio codecs AAC, AC3 / E-AC3(DD+), DTS/ DTS-HD.
Apache License 2.0
853 stars 144 forks source link

Fix Nightly Release Uploads #569

Closed justdan96 closed 2 years ago

justdan96 commented 2 years ago

A long overdue change this one. GitHub in more recent times has seen more frequent ECONNRESET errors when uploading release artefacts. GitHub has not resolved these issues (that may be ratelimiting for all we know) so we need to replace deprecated actions/create-release and actions/upload-release-asset with ncipollo/release-action. This new version can handle retrying, which seems to be the only way to work around this issue.

justdan96 commented 2 years ago

I was hoping to do some more checking offline but there doesn't appear to be a way to validate GitHub Actions. I'll merge this one and then check for issues in the morning.

justdan96 commented 2 years ago

Happy to say the nightly release worked - we shouldn't see further failures for uploading build artefacts. https://github.com/justdan96/tsMuxer/actions/runs/2074824751

lighterowl commented 2 years ago

Unfortunately it looks like this still occurs even with ncipollo/release-action :facepalm:

Tonight's nightly failed to upload lnx.zip - https://github.com/justdan96/tsMuxer/actions/runs/2080693953 . To make matters worse, the build is reported as successful so you don't get a notification and don't know that the release is missing an artifact unless you actually have a look at the release page.

Apparently it's been an issue for some time globally , for example https://github.com/actions/upload-artifact/issues/116 was created in August 2020 , while https://github.com/github/feedback/discussions/9121 has been unanswered since December 2021.

People have apparently had some success with just running the GitHub Client (gh) to upload releases, but I can't now find the ticket where this was described. Perhaps doing that plus implementing some kind of back-off in case of failure finally ends this.

justdan96 commented 2 years ago

I might just fork ncipollo/release-action to add more retries and more time delays in between. I am wondering if consolidating all the files to be uploaded from the Docker into one step might improve things but I'm not sure.

justdan96 commented 2 years ago

Artefacts were all uploaded successfully last night, let's monitor this for a week to see if we get any more failures and retries.