From: Quirin Gylstorff <[email protected]>

lavacli is not part of the used image and need to be installed.
Due to changes in the lavacli dependencies it is not possible
to connect to the master installed via apt, therefore use
the pip3 version in case of Debian stretch. If Image release
is Debian 10 or newer use apt else use pip3.

This patch fixes a regression after the kasproject
downgraded the docker base image from Debian 10 to Debian 9.

Signed-off-by: Quirin Gylstorff <[email protected]>
---
 .gitlab-ci.yml             | 14 ++++++++++----
 scripts/install-lavacli.sh | 21 +++++++++++++++++++++
 2 files changed, 31 insertions(+), 4 deletions(-)
 create mode 100755 scripts/install-lavacli.sh

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0e1d21a..9bb8b1a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -25,8 +25,6 @@ default:
 # for the test infrastructure
 .add-lava-ssh-config: &lava-ssh-key
   before_script:
-    - sudo apt update
-    - sudo apt install lavacli -y
     - mkdir -p -m=700 ~/.ssh
     - echo "$LAVA_UPLOAD_KEY" | tr -d '\r' > ~/.ssh/id_rsa && chmod 600 
~/.ssh/id_rsa
     - echo "ProxyCommand socat - PROXY:$(echo $https_proxy | sed 
's|.*://\([^:]*\).*|\1|'):%h:%p,proxyport=$(echo $https_proxy | sed 
's|.*:\([0-9]*\)$|\1|')" >> ~/.ssh/config && chmod 600 ~/.ssh/config
@@ -43,13 +41,15 @@ lava-test:qemu-amd64:
   <<: *lava-ssh-key
   stage: lava-test
   script:
-     - scripts/run-lava-tests.sh qemu-amd64
+    - scripts/install-lavacli.sh
+    - scripts/run-lava-tests.sh qemu-amd64
   needs: [ "build:qemu-amd64" ]
   only:
     variables:
       - $LAVA_USER
 
 build:qemu-armhf:
+  <<: *lava-ssh-key
   stage: build
   script:
     - kas build kas.yml:board-qemu-armhf.yml
@@ -59,6 +59,7 @@ lava-test:qemu-armhf:
   <<: *lava-ssh-key
   stage: lava-test
   script:
+    - scripts/install-lavacli.sh
     - scripts/run-lava-tests.sh qemu-armhf
   needs: [ "build:qemu-armhf" ]
   only:
@@ -76,6 +77,7 @@ lava-test:qemu-arm64:
   <<: *lava-ssh-key
   stage: lava-test
   script:
+    - scripts/install-lavacli.sh
     - scripts/run-lava-tests.sh qemu-arm64
   needs: [ "build:qemu-arm64" ]
   only:
@@ -83,9 +85,11 @@ lava-test:qemu-arm64:
       - $LAVA_USER
 
 build:board-hikey:
+  <<: *lava-ssh-key
   stage: build
   script:
-    - kas build kas.yml:board-hikey.yml:opt-latest.yml
+    - kas build kas.yml:board-hikey.yml:opt-latest.yml:opt-lava-test.yml
+    - scripts/deploy_for_testing.sh hikey
 # hikey is currently not part of the testlab
 
 build:board-beaglebone:
@@ -99,6 +103,7 @@ lava-test:board-beaglebone:
   <<: *lava-ssh-key
   stage: lava-test
   script:
+    - scripts/install-lavacli.sh
     - scripts/run-lava-tests.sh beaglebone
   needs: [ "build:board-beaglebone" ]
   only:
@@ -116,6 +121,7 @@ lava-test:board-x86-64-efi:
   <<: *lava-ssh-key
   stage: lava-test
   script:
+    - scripts/install-lavacli.sh
     - scripts/run-lava-tests.sh x86-64
   needs: [ "build:board-x86-64-efi" ]
   only:
diff --git a/scripts/install-lavacli.sh b/scripts/install-lavacli.sh
new file mode 100755
index 0000000..66600f2
--- /dev/null
+++ b/scripts/install-lavacli.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+#
+# Xenomai Real-Time System
+#
+# Copyright (c) Siemens AG, 2019
+#
+# Authors:
+#  Quirin Gylstorff <[email protected]>
+#
+# SPDX-License-Identifier: MIT
+#
+# check if Debian 10 or later. If not use the pip version
+# of lavacli. The apt version from stretch-backports cannot communicate
+# with the lava master on Debian 10.
+os_version_id=$(sed -nr 's/VERSION_ID="([0-9]+)"/\1/p' /etc/os-release)
+if [ "${os_version_id}" -ge "10" ]; then
+    sudo apt update
+    sudo apt install -y lavacli
+else
+    sudo pip3 install lavacli
+fi
-- 
2.20.1


Reply via email to