S3 URL:
- v1: https://julialang-s3.julialang.org/bin/versions.json
- v2: [coming soon]1
schema.json contains a JSON Schema for the versions.json file.
It can be used to validate the versions file or to generate code from the schema.
S3 URL: https://julialang-s3.julialang.org/bin/nightlies.json
nightlies.json is experimental: its format may still change in breaking ways.
nightlies.json is the counterpart of versions.json for in-development builds. Its top-level keys are the
nightly channels in juliaup's vocabulary: nightly (builds of master) and x.y-nightly (the latest build of the
x.y release series, i.e. of release-x.y once that branch exists). Each channel has a files list describing the
standard builds with the same keys as versions.json (triplet, os, arch, kind, extension, url), with two
differences:
- There is no
version,size,sha256or tree hash: every URL is ajulia-latest-*file that is overwritten after each successful build on its branch, so nothing content-specific can be recorded. Consumers should track changes through the server'sETag/Last-Modifiedheaders (as juliaup does). The detached signature, when one is published, is referenced by URL inasc-urlrather than inlined. - Build variants of the standard binaries are listed in a separate
variantslist (absent when there are none), so that tools selecting a file fromfilesby platform never pick up a variant by accident. Its entries have the keys offilesplusvariants, the names of the variants applied to that build:opt(the PGO+LTO+BOLT optimized build),assert(Julia and LLVM assertions enabled) andnogpl(no GPL-licensed dependencies). Every build currently has a single variant; the list leaves room for combinations.
schema-nightlies.json contains its JSON Schema. See the
devdocs for how the file is generated.
This is a (not necessarily complete) list of known tools that make use of versions.json.
If you maintain such a tool, please make a PR to add it to this list.
This allows us to check if changes might break downstream tooling.
- abelsiqueira/jill: A Julia installer written in Bash.
- johnnychen94/jill.py: A Julia installer written in Python.
- nhz2/install-julia-linux: A Julia installer written in Shell.
- julia-actions/setup-julia: Installs Julia in GitHub Actions CI jobs.
- JuliaCI/julia-buildkite-plugin: Buildkite plugin to install Julia for use in a pipeline. This plugin is used in Base Julia CI.
- JuliaCI/julia-snap: Snap setup for Julia.
- JuliaCI/PkgEval.jl: A package to test one or more Julia versions against the Julia package ecosystem.
- JuliaLang/Juliaup: Julia installer and version manager2.
- JuliaLang/www.julialang.org: The Julia website repo (uses
versions.jsonto auto-generate the list of Julia releases).
See ./devdocs/README.md.
This issue provides background info that explains the motivation: JuliaLang/julia#33817