From 48b59c8e24081d06d9c38457517cf55cdcc5f79b Mon Sep 17 00:00:00 2001
From: Mark Schmitt <31215086+MarkSchmitt@users.noreply.github.com>
Date: Mon, 21 Dec 2020 21:53:39 +0100
Subject: [PATCH] Use qemu also for arm64v8 build - something might be causing
 trouble on the native hosts

---
 .travis.yml | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index 203861391..d2534c152 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -60,14 +60,17 @@ jobs:
       after_success:
         - true
       script:
-        - echo "Starting arm64v8 build, login to docker"
         - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
+        # register binfmt stuff for qemu-static binaries so we can use userland-emulation
+        - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
+        # replace the multi-arch reference with a specific, arm32v7 version. else docker will use the platform specific one,
+        # which is amd64.
+        - sed -i 's/FROM node:15/FROM node@sha256:5a14c8bf5020253f322b8f1f6bec4c34cafb0097acf1c1155506ee17b3c71119/g' Dockerfile
+        - sed -i 's/FROM python:3.7-slim/FROM python@sha256:d75eb820f62221ce8e40c5d8dbe988aa417e88553ef095a4a7591d7318da8486/g' Dockerfile
         # travis_wait 60 tells travis to wait for up to 60 minutes - default is 20, which is too short
-        - echo "Build ..."
         - travis_wait 60 docker build -f Dockerfile --tag=${DOCKER_REPO}:${TRAVIS_COMMIT}-arm64v8 .
-        - echo "Push"
         - docker push ${DOCKER_REPO}:${TRAVIS_COMMIT}-arm64v8
-      arch: arm64
+      arch: amd64
       on:
         condition: '"${BUILD_DOCKER}" = 1'