From c85d6b5245ac3c3ec22f97d810fbba103df775ec Mon Sep 17 00:00:00 2001 From: grvvy Date: Fri, 15 Dec 2023 14:57:16 -0700 Subject: [PATCH] ci: update docker base image and prerequisites, catch errors from intermediate test scripts, retry tx/rx tests before failing --- Dockerfile | 10 +++------- Jenkinsfile | 11 +++++++---- ci-scripts/configure-hubs.sh | 3 ++- ci-scripts/install-firmware.sh | 3 ++- ci-scripts/install-host.sh | 3 ++- ci-scripts/test-firmware-flash.sh | 2 +- ci-scripts/test-firmware-program.sh | 2 +- ci-scripts/test-host.sh | 4 ++-- 8 files changed, 20 insertions(+), 18 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5acda8f6..40948e67 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # Sandbox test environment for HackRF -FROM ubuntu:20.04 -CMD ["/bin/bash"] +FROM ubuntu:22.04 +USER root # Override interactive installations and install prerequisites ENV DEBIAN_FRONTEND=noninteractive @@ -15,13 +15,9 @@ RUN apt-get update && apt-get install -y \ pkg-config \ python3 \ python3-pip \ - python-is-python3 \ + python3-yaml \ && rm -rf /var/lib/apt/lists/* RUN pip3 install git+https://github.com/CapableRobot/CapableRobot_USBHub_Driver --upgrade -# Serial numbers for EUT and TESTER devices connected to the test server -ENV EUT=RunningFromRAM -ENV TESTER=0000000000000000325866e629a25623 - # Inform Docker that the container is listening on port 8080 at runtime EXPOSE 8080 diff --git a/Jenkinsfile b/Jenkinsfile index ddfe64d7..d0c231cc 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -26,15 +26,18 @@ pipeline { } sh './ci-scripts/test-firmware-flash.sh' sh 'python3 ci-scripts/test-debug.py' - sh 'python3 ci-scripts/test-transfer.py tx' - sh 'python3 ci-scripts/test-transfer.py rx' + retry(3) { + sh 'python3 ci-scripts/test-transfer.py tx' + } + retry(3) { + sh 'python3 ci-scripts/test-transfer.py rx' + } + sh './ci-scripts/configure-hubs.sh --reset' } } } post { always { - sh './ci-scripts/configure-hubs.sh --reset' - sh 'rm -rf testing-venv/' cleanWs(cleanWhenNotBuilt: false, deleteDirs: true, disableDeferredWipeout: true, diff --git a/ci-scripts/configure-hubs.sh b/ci-scripts/configure-hubs.sh index 47dcb44b..6273a37e 100755 --- a/ci-scripts/configure-hubs.sh +++ b/ci-scripts/configure-hubs.sh @@ -1,3 +1,4 @@ #!/bin/bash +set -e usbhub --disable-i2c --hub D9D1 power state --port 1,2,3,4 $1 -usbhub --disable-i2c --hub 624C power state --port 1,2,3,4 $1 \ No newline at end of file +usbhub --disable-i2c --hub 624C power state --port 1,2,3,4 $1 diff --git a/ci-scripts/install-firmware.sh b/ci-scripts/install-firmware.sh index 8d83486c..04d9996c 100755 --- a/ci-scripts/install-firmware.sh +++ b/ci-scripts/install-firmware.sh @@ -1,8 +1,9 @@ #!/bin/bash +set -e git submodule init git submodule update mkdir firmware/hackrf_usb/build cd firmware/hackrf_usb/build cmake .. make -cd ../../.. \ No newline at end of file +cd ../../.. diff --git a/ci-scripts/install-host.sh b/ci-scripts/install-host.sh index a1260367..70277d53 100755 --- a/ci-scripts/install-host.sh +++ b/ci-scripts/install-host.sh @@ -1,6 +1,7 @@ #!/bin/bash +set -e mkdir host/build cd host/build cmake .. make -cd ../.. \ No newline at end of file +cd ../.. diff --git a/ci-scripts/test-firmware-flash.sh b/ci-scripts/test-firmware-flash.sh index 2084ac4f..3b6f167d 100755 --- a/ci-scripts/test-firmware-flash.sh +++ b/ci-scripts/test-firmware-flash.sh @@ -15,4 +15,4 @@ then else echo "Unknown error" exit $EXIT_CODE -fi \ No newline at end of file +fi diff --git a/ci-scripts/test-firmware-program.sh b/ci-scripts/test-firmware-program.sh index e0c6909f..a481ee77 100755 --- a/ci-scripts/test-firmware-program.sh +++ b/ci-scripts/test-firmware-program.sh @@ -18,4 +18,4 @@ then else echo "god have mercy on your soul" exit $EXIT_CODE -fi \ No newline at end of file +fi diff --git a/ci-scripts/test-host.sh b/ci-scripts/test-host.sh index 0a7ec7a3..ecaa3fb9 100755 --- a/ci-scripts/test-host.sh +++ b/ci-scripts/test-host.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash usbhub --disable-i2c --hub D9D1 power state --port 2 --reset sleep 1s host/build/hackrf-tools/src/hackrf_info @@ -18,4 +18,4 @@ then else echo "god have mercy on your soul" exit $EXIT_CODE -fi \ No newline at end of file +fi