diff options
author | Peter Johanson <[email protected]> | 2023-06-20 09:31:55 -0700 |
---|---|---|
committer | Pete Johanson <[email protected]> | 2023-12-02 17:11:45 -0800 |
commit | 693530c2f1e7f8f59355b67878a7ed2c10f2b2bd (patch) | |
tree | 06dee4f27bcc3215cbb66d81523a2adc447a4298 /.github | |
parent | da15564d0e7069e5f262e5d8351f1622b08a1118 (diff) | |
download | zmk-693530c2f1e7f8f59355b67878a7ed2c10f2b2bd.tar.gz zmk-693530c2f1e7f8f59355b67878a7ed2c10f2b2bd.zip |
feat(bluetooth): Initial nRF52 BSIM based test support.
Co-authored-by: Cem Aksoylar <[email protected]>
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/ble-test.yml | 78 | ||||
-rw-r--r-- | .github/workflows/test.yml | 2 |
2 files changed, 79 insertions, 1 deletions
diff --git a/.github/workflows/ble-test.yml b/.github/workflows/ble-test.yml new file mode 100644 index 0000000000..3bc8a71807 --- /dev/null +++ b/.github/workflows/ble-test.yml @@ -0,0 +1,78 @@ +name: BLE Tests + +on: + push: + paths: + - ".github/workflows/ble-test.yml" + - "app/tests/ble/**" + - "app/src/**" + - "app/run-ble-test.sh" + pull_request: + paths: + - ".github/workflows/ble-test.yml" + - "app/tests/ble/**" + - "app/src/**" + - "app/run-ble-test.sh" + +jobs: + collect-tests: + outputs: + test-dirs: ${{ steps.test-dirs.outputs.test-dirs }} + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Find test directories + id: test-dirs + run: | + cd app/tests/ble + export TESTS=$(ls -d * | grep -v central | jq -R -s -c 'split("\n")[:-1]') + echo "::set-output name=test-dirs::${TESTS}" + run-tests: + needs: collect-tests + strategy: + matrix: + test: ${{ fromJSON(needs.collect-tests.outputs.test-dirs) }} + runs-on: ubuntu-latest + container: + image: docker.io/zmkfirmware/zmk-build-arm:3.2 + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Cache west modules + uses: actions/[email protected] + env: + cache-name: cache-zephyr-modules + with: + path: | + modules/ + tools/ + zephyr/ + bootloader/ + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('app/west.yml') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + ${{ runner.os }}-build- + ${{ runner.os }}- + timeout-minutes: 2 + continue-on-error: true + - name: Initialize workspace (west init) + run: west init -l app + - name: Enable babblesim group filter + run: west config manifest.group-filter -- +babblesim + - name: Update modules (west update) + run: west update + - name: Export Zephyr CMake package (west zephyr-export) + run: west zephyr-export + - name: Build BabbleSim components + working-directory: tools/bsim + run: make everything + - name: Test ${{ matrix.test }} + working-directory: app + run: BSIM_COMPONENTS_PATH="${GITHUB_WORKSPACE}/tools/bsim/components/" BSIM_OUT_PATH="${GITHUB_WORKSPACE}/tools/bsim/" ./run-ble-test.sh tests/ble/${{ matrix.test }} + - name: Archive artifacts + if: ${{ always() }} + uses: actions/upload-artifact@v2 + with: + name: "log-files" + path: app/build/**/*.log diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e8a9d2209e..ec63081279 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,7 +24,7 @@ jobs: id: test-dirs run: | cd app/tests/ - export TESTS=$(ls -d * | jq -R -s -c 'split("\n")[:-1]') + export TESTS=$(ls -d * | grep -v ble | jq -R -s -c 'split("\n")[:-1]') echo "::set-output name=test-dirs::${TESTS}" run-tests: needs: collect-tests |