Skip to content

Unable to Download Artifacts for JLL in Private Github Repo #1362

@BenCurran98

Description

@BenCurran98

Hi, I've been having some trouble with setting up a JLL package in a private Github repository in my work's organisation.

I've been able to build and publish the package in a private Github repo, however once I go to actually instantiate it and re-download all the artifacts, I run into a 404 error, which I'm not sure about. I feel like this might potentially have something to do with Downloads.jl, but I'm not sure, since BinaryBuilder.jl was able to correctly push the Github artifacts?

Our organisation requires us to use SSH authentication rather than the usual HTTPS protocol, so not sure if that's contributing to it?

I can't share the codebase, but the error I encounter is something like:

(<pkg-name>_jll) pkg> instantiate
     Failure artifact: <artifact>
     Failure artifact: <artifact>
ERROR: Unable to automatically download/install artifact '<artifact>' from sources listed in '/home/ben/.julia/dev/<pkg-name>_jll/Artifacts.toml'.
Sources attempted:
- https://pkg.julialang.org/artifact/fc7674dc9785525dcbf0838a3692708ddcf30732
    Error: RequestError: HTTP/2 404 while requesting https://pkg.julialang.org/artifact/fc7674dc9785525dcbf0838a3692708ddcf30732
- https://github.com/<org>/<pkg-name>_jll/releases/download/<artifact>.x86_64-linux-gnu.tar.gz
    Error: RequestError: HTTP/2 404 while requesting https://github.com/<org>/<pkg-name>_jll/releases/download/<artifact>.x86_64-linux-gnu.tar.gz

Stacktrace:
  [1] error(s::String)
    @ Base ./error.jl:35
  [2] ensure_artifact_installed(name::String, meta::Dict{String, Any}, artifacts_toml::String; platform::Base.BinaryPlatforms.Platform, verbose::Bool, quiet_download::Bool, io::IOContext{IO})
    @ Pkg.Artifacts ~/.julia/juliaup/julia-1.11.2+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Artifacts.jl:467
  [3] download_artifacts(env::Pkg.Types.EnvCache; platform::Base.BinaryPlatforms.Platform, julia_version::VersionNumber, verbose::Bool, io::IOContext{IO})
    @ Pkg.Operations ~/.julia/juliaup/julia-1.11.2+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/Operations.jl:778
  [4] instantiate(ctx::Pkg.Types.Context; manifest::Nothing, update_registry::Bool, verbose::Bool, platform::Base.BinaryPlatforms.Platform, allow_build::Bool, allow_autoprecomp::Bool, kwargs::@Kwargs{})
    @ Pkg.API ~/.julia/juliaup/julia-1.11.2+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/API.jl:1266
  [5] instantiate
    @ ~/.julia/juliaup/julia-1.11.2+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/API.jl:1166 [inlined]
  [6] instantiate(; kwargs::@Kwargs{})
    @ Pkg.API ~/.julia/juliaup/julia-1.11.2+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/API.jl:1165
  [7] do_cmd(command::Pkg.REPLMode.Command, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.2+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:404
  [8] do_cmds(commands::Vector{Pkg.REPLMode.Command}, io::Base.TTY)
    @ Pkg.REPLMode ~/.julia/juliaup/julia-1.11.2+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/src/REPLMode/REPLMode.jl:393
  [9] do_cmds(repl::REPL.LineEditREPL, commands::String)
    @ REPLExt ~/.julia/juliaup/julia-1.11.2+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:92
 [10] on_done(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool, repl::REPL.LineEditREPL)
    @ REPLExt ~/.julia/juliaup/julia-1.11.2+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:106
 [11] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [12] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [13] (::REPLExt.var"#47#50"{REPL.LineEditREPL})(s::REPL.LineEdit.MIState, buf::IOBuffer, ok::Bool)
    @ REPLExt ~/.julia/juliaup/julia-1.11.2+0.x64.linux.gnu/share/julia/stdlib/v1.11/Pkg/ext/REPLExt/REPLExt.jl:128
 [14] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [15] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [16] run_interface(terminal::REPL.Terminals.TextTerminal, m::REPL.LineEdit.ModalInterface, s::REPL.LineEdit.MIState)
    @ REPL.LineEdit ~/.julia/juliaup/julia-1.11.2+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/LineEdit.jl:2755
 [17] run_frontend(repl::REPL.LineEditREPL, backend::REPL.REPLBackendRef)
    @ REPL ~/.julia/juliaup/julia-1.11.2+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:1474
 [18] (::REPL.var"#75#81"{REPL.LineEditREPL, REPL.REPLBackendRef})()
    @ REPL ~/.julia/juliaup/julia-1.11.2+0.x64.linux.gnu/share/julia/stdlib/v1.11/REPL/src/REPL.jl:480

I double-checked that the artifact definitely exists in the github repo, and I'm also able to download it by hitting the Github API directly:

curl -H 'Authorization: token <GITHUB_TOKEN>' -H 'Accept: application/vnd.github.v3.raw'  -O -L https://github.com/<org>/<pkg-name>_jll/releases/download/<artifact>/<artifact>.x86_64-linux-gnu.tar.gz

Any help/insights would be much appreciated! Thanks :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions