Skip to content

Fix IDF v6 build (HSPI/VSPI aliases) and extend the CI matrix - #249

Merged
lovyan03 merged 2 commits into
m5stack:developfrom
ainyan03:ci_c5_idf6
Aug 13, 2026
Merged

Fix IDF v6 build (HSPI/VSPI aliases) and extend the CI matrix#249
lovyan03 merged 2 commits into
m5stack:developfrom
ainyan03:ci_c5_idf6

Conversation

@ainyan03

Copy link
Copy Markdown
Contributor

Summary

Two related changes, validated together on a fork run of the extended matrix:

  1. Use SPI2_HOST/SPI3_HOST instead of the removed HSPI_HOST/VSPI_HOST aliases.
    ESP-IDF v6 drops the ESP32-classic aliases, which broke the board autodetect path (M5GFX.cpp) and the Atom/Module display headers when building against it. SPI2_HOST/SPI3_HOST are the canonical names since IDF v4, so every Arduino core and IDF version already covered by CI keeps building (the shared lgfx layer was unaffected — it guards these aliases with #if defined).

  2. CI matrix additions:

    • IDF: esp32c5 @ 5.5.2 (a supported product chip that had no IDF-side coverage), esp32c6 @ 5.5.2 (compiles the low-power peripheral paths that 5.3 leaves out), and esp32 @ 6.0.2 (surfaces next-major deprecations early — it is what caught the alias removal above).
    • Arduino: esp32c5 @ arduino-esp32 3.3.11 (C5 support landed in the 3.3 series).
    • Both workflows cancel superseded runs of the same branch or pull request (group keyed by event name and PR number, so runs from different forks cannot cancel each other).

Testing

  • Fork run of the full extended matrix: all IDF jobs green (including esp32 @ 6.0.2, esp32c5 @ 5.5.2, esp32c6 @ 5.5.2) and all Arduino jobs green (including esp32c5 @ 3.3.11).
  • Job-count impact: +3 IDF jobs and +1 Arduino job, each ~2 min in the containerized lanes.

ESP-IDF v6 drops the ESP32-classic HSPI_HOST/VSPI_HOST aliases, which
broke the autodetect path and the Atom/Module display headers when
building against it. SPI2_HOST/SPI3_HOST are the canonical names since
IDF v4, so this stays compatible with every Arduino core and IDF
version the CI floor covers.
- The IDF matrix gains esp32c5 (5.5.2), esp32c6 on 5.5.2 so the low
  power peripheral paths compile, and esp32 on 6.0.2 to surface next
  major deprecations early.
- The Arduino matrix gains esp32c5 on arduino-esp32 3.3.11 (C5 support
  landed in the 3.3 series).
- Both workflows now cancel superseded runs of the same branch or pull
  request, keyed by event name and PR number.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This pull request updates ESP32-classic SPI host selection to remain compatible with ESP-IDF v6 (which removed HSPI_HOST/VSPI_HOST aliases) and expands CI coverage to include newer ESP-IDF / Arduino core combinations while preventing redundant concurrent runs.

Changes:

  • Replace HSPI_HOST/VSPI_HOST with canonical SPI2_HOST/SPI3_HOST in ESP32-classic autodetect and display configuration paths.
  • Extend the ESP-IDF CI matrix to add esp32 @ 6.0.2, esp32c5 @ 5.5.2, and esp32c6 @ 5.5.2.
  • Extend the Arduino CI matrix to add esp32c5 @ arduino-esp32 3.3.11, and add concurrency cancellation to both workflows.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/M5ModuleDisplay.h Switches ESP32-classic SPI host define to SPI3_HOST to avoid removed IDF v6 aliases.
src/M5GFX.cpp Updates ESP32-classic autodetect SPI host assignments to SPI3_HOST / SPI2_HOST.
src/M5AtomDisplay.h Switches ESP32-classic SPI host define to SPI3_HOST to avoid removed IDF v6 aliases.
.github/workflows/IDFBuild.yml Adds IDF build matrix coverage (esp32 v6, esp32c5/c6 v5.5.2) and concurrency cancellation.
.github/workflows/ArduinoBuild.yml Adds Arduino esp32c5 build coverage and concurrency cancellation.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@lovyan03
lovyan03 merged commit 092c200 into m5stack:develop Aug 13, 2026
27 checks passed
@ainyan03
ainyan03 deleted the ci_c5_idf6 branch August 13, 2026 07:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants