zigbee2mqtt/.travis/docker.sh

44 lines
1.4 KiB
Bash
Raw Normal View History

2018-07-03 10:04:21 -07:00
#!/bin/bash -e
2018-04-26 11:35:07 -07:00
login() {
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
}
2018-07-03 09:22:45 -07:00
tag_push() {
docker tag $DOCKER_USERNAME/zigbee2mqtt:$1 $DOCKER_USERNAME/zigbee2mqtt:$2
docker push $DOCKER_USERNAME/zigbee2mqtt:$2
}
2018-04-26 11:35:07 -07:00
build_and_push() {
2018-06-15 15:10:08 -07:00
docker build --build-arg COMMIT=$(git rev-parse --short HEAD) -t $DOCKER_USERNAME/zigbee2mqtt:$1 -f $2 .
2018-04-26 11:41:08 -07:00
docker push $DOCKER_USERNAME/zigbee2mqtt:$1
2018-04-26 11:35:07 -07:00
}
2018-07-03 10:11:20 -07:00
# Only update Docker images for:
# - dev branch
# - version release
if [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ ! -z ${TRAVIS_TAG+x} ] && [ ! "$TRAVIS_TAG" = "" ]
2018-04-26 11:35:07 -07:00
then
2018-05-09 13:15:59 -07:00
echo "Updating docker images for master branch!"
2018-04-26 11:35:07 -07:00
login
2018-07-03 10:17:47 -07:00
# Push versioned images
build_and_push "$TRAVIS_TAG" docker/Dockerfile.amd64
2018-07-03 09:22:45 -07:00
build_and_push "$TRAVIS_TAG-arm32v6" docker/Dockerfile.arm32v6
build_and_push "$TRAVIS_TAG-arm64v8" docker/Dockerfile.arm64v8
2018-07-03 10:17:47 -07:00
# Push latest images.
tag_push "$TRAVIS_TAG-arm32v6" "arm32v6"
tag_push "$TRAVIS_TAG-arm64v8" "arm64v8"
tag_push "$TRAVIS_TAG" latest
2018-05-09 13:15:59 -07:00
elif [ "$TRAVIS_BRANCH" = "dev" -a "$TRAVIS_PULL_REQUEST" = "false" ]
then
echo "Updating docker images for dev branch!"
login
build_and_push latest-dev docker/Dockerfile.amd64
build_and_push arm32v6-dev docker/Dockerfile.arm32v6
build_and_push arm64v8-dev docker/Dockerfile.arm64v8
2018-04-26 11:35:07 -07:00
else
2018-05-09 13:15:59 -07:00
echo "Not updating docker images, triggered by pull request or not on master/dev branch"
2018-04-26 11:35:07 -07:00
fi