diff --git a/Dockerfile.run b/Dockerfile.run index 3c12fa182..9f3745fef 100644 --- a/Dockerfile.run +++ b/Dockerfile.run @@ -7,9 +7,7 @@ RUN apk -U add \ COPY requirements.txt /code/requirements.txt RUN pip install -r /code/requirements.txt -ENV VERSION 1.4.0dev - -COPY dist/docker-compose-$VERSION.tar.gz /code/docker-compose/ -RUN pip install /code/docker-compose/docker-compose-$VERSION/ +ADD dist/docker-compose-release.tar.gz /code/docker-compose +RUN pip install /code/docker-compose/docker-compose-* ENTRYPOINT ["/usr/bin/docker-compose"] diff --git a/docs/install.md b/docs/install.md index fd7b3cabf..be6a6b26a 100644 --- a/docs/install.md +++ b/docs/install.md @@ -68,7 +68,7 @@ To install Compose, do the following: Compose can also be run inside a container, from a small bash script wrapper. To install compose as a container run: - $ curl -L https://github.com/docker/compose/releases/download/1.5.0/compose-run > /usr/local/bin/docker-compose + $ curl -L https://github.com/docker/compose/releases/download/1.5.0/run.sh > /usr/local/bin/docker-compose $ chmod +x /usr/local/bin/docker-compose diff --git a/project/RELEASE-PROCESS.md b/project/RELEASE-PROCESS.md index 30a9805af..85bbaf295 100644 --- a/project/RELEASE-PROCESS.md +++ b/project/RELEASE-PROCESS.md @@ -80,7 +80,7 @@ When prompted build the non-linux binaries and test them. ...release notes go here... -5. Attach the binaries. +5. Attach the binaries and `script/run.sh` 6. If everything looks good, it's time to push the release. diff --git a/script/build-image b/script/build-image new file mode 100755 index 000000000..d9faddc7b --- /dev/null +++ b/script/build-image @@ -0,0 +1,16 @@ +#!/bin/bash + +set -e + +if [ -z "$1" ]; then + >&2 echo "First argument must be image tag." + exit 1 +fi + +TAG=$1 +VERSION="$(python setup.py --version)" + +python setup.py sdist +cp dist/docker-compose-$VERSION.tar.gz dist/docker-compose-release.tar.gz +docker build -t docker/compose:$TAG -f Dockerfile.run . + diff --git a/script/release/build-binaries b/script/release/build-binaries index 9f65b45d2..083f8eb58 100755 --- a/script/release/build-binaries +++ b/script/release/build-binaries @@ -5,6 +5,19 @@ . "$(dirname "${BASH_SOURCE[0]}")/utils.sh" +function usage() { + >&2 cat << EOM +Build binaries for the release. + +This script requires that 'git config branch.${BRANCH}.release' is set to the +release version for the release branch. + +EOM + exit 1 +} + +BRANCH="$(git rev-parse --abbrev-ref HEAD)" +VERSION="$(git config "branch.${BRANCH}.release")" || usage REPO=docker/compose # Build the binaries @@ -16,6 +29,9 @@ script/build-linux # TODO: build or fetch the windows binary echo "You need to build the osx/windows binaries, that step is not automated yet." +echo "Building the container distribution" +script/build-image $VERSION + echo "Create a github release" # TODO: script more of this https://developer.github.com/v3/repos/releases/ browser https://github.com/$REPO/releases/new diff --git a/script/release/push-release b/script/release/push-release index 7c4486667..039436da0 100755 --- a/script/release/push-release +++ b/script/release/push-release @@ -46,6 +46,9 @@ git push $GITHUB_REPO $VERSION echo "Uploading sdist to pypi" python setup.py sdist +echo "Uploading the docker image" +docker push docker/compose:$VERSION + if [ "$(command -v twine 2> /dev/null)" ]; then twine upload ./dist/docker-compose-${VERSION}.tar.gz else diff --git a/script/run b/script/run.sh similarity index 100% rename from script/run rename to script/run.sh