From 9e4a4da0a9dd45c84a787c4cf73294e7a412aff4 Mon Sep 17 00:00:00 2001
From: dwn1c21 <d.newbrook@soton.ac.uk>
Date: Fri, 12 May 2023 08:43:59 +0000
Subject: [PATCH] Update to handle error from smbclient

---
 .gitlab-ci.yml | 30 +++++++++++++++++++++++++++---
 1 file changed, 27 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 78c6ac9..e5718aa 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -111,10 +111,34 @@ deploy-job-Z2:      # This job runs in the deploy stage.
     - echo "Deploying application to Z2"
     # use smbclient to transfer accross the bit, hwh and python script files to the z2 xilinx board
     # could probably set this up as scp with RSA keys in future
-    - smbclient //192.168.2.99/xilinx -m SMB3 -U xilinx%xilinx -c 'cd ./pynq/overlays/soclabs/ ; put ./system/fpga_imp/pynq_export/pz2/pynq/overlays/soclabs/design_1.bit ./design_1.bit'
-    - smbclient //192.168.2.99/xilinx -m SMB3 -U xilinx%xilinx -c 'cd ./pynq/overlays/soclabs/ ; put ./system/fpga_imp/pynq_export/pz2/pynq/overlays/soclabs/design_1.hwh ./design_1.hwh'
+    - smbclient //192.168.2.99/xilinx -m SMB3 -U xilinx%xilinx -c 'cd ./pynq/overlays/soclabs/ ; put ./system/fpga_imp/pynq_export/pz2/pynq/overlays/soclabs/design_1.bit ./design_1.bit' -E 2>errorlog
+    - if (grep -r "Connection to 192.168.2.99 failed" ./errorlog)
+    - then
+    -   echo "Connection to Z2 Board Failed"
+    -   exit 1
+    - else
+    -   echo "Connection to Z2 Board successful"
+    - fi
+    - rm errorlog
+    - smbclient //192.168.2.99/xilinx -m SMB3 -U xilinx%xilinx -c 'cd ./pynq/overlays/soclabs/ ; put ./system/fpga_imp/pynq_export/pz2/pynq/overlays/soclabs/design_1.hwh ./design_1.hwh' -E 2>errorlog
+    - if (grep -r "Connection to 192.168.2.99 failed" ./errorlog)
+    - then
+    -   echo "Connection to Z2 Board Failed"
+    -   exit 1
+    - else
+    -   echo "Connection to Z2 Board successful"
+    - fi
+    - rm errorlog
     - cd ./system/fpga_imp/CI_verification
-    - smbclient //192.168.2.99/xilinx -m SMB3 -U xilinx%xilinx -c 'put ./load_bitfile.py ./load_bitfile.py'
+    - smbclient //192.168.2.99/xilinx -m SMB3 -U xilinx%xilinx -c 'put ./load_bitfile.py ./load_bitfile.py' -E 2>errorlog
+    - if (grep -r "Connection to 192.168.2.99 failed" ./errorlog)
+    - then
+    -   echo "Connection to Z2 Board Failed"
+    -   exit 1
+    - else
+    -   echo "Connection to Z2 Board successful"
+    - fi
+    - rm errorlog
     # get root access on host machine, this was found to be needed because other screen would not work
     # however a more elegant solution would be better
     - echo gitrunner1 | sudo -S su
-- 
GitLab