diff --git a/.github/workflows/build_arm.yml b/.github/workflows/build_arm.yml index 4297ba895..64322082d 100644 --- a/.github/workflows/build_arm.yml +++ b/.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 # --------------------------------------- diff --git a/.github/workflows/test_hardware.yml b/.github/workflows/test_hardware.yml new file mode 100644 index 000000000..a39fb6927 --- /dev/null +++ b/.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 }}" + + \ No newline at end of file