Skip to content

Commit edf089b

Browse files
authored
Add Travis multiarch build (#431)
1 parent ad4c6bd commit edf089b

File tree

3 files changed

+66
-6
lines changed

3 files changed

+66
-6
lines changed

.travis-build-image.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
3+
if [ "${TRAVIS_BRANCH}" == "${DEFAULT_BRANCH}" ]; then
4+
export TAG=latest
5+
else
6+
export TAG=${TRAVIS_BRANCH}
7+
fi
8+
9+
export ARCH=$(uname -m)
10+
11+
docker build -t ${IMAGE}:${TAG}-${ARCH} -f ${DOCKERFILE} .
12+
docker login quay.io -u "${QUAY_ROBOT}" -p ${QUAY_TOKEN}
13+
docker push ${IMAGE}:${TAG}-${ARCH}

.travis-push-manifest.sh

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/bin/bash
2+
3+
if [ "${TRAVIS_BRANCH}" == "${DEFAULT_BRANCH}" ]; then
4+
export TAG=latest
5+
else
6+
export TAG=${TRAVIS_BRANCH}
7+
fi
8+
9+
export DOCKER_CLI_EXPERIMENTAL=enabled
10+
11+
#Without this docker manifest create fails
12+
#https://github.com/docker/for-linux/issues/396
13+
sudo chmod o+x /etc/docker
14+
15+
docker manifest create \
16+
${IMAGE}:${TAG} \
17+
${IMAGE}:${TAG}-x86_64 \
18+
${IMAGE}:${TAG}-ppc64le \
19+
${IMAGE}:${TAG}-s390x \
20+
${IMAGE}:${TAG}-aarch64
21+
echo $?
22+
23+
docker manifest inspect ${IMAGE}:${TAG}
24+
echo $?
25+
26+
docker login quay.io -u "${QUAY_ROBOT}" -p ${QUAY_TOKEN}
27+
28+
docker manifest push ${IMAGE}:${TAG}

.travis.yml

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,25 @@
1-
---
2-
language: go
3-
go:
4-
- 1.16.x
5-
script:
6-
- make test
1+
language: bash
2+
os: linux
3+
services: docker
4+
sudo: required
5+
dist: bionic
6+
7+
env:
8+
global:
9+
IMAGE: quay.io/konveyor/oadp-operator
10+
DEFAULT_BRANCH: master
11+
DOCKERFILE: Dockerfile
12+
jobs:
13+
include:
14+
- stage: build image
15+
arch: ppc64le
16+
script: ./.travis-build-image.sh
17+
- arch: amd64
18+
script: ./.travis-build-image.sh
19+
- arch: s390x
20+
script: ./.travis-build-image.sh
21+
- arch: arm64
22+
script: ./.travis-build-image.sh
23+
- stage: push manifest
24+
arch: x86_64
25+
script: ./.travis-push-manifest.sh

0 commit comments

Comments
 (0)