Skip to content

Commit

Permalink
Merge pull request #121 from heroku/release-build
Browse files Browse the repository at this point in the history
Release build images too
  • Loading branch information
Damien Mathieu authored Oct 26, 2018
2 parents 4c21bc0 + 9692201 commit c695a1f
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 7 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ env:
- secure: qsOv8gjVqCeV7kqx8FntMKD51EZCO2j7oTY8fWwqgndRCT5kHtcJA0vGMW0rjGDlDMuEB5wyUc2RT9ZWMslyKWxgS4Su5zSdAlE8D6TXXpHDU1ZPmOA+cnNm4TIMIrcUlGeCWcK4NNe8Vg7VvrTstooLB/ZjgaCKylkxs7zWq2g= # DOCKER_HUB_USERNAME
- secure: Dlf4eHJVTQ1bCZuLaaNoKjUmS8SL7Jn2BZCdP7UHZhte+RKchCjajhoObT/fAZ3c5EFfV2pd8NKkWPW0REwN/lodgRPeslYiyNaiIRCVoKRGASxHXHO17wwkMNor2Bi7u6InL3WC1t5YbY2abVaeavtz1lAyn1XTNysc+/s1onw= # DOCKER_HUB_PASSWORD
script:
- "./docker-build.sh $STACK $IMAGE_TAG"
- "./docker-build.sh $STACK $IMAGE_TAG $IMAGE_TAG-build"
- |
status="$(git status --porcelain)"
if [[ -n "$status" ]]; then
Expand Down
4 changes: 2 additions & 2 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

To build the stack images locally, run this from the repo root:

./docker-build.sh STACK DOCKER_TAG
./docker-build.sh STACK DOCKER_TAG DOCKER_BUILD_TAG

For example:

./docker-build.sh heroku-18 heroku/heroku:18
./docker-build.sh heroku-18 heroku/heroku:18 heroku/heroku:18-build

The supported stacks are:

Expand Down
16 changes: 14 additions & 2 deletions bin/publish.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,36 @@
set -ex

nightlyTag="${IMAGE_TAG}.nightly"
nightlyBuildTag="${IMAGE_TAG}-build.nightly"

./docker-build.sh $STACK $nightlyTag
./docker-build.sh $STACK $nightlyTag $nightlyBuildTag

docker login -u $DOCKER_HUB_USERNAME -p $DOCKER_HUB_PASSWORD

docker push $nightlyTag
if [ "$STACK" != "cedar-14" ]; then
docker push $nightlyBuildTag
fi

if [ -n "$TRAVIS_TAG" ]; then
releaseTag="${IMAGE_TAG}.${TRAVIS_TAG}"
releaseBuildTag="${IMAGE_TAG}-build.${TRAVIS_TAG}"
latestTag="${IMAGE_TAG}"
latestBuildTag="${IMAGE_TAG}-build"

docker tag $nightlyTag $releaseTag
docker tag $nightlyTag $latestTag

docker push $releaseTag
docker push $latestTag

if [ "$STACK" = "cedar-14" ]; then
if [ "$STACK" != "cedar-14" ]; then
docker tag $nightlyBuildTag $releaseBuildTag
docker tag $nightlyBuildTag $latestBuildTag

docker push $releaseBuildTag
docker push $latestBuildTag
else
docker tag $nightlyTag heroku/cedar:latest
docker push heroku/cedar:latest
fi
Expand Down
4 changes: 2 additions & 2 deletions docker-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,11 @@ set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
. stack-helpers.sh

[ $# -eq 2 ] || abort usage: $(basename "${BASH_SOURCE[0]}") STACK IMAGE_NAME
[ $# -eq 3 ] || abort usage: $(basename "${BASH_SOURCE[0]}") STACK IMAGE_NAME BUILD_IMAGE_NAME

STACK=$1
IMAGE_TAG=$2
BUILD_IMAGE_TAG=$3
DOCKERFILE_DIR="$STACK"

[[ -d "$DOCKERFILE_DIR" ]] || abort fatal: stack "$STACK" not found
Expand All @@ -26,7 +27,6 @@ write_package_list "$IMAGE_TAG" "$DOCKERFILE_DIR"

if [[ "$STACK" != "cedar-14" ]]; then
display "Building $STACK build-time image"
BUILD_IMAGE_TAG="${IMAGE_TAG}-build"
BUILD_DOCKERFILE_DIR="${DOCKERFILE_DIR}-build"
# The --pull option is not used to ensure the build image variant is based on the
# main stack image built above, rather than the one last published to Docker Hub.
Expand Down

0 comments on commit c695a1f

Please sign in to comment.