diff --git a/script/release/Dockerfile b/script/release/Dockerfile new file mode 100644 index 000000000..0d4ec27e1 --- /dev/null +++ b/script/release/Dockerfile @@ -0,0 +1,14 @@ +FROM python:3.6 +RUN mkdir -p /src && pip install -U Jinja2==2.10 \ + PyGithub==1.39 \ + pypandoc==1.4 \ + GitPython==2.1.9 \ + requests==2.18.4 && \ + apt-get update && apt-get install -y pandoc + +VOLUME /src/script/release +WORKDIR /src +COPY . /src +RUN python setup.py develop +ENTRYPOINT ["python", "script/release/release.py"] +CMD ["--help"] diff --git a/script/release/release.sh b/script/release/release.sh new file mode 100755 index 000000000..2310429aa --- /dev/null +++ b/script/release/release.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +docker image inspect compose/release-tool > /dev/null +if test $? -ne 0; then + docker build -t compose/release-tool -f $(pwd)/script/release/Dockerfile $(pwd) +fi + +if test -z $GITHUB_TOKEN; then + echo "GITHUB_TOKEN environment variable must be set" + exit 1 +fi + +if test -z $BINTRAY_TOKEN; then + echo "BINTRAY_TOKEN environment variable must be set" + exit 1 +fi + +docker run -e GITHUB_TOKEN=$GITHUB_TOKEN -e BINTRAY_TOKEN=$BINTRAY_TOKEN -it \ + --mount type=bind,source=$(pwd),target=/src \ + --mount type=bind,source=$(pwd)/.git,target=/src/.git \ + --mount type=bind,source=$HOME/.docker,target=/root/.docker \ + --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \ + --mount type=bind,source=$HOME/.ssh,target=/root/.ssh \ + -v $HOME/.pypirc:/root/.pypirc \ + compose/release-tool $*