docker-library / julia

Docker Official Image packaging for julia

Home Page:http://julialang.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Latest nightly build

dangirsh opened this issue · comments

Julia provides nightly builds here: https://julialang.org/downloads/nightlies.html

Would make sense for there to be a corresponding nightly Docker image.

Here's a start: a Dockerfile that's hardcoded for Linux x86_64, and doesn't verify signatures:

FROM debian:stretch

RUN set -eux; \
	apt-get update; \
	apt-get install -y --no-install-recommends \
		ca-certificates \
		curl \
	; \
	rm -rf /var/lib/apt/lists/*

ENV JULIA_PATH /usr/local/julia
ENV PATH $JULIA_PATH/bin:$PATH

RUN set -eux; \
	\
	savedAptMark="$(apt-mark showmanual)"; \
  \
  curl -fL -o julia.tar.gz https://julialangnightlies-s3.julialang.org/bin/linux/x64/julia-latest-linux64.tar.gz; \
  mkdir "$JULIA_PATH"; \
	tar -xzf julia.tar.gz -C "$JULIA_PATH" --strip-components 1; \
	rm julia.tar.gz; \
  \
	apt-mark auto '.*' > /dev/null; \
	[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
	\
# smoke test
	julia --version

CMD ["julia"]

Similar issues: docker-library/official-images#1281, rust-lang/docker-rust#5, docker-library/docker#125

Any nightly or dev image in the official images would still need to maintain the repeatability aspect. All builds make heavy use of docker build cache so if the RUN line does not change, the image would not change. Base images get updates and cause dependent images to rebuild and we don't want those situations to cause a version bump to the main software of the image. The only other time an image gets built is via a commit in official-images that changes the respective library/ file. eggdrop is one image that has a develop build that they update once in a while (like docker-library/official-images#3051).

A literal nightly build is not feasible via the official images.

Closing given that nightly builds aren't something we can feasibly maintain