name: ESP-IDF Build on: push: paths: - bootloader_components/** - components/** - main/** pull_request: merge_group: 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: [esp32, esp32c3, esp32c5, esp32c6, esp32h2, esp32p4, esp32s3] runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v4 with: submodules: "recursive" - name: ESP-IDF build uses: espressif/esp-idf-ci-action@v1 with: esp_idf_version: ${{ matrix.idf_ver }} target: ${{ matrix.idf_target }} command: idf.py -DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.release" build - name: Prepare binary files run: | mkdir -p build-release cp build/flasher_args.json build-release/ cp build/*.bin build-release/ cp build/bootloader/*.bin build-release/ cp build/partition_table/*.bin build-release/ - name: Archive build output artifacts uses: actions/upload-artifact@v4 with: name: lighthouses-${{ matrix.idf_target }}-${{ matrix.idf_ver }} path: | build-release/*.*