hathach 3 лет назад
Родитель
Сommit
0be6db50f8
2 измененных файлов с 60 добавлено и 1 удалено
  1. 23 1
      .github/workflows/build_arm.yml
  2. 37 0
      .github/workflows/test_hardware.yml

+ 23 - 1
.github/workflows/build_arm.yml

@@ -99,11 +99,33 @@ jobs:
     - name: Linker Map
       run: |
         pip install linkermap/
-        for ex in `ls -d examples/device/*/`; do \
+        # find -quit to only print map of 1 board per example
+        for ex in `ls -d examples/*/*/`; do \
           find ${ex} -name *.map -print -quit | \
           xargs -I % sh -c 'echo "::group::%"; linkermap -v %; echo "::endgroup::"'; \
         done
 
+    # Following steps are for Hardware Test with self-hosted
+
+    - name: Prepare Artifacts
+      if: matrix.family == 'rp2040'
+      run: find examples/ -name "*.elf" -exec mv {} . \;
+
+    - name: Upload Artifacts for Hardware Test
+      if: matrix.family == 'rp2040'
+      uses: actions/upload-artifact@v3
+      with:
+        name: ${{ matrix.family }}
+        path: |
+          *.elf
+
+    - name: Trigger Hardware Test
+      if: matrix.family == 'rp2040'
+      uses: benc-uk/workflow-dispatch@v1
+      with:
+        workflow: Hardware Test
+        token: ${{ secrets.TRIGGER_SELF_HOSTED }}
+            
   # ---------------------------------------
   # Build all no-family (orphaned) boards
   # ---------------------------------------

+ 37 - 0
.github/workflows/test_hardware.yml

@@ -0,0 +1,37 @@
+name: Hardware Test
+on:
+  workflow_dispatch:
+
+# Hardware in the loop (HIL)
+# Current self-hosted instance is running on an RPI4 with
+# - pico + pico-probe connected via USB
+
+jobs:
+  hw-test:
+    # Limit the run to only hathach due to limited resource on RPI4
+    #if: github.repository_owner == 'hathach' && ${{ github.event.workflow_run.conclusion == 'success' }}
+    if: github.repository_owner == 'hathach'
+    runs-on: [self-hosted, Linux, ARM64]
+
+    steps:
+    - name: Test self-host
+      run: |
+        echo "Running on self-hosted"
+        ls
+        
+    - name: Download rp2040 Artifacts
+      uses: dawidd6/action-download-artifact@v2
+      with:
+        workflow: build_arm.yml
+        name: rp2040
+        
+    - name: List
+      run: ls
+
+#    - name: Clean workspace
+#      run: |
+#        echo "Cleaning up previous run"
+#        rm -rf "${{ github.workspace }}"
+#        mkdir -p "${{ github.workspace }}"
+
+