A collection of Dockerfile
s related to the Julia language project. Most Dockerfile
s are generated by the Makefiles held within the top-level directories for each project:
-
julia
: This project containsa a Makefile that generates the combinatorial explosion ofDockerfile
s needed to support thestaticfloat/julia
docker images, which contain the generic linux binaries built and hosted on the main Julia website. TheseDockerfile
s simply download and unpack the binary distributions hosted there across a wide range of versions, allowing for quick and easy testing of your code on any version/architecture by simply specifying the proper image to pull. -
buildbot
: This project contains the configuration for a buildbot master instance. Use this to build a newbuild.julialang.org
, the configuration for which is held in the julia-buildbot repository. -
workerbase
: This project contains the scripts that generateDockerfile
s to make the base worker images. These images have cutting-edge versions ofgcc
,python
,cmake
, etc... all built and ready to compile cutting-edge Julia programs. These are built across a variety of OS's and hardware architectures, and get uploaded to the Docker Hub. -
tabularasa
: This project contains the scripts that generateDockerfile
s to make "blank" images that run buildbot worker instances for testing of built julia versions. These are used to ensure that our releases are completely self-contained, and as such do not contain things likelibgfortran
preinstalled within them. -
buildworker
: This project contains the scripts that generateDockerfile
s to make the final worker docker-compose configurations. These configurations can be used to easily start buildworker instances as services, connecting to the buildbot master instance and building away. -
vagrant
: This is a mostly-abandoned attempt to setup Vagrant configurations for Windows and MacOS buildbots. Probably horrificly bitrotted, and will be deleted as soon as a more reliable setup is chanced upon. -
crossbuild
: The source for thestaticfloat/julia_crossbuild
docker images used byBinaryBuilder.jl
to perform crossbuilds of various binaries for use withBinaryProvider.jl
.
In every case, if Dockerfile
s or docker-compose.yml
files are generated, they will be placed within a build/
directory. The aim of this repository is to keep the build/
directories up to date, so that interested users can download this repository and use the prebuilt Dockerfile
/docker-compose.yml
contents to immediately get up and running, without having to bother with the generation steps.
Sensitive information (such as buildbot authentication passwords, AWS access credentials, etc...) are encrypted within this repository. To decrypt, you'll need a GPG key that @staticfloat and @tkelman guard zealously with their very lives. After obtaining that, download/install git-crypt
, install gnupg
, import the secret key, then run git crypt unlock
within the git repository. This will turn encrypted files such as buidlworker/secret.env
from a bunch of binary gibberish to a list of environment variables.