AppImageCommunity / AppImageUpdate

AppImageUpdate lets you update AppImages in a decentral way using information embedded in the AppImage itself.
https://appimage.org
MIT License
582 stars 57 forks source link

Is it possible to add update info when the `release name` changes? #233

Open Samueru-sama opened 3 months ago

Samueru-sama commented 3 months ago

Hello, I'm trying to add zsync updates to the Cemu appimage, but I ran into an issue that I get 404 erros when testing with appimageupdatetool.

The issue ended up being that in Cemu, they have two release types, one is latest which is rarely updated (and last time it was used was before they had an appimage) and the other is a pre-release where the release name is the version of cemu, so it is constantly changing.

This mentions to use wildcard for the version in the name of the file so I tested the same trick but on the other field by using "gh-releases-zsync|$GITHUB_REPOSITORY_OWNER|Cemu|v*|Cemu-*$ARCH.AppImage.zsync" but it did not work, it still can't find the url.

image

probonopd commented 3 months ago

Yes, it is recommended that released versions update to released versions, and test versions update to test versions. Think of it as 2 different "update channels".

It can be done, albeit a bit differently than what you describe:

If I remember correctly, in GitHub, "latest" always points to the most recent release of a project, which is not a prerelease version. This means that if a project has both stable and prerelease versions, the "latest" tag will point to the most recent stable version, ensuring that users are directed to a version that is considered stable and ready for production use. If you want to access prerelease versions, you would need to look for specific tags or branches that indicate those versions.

So you could use "latest" to refer to the latest v... whereas you could publish e.g., a "testing" tag under which you'd publish the frequently changed testing version. This tag needs to be flagged as "prerelease" so that GitHub doesn't consider it when calculating "latest".

In the testing AppImage, you would set

gh-releases-zsync|Samuera-sama|Cemu|testing|Cemu-*x86_64.AppImage.zsync

In the non-prerelease version (the v... releases) you would set

gh-releases-zsync|Samuera-sama|Cemu|latest|Cemu-*x86_64.AppImage.zsync

This should hopefully give you the desired outcome. Wildcards are only supported in the filename iirc.