name: Build on: workflow_dispatch: pull_request: push: branches: - master jobs: build-esp-idf-component: name: Build with ESP-IDF ${{ matrix.idf_ver }} for ${{ matrix.idf_target }} runs-on: ubuntu-latest strategy: matrix: # The version names here correspond to the versions of espressif/idf Docker image. # See https://hub.docker.com/r/espressif/idf/tags and # https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-docker-image.html # for details. idf_ver: ["release-v4.4", "release-v5.1", "release-v5.3"] idf_target: ["esp32", "esp32s3", "esp32c2", "esp32c3", "esp32c6", "esp32h2", "esp32p4"] example: - NimBLE_Client - NimBLE_Server - Bluetooth_5/NimBLE_extended_client - Bluetooth_5/NimBLE_extended_server exclude: - idf_target: "esp32" example: Bluetooth_5/NimBLE_extended_client - idf_target: "esp32" example: Bluetooth_5/NimBLE_extended_server - idf_ver: release-v4.4 idf_target: "esp32c2" - idf_ver: release-v4.4 idf_target: "esp32c6" - idf_ver: release-v4.4 idf_target: "esp32h2" - idf_ver: release-v4.4 idf_target: "esp32p4" - idf_ver: release-v5.1 idf_target: "esp32p4" container: espressif/idf:${{ matrix.idf_ver }} steps: - name: Checkout uses: actions/checkout@v4 with: path: components/esp-nimble-cpp - name: Build examples env: IDF_TARGET: ${{ matrix.idf_target }} shell: bash run: | . ${IDF_PATH}/export.sh cp -r components/esp-nimble-cpp/examples/* . idf.py -C ${{ matrix.example }} -DEXTRA_COMPONENT_DIRS=$PWD/components build build_docs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Doxygen Action uses: mattnotmitt/doxygen-action@v1.9.8 with: working-directory: 'docs/'