Update Xtesting to 0.98
[functest.git] / .travis.yml
index 81f6caa..6b6e0a6 100644 (file)
 sudo: required
 services: docker
 language: generic
+dist: focal
 
 before_script:
-  - sudo apt-get -y install qemu-user-static
+  - sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
+  - sudo pip install tox tox-pip-version
+  - sudo apt-get update && sudo apt-get install -y enchant
   - 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:
+    - stage: run unit tests
+      script: >
+        tox -e \
+          docs,pep8,pylint,yamllint,bashate,bandit,py38,cover
     - stage: build functest-core images
-      script: sudo -E bash build.sh
+      script: sudo -E sh build.sh
+      env:
+        - REPO="${DOCKER_USERNAME}"
+        - amd64_dirs="docker/core"
+        - arm64_dirs=""
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
         - amd64_dirs=""
         - arm64_dirs="docker/core"
-    - script: sudo -E bash build.sh
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
-        - amd64_dirs="docker/core"
+        - amd64_dirs=""
         - arm64_dirs=""
+        - arm_dirs="docker/core"
     - stage: publish functest-core manifests
       script: >
         sudo manifest-tool push from-args \
-          --platforms linux/amd64,linux/arm64 \
+          --platforms linux/amd64,linux/arm,linux/arm64 \
           --template ${DOCKER_USERNAME}/functest-core:ARCH-latest \
           --target ${DOCKER_USERNAME}/functest-core:latest
     - stage: build all functest images
-      script: sudo -E bash build.sh
+      script: sudo -E sh build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
-        - amd64_dirs=""
-        - arm64_dirs="docker/healthcheck"
-    - script: sudo -E bash build.sh
+        - amd64_dirs="docker/healthcheck"
+        - arm64_dirs=""
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
         - amd64_dirs=""
-        - arm64_dirs="docker/smoke"
-    - script: sudo -E bash build.sh
+        - arm64_dirs="docker/healthcheck"
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
         - amd64_dirs=""
-        - arm64_dirs="docker/features"
-    - script: sudo -E bash build.sh
+        - arm64_dirs=""
+        - arm_dirs="docker/healthcheck"
+    - script: sudo -E sh build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
-        - amd64_dirs=""
-        - arm64_dirs="docker/components"
-    - script: sudo -E bash build.sh
+        - amd64_dirs="docker/smoke"
+        - arm64_dirs=""
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
         - amd64_dirs=""
-        - arm64_dirs="docker/parser"
-    - script: sudo -E bash build.sh
+        - arm64_dirs="docker/smoke"
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
-        - amd64_dirs="docker/healthcheck"
+        - amd64_dirs=""
         - arm64_dirs=""
-    - script: sudo -E bash build.sh
+        - arm_dirs="docker/smoke"
+    - script: sudo -E sh build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
-        - amd64_dirs="docker/smoke"
+        - amd64_dirs="docker/benchmarking"
         - arm64_dirs=""
-    - script: sudo -E bash build.sh
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
-        - amd64_dirs="docker/features"
-        - arm64_dirs=""
-    - script: sudo -E bash build.sh
+        - amd64_dirs=""
+        - arm64_dirs="docker/benchmarking"
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
-        - amd64_dirs="docker/components"
+        - amd64_dirs=""
         - arm64_dirs=""
-    - script: sudo -E bash build.sh
+        - arm_dirs="docker/benchmarking"
+    - script: sudo -E sh build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
         - amd64_dirs="docker/vnf"
         - arm64_dirs=""
-    - script: sudo -E bash build.sh
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
       env:
         - REPO="${DOCKER_USERNAME}"
-        - amd64_dirs="docker/parser"
+        - amd64_dirs=""
+        - arm64_dirs="docker/vnf"
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
+      env:
+        - REPO="${DOCKER_USERNAME}"
+        - amd64_dirs=""
         - arm64_dirs=""
+        - arm_dirs="docker/vnf"
     - stage: publish all manifests
       script: >
         sudo manifest-tool push from-args \
