aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.travis.yml14
-rw-r--r--docker/vnf/Dockerfile29
-rw-r--r--functest/opnfv_tests/vnf/epc/juju_epc.py6
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 "