diff options
-rw-r--r-- | .travis.yml | 14 | ||||
-rw-r--r-- | docker/vnf/Dockerfile | 29 | ||||
-rw-r--r-- | functest/opnfv_tests/vnf/epc/juju_epc.py | 6 |
3 files changed, 35 insertions, 14 deletions
diff --git a/.travis.yml b/.travis.yml index 39bab9dcc..3c6d5789d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -152,6 +152,18 @@ jobs: - amd64_dirs="docker/vnf" - arm64_dirs="" - arm_dirs="" + - script: sudo -E bash build.sh + env: + - REPO="${DOCKER_USERNAME}" + - amd64_dirs="" + - arm64_dirs="docker/vnf" + - arm_dirs="" + - script: sudo -E bash 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 \ @@ -175,6 +187,6 @@ jobs: --target ${DOCKER_USERNAME}/functest-features: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 diff --git a/docker/vnf/Dockerfile b/docker/vnf/Dockerfile index fe5dbfb4a..fc9294d56 100644 --- a/docker/vnf/Dockerfile +++ b/docker/vnf/Dockerfile @@ -55,22 +55,25 @@ RUN apk --no-cache add --update \ (cd /home/opnfv/functest/data/router/opnfv-vnf-data && \ git fetch --tags https://github.com/oolorg/opnfv-vnf-data.git $VROUTER_TAG && \ git checkout FETCH_HEAD) && \ - git init /src/epc-requirements/abot_charm && \ - (cd /src/epc-requirements/abot_charm && \ - git fetch --tags https://github.com/RebacaInc/abot_charm.git $ABOT_CHARM && \ - git checkout FETCH_HEAD) && \ - python3 -m pip install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \ - juju-wait==$JUJU_WAIT_TAG && \ - go get -d github.com/rogpeppe/godeps && \ - (cd $GOPATH/src/github.com/rogpeppe/godeps && git checkout $GODEPS_TAG && go install -v github.com/rogpeppe/godeps) && \ - go get -d -v github.com/juju/juju/... || true && \ - (cd $GOPATH/src/github.com/juju/juju && git checkout $JUJU_TAG && godeps -u dependencies.tsv) && \ - go install -v github.com/juju/juju/... && \ - rm -r $GOPATH/src/ $GOPATH/pkg && \ + case "$(uname -m)" in \ + "armv7l" | "aarch64") ;; \ + *) \ + git init /src/epc-requirements/abot_charm && \ + (cd /src/epc-requirements/abot_charm && \ + git fetch --tags https://github.com/RebacaInc/abot_charm.git $ABOT_CHARM && \ + git checkout FETCH_HEAD) && \ + python3 -m pip install --no-cache-dir --src /src -cupper-constraints.txt -cupper-constraints.opnfv.txt \ + juju-wait==$JUJU_WAIT_TAG && \ + go get -d github.com/rogpeppe/godeps && \ + (cd $GOPATH/src/github.com/rogpeppe/godeps && git checkout $GODEPS_TAG && go install -v github.com/rogpeppe/godeps) && \ + go get -d -v github.com/juju/juju/... || true && \ + (cd $GOPATH/src/github.com/juju/juju && git checkout $JUJU_TAG && godeps -u dependencies.tsv) && \ + go install -v github.com/juju/juju/... && \ + rm -r $GOPATH/src/ $GOPATH/pkg /src/epc-requirements/abot_charm/.git /root/.cache/go-build;; \ + esac && \ (cd /src/vims-test && bundle config build.nokogiri --use-system-libraries && bundle install --system && bundle update rest-client) && \ rm -r upper-constraints.txt upper-constraints.opnfv.txt /src/vims-test/.git /src/cloudify_vims/.git /src/heat_vims/.git /src/vims-test/quaff/.git \ /src/vims-test/build-infra/.git /src/opnfv-vnf-vyos-blueprint/.git \ - /src/epc-requirements/abot_charm/.git /root/.cache/go-build \ /tmp/clearwater-heat-singlenet-deps.patch && \ apk del .build-deps COPY testcases.yaml /usr/lib/python2.7/site-packages/xtesting/ci/testcases.yaml diff --git a/functest/opnfv_tests/vnf/epc/juju_epc.py b/functest/opnfv_tests/vnf/epc/juju_epc.py index 102f77d96..cbf531b6b 100644 --- a/functest/opnfv_tests/vnf/epc/juju_epc.py +++ b/functest/opnfv_tests/vnf/epc/juju_epc.py @@ -147,6 +147,12 @@ class JujuEpc(singlevm.VmReady2): self.flavor_alt = None def check_requirements(self): + if not os.path.exists("/src/epc-requirements/go/bin/juju"): + self.__logger.warn( + "Juju cannot be cross-compiled (arm and arm64) from the time " + "being") + self.is_skipped = True + self.project.clean() if env.get('NEW_USER_ROLE').lower() == "admin": self.__logger.warn( "Defining NEW_USER_ROLE=admin will easily break the testcase " |