diff --git a/.travis/docker.sh b/.travis/docker.sh index 2466c7ae..6da2bf9a 100755 --- a/.travis/docker.sh +++ b/.travis/docker.sh @@ -4,19 +4,25 @@ login() { echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin } +tag_push() { + docker tag $DOCKER_USERNAME/zigbee2mqtt:$1 $DOCKER_USERNAME/zigbee2mqtt:$2 + docker push $DOCKER_USERNAME/zigbee2mqtt:$2 +} + build_and_push() { docker build --build-arg COMMIT=$(git rev-parse --short HEAD) -t $DOCKER_USERNAME/zigbee2mqtt:$1 -f $2 . docker push $DOCKER_USERNAME/zigbee2mqtt:$1 } # Only update docker images if on master branch and not pull request -if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" ] +if [ "$TRAVIS_BRANCH" = "master" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ ! -z ${TRAVIS_TAG+x} ] then echo "Updating docker images for master branch!" login build_and_push latest docker/Dockerfile.amd64 - build_and_push arm32v6 docker/Dockerfile.arm32v6 - build_and_push arm64v8 docker/Dockerfile.arm64v8 + tag_push latest "$TRAVIS_TAG" + build_and_push "$TRAVIS_TAG-arm32v6" docker/Dockerfile.arm32v6 + build_and_push "$TRAVIS_TAG-arm64v8" docker/Dockerfile.arm64v8 elif [ "$TRAVIS_BRANCH" = "dev" -a "$TRAVIS_PULL_REQUEST" = "false" ] then echo "Updating docker images for dev branch!"