summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2024-07-15 17:46:20 +0700
committerhathach <[email protected]>2024-07-15 17:46:20 +0700
commitcc6806144fa0ff4fba4d63c8ec2cc580bb4db48a (patch)
tree3f51a49e07cc0b85aef863f1cdddb1d65c75b1f6
parentbd15f65e81724d05493fe9e020daf9a2ff7d2865 (diff)
update hil test to run on new pi5
-rw-r--r--.github/workflows/hil_test.yml35
-rw-r--r--test/hil/hil_test.py4
-rw-r--r--test/hil/rpi.json (renamed from test/hil/pi4.json)0
3 files changed, 22 insertions, 17 deletions
diff --git a/.github/workflows/hil_test.yml b/.github/workflows/hil_test.yml
index d5bd9c200..51227d408 100644
--- a/.github/workflows/hil_test.yml
+++ b/.github/workflows/hil_test.yml
@@ -17,6 +17,9 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
+env:
+ HIL_JSON: test/hil/rpi.json
+
jobs:
# ---------------------------------------
# Build Non Espressif
@@ -36,7 +39,7 @@ jobs:
sudo apt install -y jq
# Non-Espresif boards
- BOARDS_LIST=$(jq -r '.boards[] | select(.flasher != "esptool") | "-b " + .name' test/hil/pi4.json | tr '\n' ' ')
+ BOARDS_LIST=$(jq -r '.boards[] | select(.flasher != "esptool") | "-b " + .name' ${{ env.HIL_JSON }} | tr '\n' ' ')
echo "BOARDS_LIST=$BOARDS_LIST"
echo "BOARDS_LIST=$BOARDS_LIST" >> $GITHUB_ENV
echo "BOARDS_LIST=$BOARDS_LIST" >> $GITHUB_OUTPUT
@@ -57,7 +60,7 @@ jobs:
- name: Upload Artifacts for Hardware Testing
uses: actions/upload-artifact@v4
with:
- name: hil_pi4
+ name: hil_rpi
path: |
cmake-build/cmake-build-*/*/*/*.elf
cmake-build/cmake-build-*/*/*/*.bin
@@ -78,7 +81,7 @@ jobs:
run: |
sudo apt install -y jq
# Espressif boards
- BOARDS_LIST=$(jq -r '.boards[] | select(.flasher == "esptool") | "-b " + .name' test/hil/pi4.json | tr '\n' ' ')
+ BOARDS_LIST=$(jq -r '.boards[] | select(.flasher == "esptool") | "-b " + .name' ${{ env.HIL_JSON }} | tr '\n' ' ')
echo "BOARDS_LIST=$BOARDS_LIST"
echo "BOARDS_LIST=$BOARDS_LIST" >> $GITHUB_ENV
echo "BOARDS_LIST=$BOARDS_LIST" >> $GITHUB_OUTPUT
@@ -102,7 +105,7 @@ jobs:
- name: Upload Artifacts for Hardware Testing
uses: actions/upload-artifact@v4
with:
- name: hil_pi4_esp
+ name: hil_rpi_esp
path: |
cmake-build/cmake-build-*/*/*/*.bin
cmake-build/cmake-build-*/*/*/bootloader/bootloader.bin
@@ -112,14 +115,14 @@ jobs:
# ---------------------------------------
# Hardware in the loop (HIL)
- # Current self-hosted instance is running on an RPI4. For attached hardware checkout test/hil/pi4.json
+ # self-hosted running on an RPI. For attached hardware checkout test/hil/rpi.json
# ---------------------------------------
- hil-pi4:
+ hil-rpi:
if: github.repository_owner == 'hathach'
needs:
- build
- build-esp
- runs-on: [self-hosted, rp2040, nrf52840, esp32s3, hardware-in-the-loop]
+ runs-on: [self-hosted, ARM64, rpi, hardware-in-the-loop]
env:
BOARDS_LIST: "${{ needs.build.outputs.BOARDS_LIST }} ${{ needs.build-esp.outputs.BOARDS_LIST }}"
steps:
@@ -129,12 +132,12 @@ jobs:
rm -rf "${{ github.workspace }}"
mkdir -p "${{ github.workspace }}"
- # USB bus on rpi4 is not stable, reset it before testing
- - name: Reset USB bus
- run: |
- # reset VIA Labs 2.0 hub
- sudo usbreset 001/002
- lsusb -t
+ # USB bus on rpi is not stable, reset it before testing
+# - name: Reset USB bus
+# run: |
+# # reset VIA Labs 2.0 hub
+# sudo usbreset 001/002
+# lsusb -t
- name: Checkout TinyUSB
uses: actions/checkout@v4
@@ -144,13 +147,13 @@ jobs:
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
- name: hil_pi4
+ name: hil_rpi
path: cmake-build
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
- name: hil_pi4_esp
+ name: hil_rpi_esp
path: cmake-build
- name: Test on actual hardware
@@ -159,4 +162,4 @@ jobs:
echo "::group::{cmake-build contents}"
tree cmake-build
echo "::endgroup::"
- python3 test/hil/hil_test.py $BOARDS_LIST pi4.json
+ python3 test/hil/hil_test.py $BOARDS_LIST ${{ env.HIL_JSON }}
diff --git a/test/hil/hil_test.py b/test/hil/hil_test.py
index c2699cc6f..3ba84f881 100644
--- a/test/hil/hil_test.py
+++ b/test/hil/hil_test.py
@@ -330,7 +330,9 @@ def main():
config_file = args.config_file
boards = args.board
- config_file = os.path.join(os.path.dirname(__file__), config_file)
+ # if config file is not found, try to find it in the same directory as this script
+ if not os.path.exists(config_file):
+ config_file = os.path.join(os.path.dirname(__file__), config_file)
with open(config_file) as f:
config = json.load(f)
diff --git a/test/hil/pi4.json b/test/hil/rpi.json
index bdb8a5fa5..bdb8a5fa5 100644
--- a/test/hil/pi4.json
+++ b/test/hil/rpi.json