name: ESP-IDF Build on: push: paths: - '**.cpp' - '**.hpp' - '**.h' - '**.c' - '**/CMakeLists.txt' - '.github/workflows/IDFBuild.yml' pull_request: workflow_dispatch: jobs: build: name: ${{ matrix.target }} (IDF ${{ matrix.idf_version }}) runs-on: ubuntu-latest container: image: espressif/idf:v${{ matrix.idf_version }} strategy: fail-fast: false matrix: include: # ESP32 - target: esp32 idf_version: "5.3" - target: esp32 idf_version: "5.1.6" # ESP32-S3 - target: esp32s3 idf_version: "5.3" - target: esp32s3 idf_version: "5.1.6" # ESP32-C3 - target: esp32c3 idf_version: "5.3" - target: esp32c3 idf_version: "5.1.6" # ESP32-C6 (IDF 5.3+ only) - target: esp32c6 idf_version: "5.3" # ESP32-H2 - target: esp32h2 idf_version: "5.3" - target: esp32h2 idf_version: "5.1.6" # ESP32-P4 (IDF 5.3+ only) - target: esp32p4 idf_version: "5.3" steps: - name: Checkout uses: actions/checkout@v4 - name: Build working-directory: examples/Test/build_test shell: bash run: | . $IDF_PATH/export.sh idf.py set-target ${{ matrix.target }} idf.py build