sonic2kk / steamtinkerlaunch

Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs
GNU General Public License v3.0
2.1k stars 70 forks source link

SpecialK: Add option to download latest nightly from GitHub Actions #977

Closed sonic2kk closed 9 months ago

sonic2kk commented 9 months ago

Implements most of #975.

This PR adds logic to fetch the latest GitHub Actions nightly archive. Since the archive name is not fixed, we do this by using fetchLatestGitHubActionsBuild to get the latest workflow commit hash for the relevant workflow name we want, then build the nightly.link URL for the page that will list the latest GitHub Actions build, wget it, and parse out the artifact archive nightly.link download URL we want based on a pattern for how our desired archive name will look.

Once we have this, we set the basename of this ZIP download URL to the SPEKARC which is the destination path for the archive. extSpek takes care of extracting it, and the rest of the paths are built dynamically based on the version name, so the rest of the SpecialK installation logic works without any tweaks.

We did have to make a couple of changes to achieve this:

This branch was tested in #975 and should work, and it also works in my tests, so I will merge it soon. In future, other changes to allow custom SpecialK versions may be implemented as well.

sonic2kk commented 9 months ago

Need to bump langfiles.

sonic2kk commented 9 months ago

Added some more logging, updated langfiles, and bumped the version. ShellCheck is green on this so I think it's ready to merge. I also gave a brief mention to the nightly release on our SpecialK wiki page.