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.5 options: '--entrypoint /bin/bash' env: ZEPHYR_TOOLCHAIN_VARIANT: zephyr ZEPHYR_SDK_INSTALL_DIR: /opt/toolchains/zephyr-sdk-0.15.1 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 }}