From 2f6b015d915460be78ff00461531a8c161c9e0c4 Mon Sep 17 00:00:00 2001 From: ainyan03 <205502311+ainyan03@users.noreply.github.com> Date: Thu, 1 Oct 2026 03:39:07 +0000 Subject: [PATCH] CI: split the IDF / arduino-esp32 versions with the sibling repository M5GFX and M5Unified built nearly the same version matrix, and M5Unified's CI already builds M5GFX (same branch) as well. Give each repository different versions so that together they cover every IDF minor from 5.1 to 6.1 and every arduino-esp32 series from 2.0 to 3.3, at about the same job count: M5GFX M5Unified IDF 5.1.6, 5.4.3, 6.0.2 5.2.6, 5.3, 6.1 (C5 / C61: 5.5.2) Arduino 2.0.17, 3.1.3, 3.3.0 (C5) 3.0.7, 3.2.1, 3.3.12 M5Stack 2.1.4 3.2.5 Each chip stays at or above its minimum (P4: IDF 5.3 / Arduino 3.1, C5 and C61: IDF 5.5 / Arduino 3.3, C6 and H2: Arduino 3.0). --- .github/workflows/ArduinoBuild.yml | 52 +++++++++++------------------- .github/workflows/IDFBuild.yml | 25 +++++++------- 2 files changed, 32 insertions(+), 45 deletions(-) diff --git a/.github/workflows/ArduinoBuild.yml b/.github/workflows/ArduinoBuild.yml index 25a7592..fbaf1c6 100644 --- a/.github/workflows/ArduinoBuild.yml +++ b/.github/workflows/ArduinoBuild.yml @@ -26,60 +26,46 @@ jobs: fail-fast: false matrix: include: - # =================== - # Espressif Board Manager - # =================== - # ESP32 + # Versions are split with the M5Unified / M5GFX CI so that the two together cover every + # arduino-esp32 series from 2.0 to 3.3 without building the same one twice. + # Minimums: C6 / H2 3.0, P4 3.1, C5 3.3. + # Espressif Board Manager: 2.0.17 - board: esp32:esp32:esp32 esp32_version: 2.0.17 board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json - - board: esp32:esp32:esp32 - esp32_version: 3.1.1 - board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json - # ESP32-S3 - board: esp32:esp32:esp32s3 esp32_version: 2.0.17 board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json - - board: esp32:esp32:esp32s3 - esp32_version: 3.1.1 - board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json - # ESP32-C3 - board: esp32:esp32:esp32c3 esp32_version: 2.0.17 board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json - - board: esp32:esp32:esp32c3 - esp32_version: 3.1.1 + # Espressif Board Manager: 3.1.3 + - board: esp32:esp32:esp32 + esp32_version: 3.1.3 board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json - # ESP32-C5 (v3.3+ only) - - board: esp32:esp32:esp32c5 - esp32_version: 3.3.11 + - board: esp32:esp32:esp32s3 + esp32_version: 3.1.3 + board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + - board: esp32:esp32:esp32c3 + esp32_version: 3.1.3 board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json - # ESP32-C6 (v3 only) - board: esp32:esp32:esp32c6 - esp32_version: 3.1.1 + esp32_version: 3.1.3 board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json - # ESP32-P4 (v3 only) - board: esp32:esp32:esp32p4 - esp32_version: 3.1.1 + esp32_version: 3.1.3 board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json - # ESP32-H2 (v3 only) - board: esp32:esp32:esp32h2 - esp32_version: 3.1.1 + esp32_version: 3.1.3 + board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json + # Espressif Board Manager: 3.3.0 (oldest release with ESP32-C5) + - board: esp32:esp32:esp32c5 + esp32_version: 3.3.0 board_manager_url: https://espressif.github.io/arduino-esp32/package_esp32_index.json - # =================== # M5Stack Board Manager - # =================== - # M5Core (ESP32) - board: m5stack:esp32:m5stack_core esp32_version: 2.1.4 board_manager_url: https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json - - board: m5stack:esp32:m5stack_core - esp32_version: 3.2.5 - board_manager_url: https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json - # M5CoreS3 (ESP32-S3, v3 only) - - board: m5stack:esp32:m5stack_cores3 - esp32_version: 3.2.5 - board_manager_url: https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json steps: - name: Checkout diff --git a/.github/workflows/IDFBuild.yml b/.github/workflows/IDFBuild.yml index 178c16e..dd0ebb1 100644 --- a/.github/workflows/IDFBuild.yml +++ b/.github/workflows/IDFBuild.yml @@ -28,39 +28,40 @@ jobs: fail-fast: false matrix: include: + # Versions are split with the M5Unified / M5GFX CI so that the two together cover every IDF + # minor from 5.1 to 6.1 without building the same one twice. Keep each chip at or above its + # minimum version. # ESP32 - - target: esp32 - idf_version: "5.3" - target: esp32 idf_version: "5.1.6" + - target: esp32 + idf_version: "5.4.3" - target: esp32 idf_version: "6.0.2" # ESP32-S3 - - target: esp32s3 - idf_version: "5.3" - target: esp32s3 idf_version: "5.1.6" + - target: esp32s3 + idf_version: "5.4.3" + - target: esp32s3 + idf_version: "6.0.2" # ESP32-C3 - - target: esp32c3 - idf_version: "5.3" - target: esp32c3 idf_version: "5.1.6" + - target: esp32c3 + idf_version: "5.4.3" # ESP32-C5 (IDF 5.5+ only) - target: esp32c5 idf_version: "5.5.2" # ESP32-C6 (IDF 5.3+ only) - target: esp32c6 - idf_version: "5.3" - - target: esp32c6 - idf_version: "5.5.2" + idf_version: "5.4.3" # ESP32-H2 - - target: esp32h2 - idf_version: "5.3" - target: esp32h2 idf_version: "5.1.6" # ESP32-P4 (IDF 5.3+ only) - target: esp32p4 - idf_version: "5.3" + idf_version: "5.4.3" # ESP32-C61 (IDF 5.5.2+ only) - target: esp32c61 idf_version: "5.5.2"