name: esp32 port on: push: pull_request: paths: - '.github/workflows/*.yml' - 'tools/**' - 'py/**' - 'extmod/**' - 'shared/**' - 'lib/**' - 'drivers/**' - 'ports/esp32/**' concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build_idf: strategy: fail-fast: false matrix: ci_func: # names are functions in ci.sh - esp32_build_cmod_spiram_s2 - esp32_build_s3_c3 runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v4 - id: idf_ver name: Read the ESP-IDF version run: source tools/ci.sh && echo "IDF_VER=$IDF_VER" | tee "$GITHUB_OUTPUT" - name: Cached ESP-IDF install id: cache_esp_idf uses: actions/cache@v3 with: path: | ./esp-idf/ ~/.espressif/ !~/.espressif/dist/ ~/.cache/pip/ key: esp-idf-${{ steps.idf_ver.outputs.IDF_VER }} - name: Install ESP-IDF packages if: steps.cache_esp_idf.outputs.cache-hit != 'true' run: source tools/ci.sh && ci_esp32_idf_setup - name: ccache uses: hendrikmuhs/ccache-action@v1.2 with: key: esp32-${{ matrix.ci_func }} - name: Build ci_${{matrix.ci_func }} run: source tools/ci.sh && ci_${{ matrix.ci_func }}