diff --git a/.github/workflows/build_check.yml b/.github/workflows/build_check.yml index b7b205e..8ef434d 100644 --- a/.github/workflows/build_check.yml +++ b/.github/workflows/build_check.yml @@ -109,20 +109,30 @@ jobs: hw_testing: name: Hardware Testing - runs-on: self-hosted + strategy: + matrix: + usb_port: [ttyUSB0] + runs-on: [self-hosted, "${{ matrix.usb_port }}"] steps: - #- name: Install PlatformIO - # shell: bash - # run: | - # python -m pip install --upgrade pip - # pip install --upgrade platformio + - uses: actions/cache@v3 + with: + path: | + ~/.cache/pip + ~/.platformio/.cache + key: compile-cache + - uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Install PlatformIO + shell: bash + run: | + python -m pip install --upgrade pip + pip install --upgrade platformio - name: Checkout code uses: actions/checkout@v3 + - name: List Devices + run: pio device list - name: PlatformIO Test - run: | - PORTS=("/dev/ttyUSB0" "/dev/ttyUSB1" "/dev/ttyUSB2") - for port in "${PORTS[@]}" - do - pio test -vv --upload-port $port --test-port $port - done + if: always() + run: flock -w 600 --verbose /locks/pio-${{ matrix.usb_port }} -c "pio test -v --upload-port /dev/${{ matrix.usb_port }} --test-port /dev/${{ matrix.usb_port }}"