Internals

ArtifactUtils.communicateMethod
communicate(cmd, input) -> output::Vector{UInt8}

Run cmd, write input to its stdin, and return the bytes output read from its stdout. stderr is redirected to Base.stdout.

source
ArtifactUtils.copy_modeMethod
copy_mode(src, dst)

Copy mode of src to dst recursively in a way compatible to how Pkg (Git) compute the tree hash.

See Pkg.GitTools.gitmode comment for how the file mode is handled specially in Windows: https://github.com/JuliaLang/Pkg.jl/blob/247a4062bfde19d93bdcbaccc9737df496fd0c2b/src/GitTools.jl#L189-L192

copy_mode is based on: https://github.com/JuliaIO/Tar.jl/blob/6a946029685639b69ce5a7cc4c4a6c0e6c6b2697/src/extract.jl#L145-L153

source
ArtifactUtils.gist_from_fileMethod
gist_from_file(filepath::AbstractString; private::Bool = true) -> fileurl::String

Create a new gist from file at filepath. Return the "raw" HTTPS URL of the file.

source
ArtifactUtils.open_atomic_writeMethod
open_atomic_write(f, path) -> y

Evaluate y = f(io::IO), atomically replace the file with a new file with the content of io (in well-behaving file systems) and then return y; i.e., it's an atomic version of open(f, path; write = true).

source
ArtifactUtils.with_new_gistMethod
with_new_gist(f; private::Bool = true) -> repo_http::AbstractString

Create a new gist, check it out as a local git repository at a temporary directory git_dir, call f(git_dir), and then push it to remote. Return the canonical gist HTTPS URL.

source