Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 9 additions & 37 deletions .github/workflows/idf-build.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,25 @@
name: IDF Build (ESP32-P4)

on:
pull_request:
push:
branches: [main]
pull_request:

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout (with submodules)
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive

- name: Fetch third-party dependencies
run: python fetch_repos.py

# Optional: speed up repeated builds (ccache)
- name: Prepare ccache dir
run: mkdir -p .ccache
lfs: false

- name: Restore ccache
uses: actions/cache@v4
with:
path: .ccache
# ✅ FIX: pass multiple patterns as separate args to hashFiles()
key: ccache-${{ runner.os }}-${{ github.ref_name }}-${{ hashFiles('**/CMakeLists.txt', '**/*.c', '**/*.cpp', 'sdkconfig*') }}
restore-keys: |
ccache-${{ runner.os }}-${{ github.ref_name }}-
ccache-${{ runner.os }}-

- name: Build with ESP-IDF 5.4.x (esp32p4)
- name: Build with ESP-IDF 5.4.2 for ESP32-P4
uses: espressif/esp-idf-ci-action@v1
env:
IDF_TARGET: esp32p4
with:
esp_idf_version: v5.4.2
target: esp32p4
path: platforms/tab5
# mount ccache dir inside the container
extra_docker_args: "-v ${{ github.workspace }}/.ccache:/root/.ccache -e CCACHE_DIR=/root/.ccache"

- name: Upload firmware
uses: actions/upload-artifact@v4
with:
name: m5tab5-firmware
path: |
platforms/tab5/build/**/*.bin
platforms/tab5/build/**/*.elf
platforms/tab5/build/**/*.map
command: |
. /opt/esp/idf/export.sh
cd platforms/tab5
idf.py set-target esp32p4
idf.py build
Comment on lines +11 to +25
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P1] Fetch third-party repos before running idf.py

The workflow now checks out the repo and immediately calls idf.py build, but it no longer runs python fetch_repos.py (or any equivalent) to populate dependencies/ with LVGL and other external components. platforms/tab5/CMakeLists.txt unconditionally add_subdirectory’s those directories, so a clean runner will fail during configure because the repos are missing. This job will now always error out on a fresh checkout.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@codex fix comments

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary

Testing

  • ⚠️ Tests not run (CI workflow change only).

View task →

Loading