You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While the example below is that of a specific manifest, the request is more general
Is your feature request related to a problem? Please describe.
I wanted to check out the latest binaries for a project, but they only publish via artifacts resulting from GitHub workflows, and I couldn't figure out a way to adjust the scoop manifest (and didn't find any examples) to allow downloading such files.
You can check out this manifest with the current status
I've managed to 'fix' the checkver function by adding a powershell script that gets the date of the latest successfully built artifact, which would be a great replacement for the version.
Though as far as I understand from reading the manifest spec, scoop doesn't support dates as version, so that would have to be fixed via either of:
convert the date from : to some kind of .-separated pseudo-version
use meaningless, but seemingly monotonically increasing workflow ID
(more compliated) download the actual binary and parse it's -V output
(also I think that setting gh_token as a config would remove the need to use $GITHUB_API_TOKEN_READ_SCOOP mentioned in the manifest; will scoop also take care of proper API versions in the headers along with the token?)
However, I don't know what to do in the autoupdate section to actually download the zipped binary. I've pasted the script that does it, but autoupdate doesn't accept scripts, and even with gh_token set it can't for some reason download from the api url https://api.github.com/repos/libjxl/libjxl/actions/artifacts/UNIQUE_ART_ID/zip, I got an access denied error (this url gives the actual url you can use to download the zip) — otherwise I could return this UNIQUE_ART_ID in the checkver output alongside the version and regex capture it to use in a simple url property of autoupdate
So is it possible to do now and if not what would be the proper way to do it?
Would autoupdate need to support script property to allow powershell to handle zip download?
Or maybe a new https://api.github.com/... url scheme needs to be added somewhere here?
if ($url-match'github.com/(?<owner>[^/]+)/(?<repo>[^/]+)/releases/download/(?<tag>[^/]+)/(?<file>[^/#]+)(?<filename>.*)'-and ($token=Get-GitHubToken)) {
something else?
One more complication: the urls you get from GitHub REST APIs (which are needed to get all the workflow/artifact lists and URLs) are "ephemereal", disappearing after 1 minute, so it doesn't actually make sense to update the manifest with their values, basically the check/update has to be always done locally.
Would this allow any manifest simplifications?
Describe the solution you'd like
I'd like scoop to allow downloading the latest binaries that are built with GitHub workflows and published as "artifacts"
Describe alternatives you've considered
Manual download is always fun :)
The text was updated successfully, but these errors were encountered:
Feature Request
While the example below is that of a specific manifest, the request is more general
Is your feature request related to a problem? Please describe.
I wanted to check out the latest binaries for a project, but they only publish via artifacts resulting from GitHub workflows, and I couldn't figure out a way to adjust the scoop manifest (and didn't find any examples) to allow downloading such files.
You can check out this manifest with the current status
I've managed to 'fix' the
checkver
function by adding a powershellscript
that gets the date of the latest successfully built artifact, which would be a great replacement for the version.Though as far as I understand from reading the manifest spec, scoop doesn't support dates as version, so that would have to be fixed via either of:
:
to some kind of.
-separated pseudo-version-V
output(also I think that setting
gh_token
as a config would remove the need to use$GITHUB_API_TOKEN_READ_SCOOP
mentioned in the manifest; will scoop also take care of proper API versions in the headers along with the token?)However, I don't know what to do in the
autoupdate
section to actually download the zipped binary. I've pasted the script that does it, butautoupdate
doesn't accept scripts, and even withgh_token
set it can't for some reason download from the api urlhttps://api.github.com/repos/libjxl/libjxl/actions/artifacts/UNIQUE_ART_ID/zip
, I got an access denied error (this url gives the actual url you can use to download the zip) — otherwise I could return thisUNIQUE_ART_ID
in the checkver output alongside the version and regex capture it to use in a simpleurl
property ofautoupdate
So is it possible to do now and if not what would be the proper way to do it?
autoupdate
need to supportscript
property to allow powershell to handlezip
download?https://api.github.com/...
url scheme needs to be added somewhere here?Scoop/lib/core.ps1
Line 1153 in f930280
One more complication: the urls you get from GitHub REST APIs (which are needed to get all the workflow/artifact lists and URLs) are "ephemereal", disappearing after 1 minute, so it doesn't actually make sense to update the manifest with their values, basically the check/update has to be always done locally.
Would this allow any manifest simplifications?
Describe the solution you'd like
I'd like scoop to allow downloading the latest binaries that are built with GitHub workflows and published as "artifacts"
Describe alternatives you've considered
Manual download is always fun :)
The text was updated successfully, but these errors were encountered: