Update, patch and build cnf-testsuite 06/74606/2
authorCédric Ollivier <cedric.ollivier@orange.com>
Fri, 20 Sep 2024 13:36:25 +0000 (15:36 +0200)
committerCédric Ollivier <cedric.ollivier@orange.com>
Fri, 20 Sep 2024 14:51:20 +0000 (16:51 +0200)
It allows cnf-testsuite to run behind a proxy

Change-Id: Ia0d4e95fac5ab279fd5ccf1491ccd6ccc49838c6
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
docker/cnf/Dockerfile

index 8c2e6e0..8dfb723 100644 (file)
@@ -1,11 +1,12 @@
 FROM opnfv/functest-kubernetes-core
 
-ARG CNF_TESTSUITE_TAG=v1.0.0
+ARG CNF_TESTSUITE_TAG=v1.3.3
 ARG HELM_TAG=v3.3.1
 
 USER root
-RUN apk --no-cache add --update wget curl libc6-compat ncurses && \
-    tag=$(curl -s https://storage.googleapis.com/kubernetes-release/release/latest-1.30.txt)  && \
+RUN apk --no-cache add --update wget curl ncurses git yaml openssl zlib && \
+    apk --no-cache add --virtual .build-deps --update crystal shards make yaml-dev openssl-dev zlib-dev patch openssl-libs-static yaml-static zlib-static && \
+    tag=$(curl -s https://storage.googleapis.com/kubernetes-release/release/latest.txt)  && \
     case $(uname -m) in armv7l) arch=arm;; aarch64) arch=arm64;; x86_64) arch=amd64;; esac && \
     curl https://storage.googleapis.com/kubernetes-release/release/$tag/bin/linux/$arch/kubectl \
         --output /usr/local/bin/kubectl && \
@@ -15,21 +16,25 @@ RUN apk --no-cache add --update wget curl libc6-compat ncurses && \
     mv /src/linux-$arch/helm /usr/local/bin && \
     chmod +x /usr/local/bin/kubectl /usr/local/bin/helm && \
     rm -r /src/helm-$HELM_TAG-linux-$arch.tar.gz /src/linux-$arch && \
+    (cd /usr/lib/crystal/core/ && \
+      wget https://patch-diff.githubusercontent.com/raw/crystal-lang/crystal/pull/13063.diff && \
+      patch -p2 < 13063.diff && rm 13063.diff) && \
     case $(uname -m) in x86_64) \
-        curl https://github.com/cnti-testcatalog/testsuite/releases/download/$CNF_TESTSUITE_TAG/cnf-testsuite-$CNF_TESTSUITE_TAG.tar.gz \
-            -L --output /src/cnf-testsuite-$CNF_TESTSUITE_TAG.tar.gz && \
-        tar zxf /src/cnf-testsuite-$CNF_TESTSUITE_TAG.tar.gz cnf-testsuite -C /usr/local/bin && \
-        chmod +x /usr/local/bin/cnf-testsuite && \
         mkdir /src/cnf-testsuite && \
         git init /src/cnf-testsuite && \
         (cd /src/cnf-testsuite && \
             git fetch --tags https://github.com/cnti-testcatalog/testsuite.git $CNF_TESTSUITE_TAG && \
-            git checkout FETCH_HEAD) && \
+            git checkout FETCH_HEAD && \
+            wget https://patch-diff.githubusercontent.com/raw/cnti-testcatalog/testsuite/pull/2156.diff && \
+            patch -p1 < 2156.diff && rm 2156.diff && \
+            shards install && \
+            crystal build --static src/cnf-testsuite.cr && \
+            cp cnf-testsuite  /usr/local/bin/cnf-testsuite && rm -r lib) && \
         chown -R xtesting: /src/cnf-testsuite && \
         ln -s /src/cnf-testsuite/example-cnfs/coredns/cnf-testsuite.yml /src/cnf-testsuite/cnf-testsuite.yml && \
         ln -s /src/cnf-testsuite/points-all.yml /src/cnf-testsuite/points.yml && \
-        ln -s /usr/local/bin/cnf-testsuite /src/cnf-testsuite/cnf-testsuite && \
-        rm -rf /src/cnf-testsuite-$CNF_TESTSUITE_TAG.tar.gz /src/cnf-testsuite/.git ;; esac
+        rm -rf /src/cnf-testsuite/.git ;; esac && \
+        apk del .build-deps
 USER xtesting
 RUN helm repo add stable https://cncf.gitlab.io/stable
 COPY testcases.yaml /etc/xtesting/testcases.yaml