Reloaded-Project / Reloaded-II

Universal .NET Core Powered Modding Framework for any Native Game X86, X64.
GNU General Public License v3.0
515 stars 72 forks source link

Bug: Automatic mod updates through Github fail if any release tag is invalid #359

Open Nenkai opened 2 months ago

Nenkai commented 2 months ago

Title.

For context: Initially over at gbfrelink.utility.manager we had been assigning release tags using the vX.Y.Z pattern (example: v1.0.0) which seems to be standard practice (shown on the git tagging documentation or even the dedicated github page) for automatic mod updates through Github.

The current documentation explicitly states that SemVer 2.0 should be used, so we corrected the tag for the latest version to use raw SemVer, but that seemed not sufficient and an exception will be silently thrown if any older release tag does not follow the expected tag format. Thankfully we did not have many releases so correcting all of the tags was fairly straightforward.

My recommendation is that any invalid release tag should be ignored and optionally, the v prefix should be supported.

Sewer56 commented 2 months ago

Just woke up 😅

I'm any case, this seems fairly trivial to do:

You'd have to patch:

and

To strip the v prefix (if it exists) for determining versions. Just a few lines of code. And of course, adding a unit test afterwards.

Might also not be a bad idea to cache the result of the Releases API call there, even if for a few minutes. I'm surprised I didn't, the ETags aren't that effective, unfortunately.