diff options
author | RJ Catalano <rj@monax.io> | 2017-02-03 08:53:30 +0800 |
---|---|---|
committer | RJ Catalano <rj@monax.io> | 2017-02-10 01:30:59 +0800 |
commit | d76d9d41690b69622b703b7a3f567e830d095f9e (patch) | |
tree | 7f3ad0f1070355e2ed98da4d4a98fd3d97a7c997 | |
parent | 00feec567afbedc0b09805d7226c94c1d96c0c2a (diff) | |
download | dexon-solidity-d76d9d41690b69622b703b7a3f567e830d095f9e.tar dexon-solidity-d76d9d41690b69622b703b7a3f567e830d095f9e.tar.gz dexon-solidity-d76d9d41690b69622b703b7a3f567e830d095f9e.tar.bz2 dexon-solidity-d76d9d41690b69622b703b7a3f567e830d095f9e.tar.lz dexon-solidity-d76d9d41690b69622b703b7a3f567e830d095f9e.tar.xz dexon-solidity-d76d9d41690b69622b703b7a3f567e830d095f9e.tar.zst dexon-solidity-d76d9d41690b69622b703b7a3f567e830d095f9e.zip |
create automated docker deployment
Signed-off-by: RJ Catalano <rj@monax.io>
-rw-r--r-- | scripts/Dockerfile | 22 | ||||
-rwxr-xr-x | scripts/docker_deploy.sh | 17 |
2 files changed, 30 insertions, 9 deletions
diff --git a/scripts/Dockerfile b/scripts/Dockerfile index e34436ed..8be19783 100644 --- a/scripts/Dockerfile +++ b/scripts/Dockerfile @@ -1,12 +1,16 @@ FROM alpine MAINTAINER chriseth <chris@ethereum.org> +#Official solidity docker image -RUN \ - apk --no-cache --update add build-base cmake boost-dev git && \ - sed -i -E -e 's/include <sys\/poll.h>/include <poll.h>/' /usr/include/boost/asio/detail/socket_types.hpp && \ - git clone --depth 1 --recursive -b develop https://github.com/ethereum/solidity && \ - cd /solidity && cmake -DCMAKE_BUILD_TYPE=Release -DTESTS=0 -DSTATIC_LINKING=1 && \ - cd /solidity && make solc && install -s solc/solc /usr/bin && \ - cd / && rm -rf solidity && \ - apk del sed build-base git make cmake gcc g++ musl-dev curl-dev boost-dev && \ - rm -rf /var/cache/apk/* +#Establish working directory as solidity +WORKDIR /solidity +#Copy working directory on travis to the image +COPY / $WORKDIR + +#Install dependencies, eliminate annoying warnings, and build release, delete all remaining points and statically link. +RUN ./scripts/install_deps.sh && sed -i -E -e 's/include <sys\/poll.h>/include <poll.h>/' /usr/include/boost/asio/detail/socket_types.hpp &&\ +cmake -DCMAKE_BUILD_TYPE=Release -DTESTS=0 -DSTATIC_LINKING=1 &&\ +make solc && install -s solc/solc /usr/bin &&\ +cd / && rm -rf solidity &&\ +apk del sed build-base git make cmake gcc g++ musl-dev curl-dev boost-dev &&\ +rm -rf /var/cache/apk/*
\ No newline at end of file diff --git a/scripts/docker_deploy.sh b/scripts/docker_deploy.sh new file mode 100755 index 00000000..f4c61601 --- /dev/null +++ b/scripts/docker_deploy.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env sh + +docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"; +version=version=$(grep -oP "PROJECT_VERSION \"?\K[0-9.]+(?=\")"? $(dirname "$0")/CMakeLists.txt) +if [ "$TRAVIS_BRANCH" == "develop" ]; then + docker tag ethereum/solc:build ethereum/solc:nightly; + docker tag ethereum/solc:build ethereum/solc:nightly-"$version"-"$TRAVIS_COMMIT" + docker push ethereum/solc:nightly-"$version"-"$TRAVIS_COMMIT"; + docker push ethereum/solc:nightly; +elif [ "$TRAVIS_BRANCH" == "release"]; then + docker tag ethereum/solc:build ethereum/solc:stable; + docker tag ethereum/solc:build ethereum/solc:"$version"; + docker tag ethereum/solc:build ethereum/solc: + docker push ethereum/solc; + docker push ethereum/solc:"$version"; + docker push ethereum/solc:stable; +fi
\ No newline at end of file |