From 08ee6a314dc9b1bd2572425fb53819b7f98065b5 Mon Sep 17 00:00:00 2001 From: Jevgeni Kiski Date: Tue, 26 Nov 2019 10:35:22 +0200 Subject: [PATCH] Travis to deploy multi-arch docker build. Attempt #1 --- .travis.yml | 33 ++++++++++++++++++++++++++------- .travis/deploy.sh | 10 ++++++++++ 2 files changed, 36 insertions(+), 7 deletions(-) create mode 100755 .travis/deploy.sh diff --git a/.travis.yml b/.travis.yml index a6f4e3f3..c33ddcf2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,30 @@ -language: python sudo: required dist: xenial +language: python python: -- '3.5' -- '3.6' -- '3.7' + - '3.5' + - '3.6' + - '3.7' install: -- pip install . -- pip install -r requirements.txt -script: python setup.py test \ No newline at end of file + - pip install . + - pip install -r requirements.txt +script: python setup.py test +deploy: + provider: script + script: ./.travis/deploy.sh + if: type != pull_request + on: + all_branches: true + condition: $TRAVIS_BRANCH =~ ^(dev)$ + addons: + apt: + sources: + - sourceline: 'deb https://download.docker.com/linux/ubuntu/ xenial stable' + key_url: 'https://download.docker.com/linux/ubuntu/gpg' + packages: + - docker-ce + - docker-ce-cli + - containerd.io + language: python + python: '3.6' + script: ./.travis/deploy.sh diff --git a/.travis/deploy.sh b/.travis/deploy.sh new file mode 100755 index 00000000..e1a2e028 --- /dev/null +++ b/.travis/deploy.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +set -e +export BRANCH=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo $TRAVIS_BRANCH; else echo $TRAVIS_PULL_REQUEST_BRANCH; fi) +export DOCKER_IMAGE_TAG=$(if [ "$BRANCH" == "master" ]; then echo "latest"; else echo "$BRANCH-latest"; fi) +echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin +export DOCKER_CLI_EXPERIMENTAL=enabled +docker run --rm --privileged multiarch/qemu-user-static --reset -p yes +docker buildx create --use +docker buildx build --progress plain --platform linux/amd64,linux/arm64,linux/arm/v7 -t $DOCKER_USERNAME/pai:$DOCKER_IMAGE_TAG . --push \ No newline at end of file