From ad5fcf778fc95bc85df3ff495198f363b9cbbf00 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Tue, 2 Oct 2018 16:20:37 -0700 Subject: [PATCH] Publish minimal Solana docker images to dockerhub --- ci/buildkite-snap.yml | 3 +++ ci/docker-solana/.gitignore | 1 + ci/docker-solana/Dockerfile | 5 +++++ ci/docker-solana/README.md | 5 +++++ ci/docker-solana/build.sh | 37 +++++++++++++++++++++++++++++++++++++ 5 files changed, 51 insertions(+) create mode 100644 ci/docker-solana/.gitignore create mode 100644 ci/docker-solana/Dockerfile create mode 100644 ci/docker-solana/README.md create mode 100755 ci/docker-solana/build.sh diff --git a/ci/buildkite-snap.yml b/ci/buildkite-snap.yml index 0719efbca..92d75a0b6 100644 --- a/ci/buildkite-snap.yml +++ b/ci/buildkite-snap.yml @@ -2,3 +2,6 @@ steps: - command: "ci/snap.sh" timeout_in_minutes: 40 name: "snap [public]" + - command: "ci/docker-solana/build.sh" + timeout_in_minutes: 20 + name: "docker-solana" diff --git a/ci/docker-solana/.gitignore b/ci/docker-solana/.gitignore new file mode 100644 index 000000000..4c224402d --- /dev/null +++ b/ci/docker-solana/.gitignore @@ -0,0 +1 @@ +cargo-install/ diff --git a/ci/docker-solana/Dockerfile b/ci/docker-solana/Dockerfile new file mode 100644 index 000000000..0fe5f379b --- /dev/null +++ b/ci/docker-solana/Dockerfile @@ -0,0 +1,5 @@ +FROM debian:stretch +RUN apt update && \ + apt-get install -y libssl-dev && \ + rm -rf /var/lib/apt/lists/* +COPY cargo-install/bin /usr/bin/ diff --git a/ci/docker-solana/README.md b/ci/docker-solana/README.md new file mode 100644 index 000000000..aad37e739 --- /dev/null +++ b/ci/docker-solana/README.md @@ -0,0 +1,5 @@ +## Minimal Solana Docker image + +This image is automatically updated by CI + +https://hub.docker.com/r/solanalabs/solana/ diff --git a/ci/docker-solana/build.sh b/ci/docker-solana/build.sh new file mode 100755 index 000000000..1a96c6fa7 --- /dev/null +++ b/ci/docker-solana/build.sh @@ -0,0 +1,37 @@ +#!/bin/bash -ex + +cd "$(dirname "$0")" +eval "$(../channel-info.sh)" + +if [[ $BUILDKITE_BRANCH = "$STABLE_CHANNEL" ]]; then + CHANNEL=stable +elif [[ $BUILDKITE_BRANCH = "$EDGE_CHANNEL" ]]; then + CHANNEL=edge +elif [[ $BUILDKITE_BRANCH = "$BETA_CHANNEL" ]]; then + CHANNEL=beta +fi + +if [[ -z $CHANNEL ]]; then + echo Unable to determine channel to publish into, exiting. + exit 0 +fi + +rm -rf cargo-install/ +../docker-run.sh solanalabs/rust:1.29.1 \ + cargo install --path . --root ci/docker-solana/cargo-install + +docker build -t solanalabs/solana:$CHANNEL . + +maybeEcho= +if [[ -z $CI ]]; then + echo "Not CI, skipping |docker push|" + maybeEcho="echo" +else + ( + set +x + if [[ -n $DOCKER_PASSWORD && -n $DOCKER_USERNAME ]]; then + echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin + fi + ) +fi +$maybeEcho docker push solanalabs/solana:$CHANNEL