| name: Bluetooth Tests |
| |
| on: |
| pull_request: |
| paths: |
| - ".github/workflows/bluetooth-test*.yaml" |
| - "west.yml" |
| - "subsys/bluetooth/**" |
| - "tests/bluetooth/bsim_bt/**" |
| - "boards/posix/**" |
| - "soc/posix/**" |
| - "arch/posix/**" |
| |
| jobs: |
| bluetooth-test-prep: |
| runs-on: ubuntu-20.04 |
| steps: |
| - name: Cancel Previous Runs |
| uses: styfle/cancel-workflow-action@0.6.0 |
| with: |
| access_token: ${{ github.token }} |
| bluetooth-test-build: |
| runs-on: ubuntu-20.04 |
| needs: bluetooth-test-prep |
| container: |
| image: ghcr.io/zephyrproject-rtos/ci:v0.24.2 |
| options: '--entrypoint /bin/bash' |
| env: |
| ZEPHYR_TOOLCHAIN_VARIANT: zephyr |
| ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.15.0 |
| CLANG_ROOT_DIR: /usr/lib/llvm-12 |
| BSIM_OUT_PATH: /opt/bsim/ |
| BSIM_COMPONENTS_PATH: /opt/bsim/components |
| EDTT_PATH: ../tools/edtt |
| bsim_bt_test_results_file: ./bsim_bt_out/bsim_results.xml |
| steps: |
| - name: Apply container owner mismatch workaround |
| run: | |
| # FIXME: The owner UID of the GITHUB_WORKSPACE directory may not |
| # match the container user UID because of the way GitHub |
| # Actions runner is implemented. Remove this workaround when |
| # GitHub comes up with a fundamental fix for this problem. |
| git config --global --add safe.directory ${GITHUB_WORKSPACE} |
| |
| - name: Update PATH for west |
| run: | |
| echo "$HOME/.local/bin" >> $GITHUB_PATH |
| |
| - name: checkout |
| uses: actions/checkout@v2 |
| with: |
| fetch-depth: 0 |
| |
| - name: west setup |
| env: |
| BASE_REF: ${{ github.base_ref }} |
| run: | |
| git config --global user.email "you@example.com" |
| git config --global user.name "Your Name" |
| git remote -v |
| git rebase origin/${BASE_REF} |
| west init -l . || true |
| west config --global update.narrow true |
| west update 2>&1 1> west.update.log || west update 2>&1 1> west.update2.log |
| |
| - name: Run Bluetooth Tests with BSIM |
| run: | |
| export ZEPHYR_BASE=${PWD} |
| WORK_DIR=${ZEPHYR_BASE}/bsim_bt_out tests/bluetooth/bsim_bt/compile.sh |
| RESULTS_FILE=${ZEPHYR_BASE}/${bsim_bt_test_results_file} \ |
| SEARCH_PATH=tests/bluetooth/bsim_bt/ tests/bluetooth/bsim_bt/run_parallel.sh |
| |
| - name: Upload Test Results |
| if: always() |
| uses: actions/upload-artifact@v2 |
| with: |
| name: bluetooth-test-results |
| path: | |
| ./bsim_bt_out/bsim_results.xml |
| ${{ github.event_path }} |
| |
| - name: Upload Event Details |
| if: always() |
| uses: actions/upload-artifact@v2 |
| with: |
| name: event |
| path: | |
| ${{ github.event_path }} |