name: ESP-IDF Build on: push: paths: - "firmware/**" - ".gitea/workflows/esp32_build.yml" pull_request: merge_group: workflow_dispatch: schedule: - cron: "0 5 * * 3" permissions: contents: read pull-requests: write concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build: strategy: matrix: idf_ver: [release-v5.4, release-v5.5, latest] idf_target: [esp32c6, esp32s3] runs-on: ubuntu-latest timeout-minutes: 30 steps: - name: Checkout repo uses: actions/checkout@v4 with: submodules: "recursive" - name: Debug - Check paths run: | echo "GITHUB_WORKSPACE: $GITHUB_WORKSPACE" echo "github.workspace: ${{ github.workspace }}" echo "Current directory: $(pwd)" echo "Contents of workspace:" ls -la echo "Contents of firmware directory:" ls -la firmware/ || echo "firmware directory not found" echo "Check for CMakeLists.txt:" test -f firmware/CMakeLists.txt && echo "CMakeLists.txt exists" || echo "CMakeLists.txt NOT found" - name: Extract API key env: INSIGHTS_API_KEY: ${{ secrets.INSIGHTS_API_KEY }} run: | echo $INSIGHTS_API_KEY > firmware/components/analytics/insights_auth_key.txt - name: ESP-IDF build run: | docker run --rm \ -v "$(pwd)":/project \ -w /project/firmware \ espressif/idf:${{ matrix.idf_ver }} \ idf.py -DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.release" build