-          --platforms linux/amd64,linux/arm64 \
+          --platforms linux/amd64,linux/arm,linux/arm64 \
           --template ${DOCKER_USERNAME}/functest-healthcheck:ARCH-latest \
           --target ${DOCKER_USERNAME}/functest-healthcheck:latest
     - script: >
         sudo manifest-tool push from-args \
-          --platforms linux/amd64,linux/arm64 \
-          --template ${DOCKER_USERNAME}/functest-healthcheck:ARCH-latest \
-          --target ${DOCKER_USERNAME}/functest-healthcheck:latest
-    - script: >
-        sudo manifest-tool push from-args \
-          --platforms linux/amd64,linux/arm64 \
+          --platforms linux/amd64,linux/arm,linux/arm64 \
           --template ${DOCKER_USERNAME}/functest-smoke:ARCH-latest \
           --target ${DOCKER_USERNAME}/functest-smoke:latest
     - script: >
         sudo manifest-tool push from-args \
-          --platforms linux/amd64,linux/arm64 \
-          --template ${DOCKER_USERNAME}/functest-features:ARCH-latest \
-          --target ${DOCKER_USERNAME}/functest-features:latest
+          --platforms linux/amd64,linux/arm,linux/arm64 \
+          --template ${DOCKER_USERNAME}/functest-benchmarking:ARCH-latest \
+          --target ${DOCKER_USERNAME}/functest-benchmarking:latest
     - script: >
         sudo manifest-tool push from-args \
-          --platforms linux/amd64,linux/arm64 \
-          --template ${DOCKER_USERNAME}/functest-components:ARCH-latest \
-          --target ${DOCKER_USERNAME}/functest-components:latest
-    - script: >
-        sudo manifest-tool push from-args \
-          --platforms linux/amd64 \
+          --platforms linux/amd64,linux/arm,linux/arm64 \
           --template ${DOCKER_USERNAME}/functest-vnf:ARCH-latest \
           --target ${DOCKER_USERNAME}/functest-vnf:latest
+    - stage: build all functest cntt images
+      script: sudo -E sh build.sh
+      env:
+        - REPO="${DOCKER_USERNAME}"
+        - amd64_dirs="docker/smoke-cntt"
+        - arm64_dirs=""
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
+      env:
+        - REPO="${DOCKER_USERNAME}"
+        - amd64_dirs=""
+        - arm64_dirs="docker/smoke-cntt"
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
+      env:
+        - REPO="${DOCKER_USERNAME}"
+        - amd64_dirs=""
+        - arm64_dirs=""
+        - arm_dirs="docker/smoke-cntt"
+    - script: sudo -E sh build.sh
+      env:
+        - REPO="${DOCKER_USERNAME}"
+        - amd64_dirs="docker/benchmarking-cntt"
+        - arm64_dirs=""
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
+      env:
+        - REPO="${DOCKER_USERNAME}"
+        - amd64_dirs=""
+        - arm64_dirs="docker/benchmarking-cntt"
+        - arm_dirs=""
+    - script: sudo -E sh build.sh
+      env:
+        - REPO="${DOCKER_USERNAME}"
+        - amd64_dirs=""
+        - arm64_dirs=""
+        - arm_dirs="docker/benchmarking-cntt"
+    - stage: publish all cntt manifests
+      script: >
+        sudo manifest-tool push from-args \
+          --platforms linux/amd64,linux/arm,linux/arm64 \
+          --template ${DOCKER_USERNAME}/functest-smoke-cntt:ARCH-latest \
+          --target ${DOCKER_USERNAME}/functest-smoke-cntt:latest
     - script: >
         sudo manifest-tool push from-args \
-          --platforms linux/amd64,linux/arm64 \
-          --template ${DOCKER_USERNAME}/functest-parser:ARCH-latest \
-          --target ${DOCKER_USERNAME}/functest-parser:latest
+          --platforms linux/amd64,linux/arm,linux/arm64 \
+          --template ${DOCKER_USERNAME}/functest-benchmarking-cntt:ARCH-latest \
+          --target ${DOCKER_USERNAME}/functest-benchmarking-cntt:latest