aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github
diff options
context:
space:
mode:
authorPeter Johanson <[email protected]>2023-06-20 09:31:55 -0700
committerPete Johanson <[email protected]>2023-12-02 17:11:45 -0800
commit693530c2f1e7f8f59355b67878a7ed2c10f2b2bd (patch)
tree06dee4f27bcc3215cbb66d81523a2adc447a4298 /.github
parentda15564d0e7069e5f262e5d8351f1622b08a1118 (diff)
downloadzmk-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.yml78
-rw-r--r--.github/workflows/test.yml2
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