Fix manifest-tool builds
[functest-kubernetes.git] / .travis.yml
index fc18104..368ae5a 100644 (file)
@@ -5,6 +5,9 @@ services: docker
 
 before_script:
   - sudo -E docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
+  - (cd .. && git clone https://github.com/estesp/manifest-tool)
+  - (cd ../manifest-tool && git checkout v0.9.0)
+  - (cd ../manifest-tool && sudo -E make && sudo -E make install)
 
 jobs:
   include:
@@ -13,17 +16,46 @@ jobs:
       env:
         - REPO="${DOCKER_USERNAME}"
         - amd64_dirs="docker/core"
+        - arm64_dirs=""
+    - stage: publish functest-kubernetes-core manifests
+      script: >
+        sudo manifest-tool push from-args \
+          --platforms linux/amd64 \
+          --template ${DOCKER_USERNAME}/functest-kubernetes-core:ARCH-latest \
+          --target ${DOCKER_USERNAME}/functest-kubernetes-core:latest
     - stage: build functest-kubernetes-[healthcheck,features] image
       script: sudo -E bash build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
         - amd64_dirs="docker/healthcheck"
+        - arm64_dirs=""
     - script: sudo -E bash build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
         - amd64_dirs="docker/features"
-    - stage: build functest-kubernetes-smoke
+        - arm64_dirs=""
+    - stage: publish functest-kubernetes-[healthcheck,features] manifests
+      script: >
+        sudo manifest-tool push from-args \
+          --platforms linux/amd64 \
+          --template \
+          ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:ARCH-latest \
+          --target ${DOCKER_USERNAME}/functest-kubernetes-healthcheck:latest
+    - script: >
+        sudo manifest-tool push from-args \
+          --platforms linux/amd64 \
+          --template \
+          ${DOCKER_USERNAME}/functest-kubernetes-features:ARCH-latest \
+          --target ${DOCKER_USERNAME}/functest-kubernetes-features:latest
+    - stage: build functest-kubernetes-smoke image
       script: sudo -E bash build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
         - amd64_dirs="docker/smoke"
+        - arm64_dirs=""
+    - stage: publish functest-kubernetes-smoke manifests
+      script: >
+        sudo manifest-tool push from-args \
+          --platforms linux/amd64 \
+          --template ${DOCKER_USERNAME}/functest-kubernetes-smoke:ARCH-latest \
+          --target ${DOCKER_USERNAME}/functest-kubernetes-smoke:latest