Skip to content

staticfloat/julia-docker

Repository files navigation

Julia Docker

A collection of Dockerfiles related to the Julia language project. Most Dockerfiles 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 of Dockerfiles needed to support the staticfloat/julia docker images, which contain the generic linux binaries built and hosted on the main Julia website. These Dockerfiles 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 new build.julialang.org, the configuration for which is held in the julia-buildbot repository.

  • workerbase: This project contains the scripts that generate Dockerfiles to make the base worker images. These images have cutting-edge versions of gcc, 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 generate Dockerfiles 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 like libgfortran preinstalled within them.

  • buildworker: This project contains the scripts that generate Dockerfiles 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 the staticfloat/julia_crossbuild docker images used by BinaryBuilder.jl to perform crossbuilds of various binaries for use with BinaryProvider.jl.

In every case, if Dockerfiles 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.

About

Various Dockerfiles for Julia

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •