Log DPS5020 retry attempts at WARN level for diagnostics #1
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release (ESP-IDF) | |
| on: | |
| push: | |
| tags: | |
| - "v*" | |
| workflow_dispatch: {} | |
| permissions: | |
| contents: write | |
| env: | |
| IDF_VERSION: "v6.0" | |
| IDF_TARGET: "esp32" | |
| PROJECT_NAME: "Thermy" | |
| jobs: | |
| build-and-release: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Setup pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| cache-dependency-path: frontend/pnpm-lock.yaml | |
| - name: Build frontend | |
| run: cd frontend && pnpm install --frozen-lockfile && pnpm build | |
| - name: Build firmware (ESP-IDF) | |
| uses: espressif/esp-idf-ci-action@v1 | |
| with: | |
| esp_idf_version: ${{ env.IDF_VERSION }} | |
| target: ${{ env.IDF_TARGET }} | |
| command: | | |
| set -euo pipefail | |
| idf.py set-target ${{ env.IDF_TARGET }} | |
| idf.py build | |
| cd build && esptool.py --chip ${{ env.IDF_TARGET }} merge_bin -o merged-factory.bin -f raw @flash_args | |
| - name: Prepare release artifacts | |
| run: | | |
| set -euo pipefail | |
| mkdir -p dist | |
| # Full factory image (bootloader + partition table + all partitions) | |
| cp build/merged-factory.bin dist/${{ env.PROJECT_NAME }}-factory.bin | |
| # Application-only binary (for OTA update via /api/upload/app) | |
| cp build/${{ env.PROJECT_NAME }}.bin dist/${{ env.PROJECT_NAME }}-app.bin | |
| # WWW FAT partition image (for update via /api/upload/www) | |
| cp build/www.bin dist/${{ env.PROJECT_NAME }}-www.bin | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| generate_release_notes: true | |
| body: | | |
| ### Firmware files | |
| - **${{ env.PROJECT_NAME }}-factory.bin** — Full factory image (bootloader + partition table + app + www). Use for initial flashing or full recovery via `esptool.py`. | |
| - **${{ env.PROJECT_NAME }}-app.bin** — Application firmware only. Upload via the web UI (Firmware > Application Firmware) for OTA update. | |
| - **${{ env.PROJECT_NAME }}-www.bin** — Web interface FAT image. Upload via the web UI (Firmware > WWW Partition) to update the frontend independently. | |
| files: | | |
| dist/${{ env.PROJECT_NAME }}-factory.bin | |
| dist/${{ env.PROJECT_NAME }}-app.bin | |
| dist/${{ env.PROJECT_NAME }}-www.bin |