diff --git a/.travis.yml b/.travis.yml index 1faf5e3..4e45481 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,6 +3,9 @@ language: go go: - 1.13.x +env: + - IMAGE_NAME=mellanox/ib-sriov-cni + before_script: - go get github.com/mattn/goveralls @@ -20,9 +23,14 @@ deploy: # Push image to Dockerhub on merge to master - provider: script skip_cleanup: true - script: > - bash -c ' - docker push $IMAGE_NAME; - echo done' + script: bash scripts/deploy.sh $IMAGE_NAME latest $TRAVIS_CPU_ARCH on: branch: master + # Push image to Dockerhub on tag + - provider: script + skip_cleanup: true + script: bash scripts/deploy.sh $IMAGE_NAME $TRAVIS_TAG $TRAVIS_CPU_ARCH + on: + tags: true + all_branches: true + condition: "$TRAVIS_TAG =~ ^v[0-9].*$" diff --git a/scripts/deploy.sh b/scripts/deploy.sh new file mode 100755 index 0000000..ad49f1f --- /dev/null +++ b/scripts/deploy.sh @@ -0,0 +1,10 @@ +#!/bin/bash +IMAGE_NAME=$1 +VERSION=$2 +CPU_ARCH=$3 +export DOCKER_CLI_EXPERIMENTAL="enabled"; +docker tag $IMAGE_NAME ${IMAGE_NAME}-${CPU_ARCH}:${VERSION} +docker push ${IMAGE_NAME}-${CPU_ARCH}:${VERSION} +docker manifest create ${IMAGE_NAME}:${VERSION} ${IMAGE_NAME}-${CPU_ARCH}:${VERSION} +docker manifest annotate ${IMAGE_NAME}:${VERSION} ${IMAGE_NAME}-${CPU_ARCH}:${VERSION} --arch ${CPU_ARCH} +docker manifest push ${IMAGE_NAME}:${VERSION}