[Tech] Download helper binaries instead of storing them in the repo #3849
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Storing Legendary, gogdl, and Nile in this repo directly meant that updating them increases the size of our
.git
folder substantially. This is not a sustainable solution.Instead, we now download them from GitHub, using
nightly.link
as a middle-man (to avoid authenticating). Subsequently, the current binaries were deleted.Where exactly the binaries come from is tracked using a run ID stored in the update script (
meta/downloadHelperBinaries.ts
). Thus, changing this is as easy as changing that ID & re-runningpnpm download-helper-binaries
.The current workflow run IDs point to the latest ones available in their respective repositories. As such, this PR updates Legendary and gogdl (resolving issues with EA app detection and repeated "Galaxy Common Redistributables" downloads).
You will have to run
pnpm download-helper-binaries
manually when testing this PR / after it's merged, as well as every time the run ID changes. I opted for not doing this automatically to lessen the load onnightly.link
, as the script currently does not check whether the binaries have actually changed (a follow-up PR might change this).Closes #3846
Closes #3833
Use the following Checklist if you have changed something on the Backend or Frontend: