From 4c0a83851e074f2e4856dd67e0954f8ebdf9092e Mon Sep 17 00:00:00 2001 From: Edward Firmo <94725493+edwardtfn@users.noreply.github.com> Date: Tue, 29 Jul 2025 15:54:34 +0200 Subject: [PATCH] Test basic on dev --- .github/workflows/validate_esphome.yml | 168 ++++++++++++++++++++----- 1 file changed, 140 insertions(+), 28 deletions(-) diff --git a/.github/workflows/validate_esphome.yml b/.github/workflows/validate_esphome.yml index d5cc50e..0f9a45a 100644 --- a/.github/workflows/validate_esphome.yml +++ b/.github/workflows/validate_esphome.yml @@ -77,9 +77,24 @@ jobs: yaml-file: ".test/esphome_ard_basic.yaml" version: latest + build_ard_basic_dev: + name: "📦 Arduino Basic (dev)" + needs: build_ard_core + if: success() && !inputs.skip_dev + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@main + - name: Build Arduino Basic - dev + uses: esphome/build-action@main + with: + yaml-file: ".test/esphome_ard_basic.yaml" + version: dev + build_ard_hw_relays: name: "🔌 Arduino HW Relays (latest)" - needs: [build_ard_core, build_ard_basic] + needs: + - build_ard_core + - build_ard_basic runs-on: ubuntu-latest steps: - uses: actions/checkout@main @@ -91,7 +106,9 @@ jobs: build_ard_hw_speaker: name: "🔌 Arduino HW Speaker (latest)" - needs: [build_ard_core, build_ard_basic] + needs: + - build_ard_core + - build_ard_basic runs-on: ubuntu-latest steps: - uses: actions/checkout@main @@ -103,7 +120,9 @@ jobs: build_ard_hw_vibration: name: "🔌 Arduino HW Vibration (latest)" - needs: [build_ard_core, build_ard_basic] + needs: + - build_ard_core + - build_ard_basic runs-on: ubuntu-latest steps: - uses: actions/checkout@main @@ -115,7 +134,12 @@ jobs: build_ard_ble_proxy_latest: name: "⚡ Arduino BLE Proxy (latest)" - needs: [build_ard_core, build_ard_basic, build_ard_hw_relays, build_ard_hw_speaker, build_ard_hw_vibration] + needs: + - build_ard_core + - build_ard_basic + - build_ard_hw_relays + - build_ard_hw_speaker + - build_ard_hw_vibration runs-on: ubuntu-latest steps: - uses: actions/checkout@main @@ -127,7 +151,12 @@ jobs: build_ard_ble_proxy_dev: name: "⚡ Arduino BLE Proxy (dev)" - needs: [build_ard_core, build_ard_basic, build_ard_hw_relays, build_ard_hw_speaker, build_ard_hw_vibration] + needs: + - build_ard_core + - build_ard_basic + - build_ard_hw_relays + - build_ard_hw_speaker + - build_ard_hw_vibration if: success() && !inputs.skip_dev runs-on: ubuntu-latest steps: @@ -140,7 +169,12 @@ jobs: build_ard_media_player_latest: name: "⚡ Arduino Media Player (latest)" - needs: [build_ard_core, build_ard_basic, build_ard_hw_relays, build_ard_hw_speaker, build_ard_hw_vibration] + needs: + - build_ard_core + - build_ard_basic + - build_ard_hw_relays + - build_ard_hw_speaker + - build_ard_hw_vibration runs-on: ubuntu-latest steps: - uses: actions/checkout@main @@ -152,7 +186,12 @@ jobs: build_ard_media_player_dev: name: "⚡ Arduino Media Player (dev)" - needs: [build_ard_core, build_ard_basic, build_ard_hw_relays, build_ard_hw_speaker, build_ard_hw_vibration] + needs: + - build_ard_core + - build_ard_basic + - build_ard_hw_relays + - build_ard_hw_speaker + - build_ard_hw_vibration if: success() && !inputs.skip_dev runs-on: ubuntu-latest steps: @@ -188,6 +227,19 @@ jobs: yaml-file: ".test/esphome_idf_basic.yaml" version: latest + build_idf_basic_dev: + name: "📦 IDF Basic (dev)" + needs: build_idf_core + if: success() && !inputs.skip_dev + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@main + - name: Build IDF Basic - dev + uses: esphome/build-action@main + with: + yaml-file: ".test/esphome_idf_basic.yaml" + version: dev + build_idf_hw_relays: name: "🔌 IDF HW Relays (latest)" needs: [build_idf_core, build_idf_basic] @@ -202,7 +254,9 @@ jobs: build_idf_hw_speaker: name: "🔌 IDF HW Speaker (latest)" - needs: [build_idf_core, build_idf_basic] + needs: + - build_idf_core + - build_idf_basic runs-on: ubuntu-latest steps: - uses: actions/checkout@main @@ -214,7 +268,9 @@ jobs: build_idf_hw_vibration: name: "🔌 IDF HW Vibration (latest)" - needs: [build_idf_core, build_idf_basic] + needs: + - build_idf_core + - build_idf_basic runs-on: ubuntu-latest steps: - uses: actions/checkout@main @@ -226,7 +282,12 @@ jobs: build_idf_ble_proxy_latest: name: "⚡ IDF BLE Proxy (latest)" - needs: [build_idf_core, build_idf_basic, build_idf_hw_relays, build_idf_hw_speaker, build_idf_hw_vibration] + needs: + - build_idf_core + - build_idf_basic + - build_idf_hw_relays + - build_idf_hw_speaker + - build_idf_hw_vibration runs-on: ubuntu-latest steps: - uses: actions/checkout@main @@ -238,7 +299,12 @@ jobs: build_idf_ble_proxy_dev: name: "⚡ IDF BLE Proxy (dev)" - needs: [build_idf_core, build_idf_basic, build_idf_hw_relays, build_idf_hw_speaker, build_idf_hw_vibration] + needs: + - build_idf_core + - build_idf_basic + - build_idf_hw_relays + - build_idf_hw_speaker + - build_idf_hw_vibration if: success() && !inputs.skip_dev runs-on: ubuntu-latest steps: @@ -251,7 +317,12 @@ jobs: build_idf_media_player_latest: name: "⚡ IDF Media Player (latest)" - needs: [build_idf_core, build_idf_basic, build_idf_hw_relays, build_idf_hw_speaker, build_idf_hw_vibration] + needs: + - build_idf_core + - build_idf_basic + - build_idf_hw_relays + - build_idf_hw_speaker + - build_idf_hw_vibration runs-on: ubuntu-latest steps: - uses: actions/checkout@main @@ -263,7 +334,12 @@ jobs: build_idf_media_player_dev: name: "⚡ IDF Media Player (dev)" - needs: [build_idf_core, build_idf_basic, build_idf_hw_relays, build_idf_hw_speaker, build_idf_hw_vibration] + needs: + - build_idf_core + - build_idf_basic + - build_idf_hw_relays + - build_idf_hw_speaker + - build_idf_hw_vibration if: success() && !inputs.skip_dev runs-on: ubuntu-latest steps: @@ -277,9 +353,17 @@ jobs: # Summary Jobs - Grouped by framework and environment summary_arduino: name: "📊 Arduino Framework" - needs: [build_ard_core, build_ard_basic, build_ard_hw_relays, build_ard_hw_speaker, - build_ard_hw_vibration, build_ard_ble_proxy_latest, build_ard_ble_proxy_dev, - build_ard_media_player_latest, build_ard_media_player_dev] + needs: + - build_ard_core + - build_ard_basic + - build_ard_basic_dev + - build_ard_hw_relays + - build_ard_hw_speaker + - build_ard_hw_vibration + - build_ard_ble_proxy_latest + - build_ard_ble_proxy_dev + - build_ard_media_player_latest + - build_ard_media_player_dev if: always() runs-on: ubuntu-latest steps: @@ -300,9 +384,10 @@ jobs: # Count dev builds (if not skipped) if [ "${{ inputs.skip_dev }}" != "true" ]; then + [ "${{ needs.build_ard_basic_dev.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1)) [ "${{ needs.build_ard_ble_proxy_dev.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1)) [ "${{ needs.build_ard_media_player_dev.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1)) - TOTAL=$((TOTAL + 2)) + TOTAL=$((TOTAL + 3)) fi echo "🤖 Arduino Framework: $SUCCESS/$TOTAL builds passed" @@ -316,9 +401,17 @@ jobs: summary_idf: name: "📊 ESP-IDF Framework" - needs: [build_idf_core, build_idf_basic, build_idf_hw_relays, build_idf_hw_speaker, - build_idf_hw_vibration, build_idf_ble_proxy_latest, build_idf_ble_proxy_dev, - build_idf_media_player_latest, build_idf_media_player_dev] + needs: + - build_idf_core + - build_idf_basic + - build_idf_basic_dev + - build_idf_hw_relays + - build_idf_hw_speaker + - build_idf_hw_vibration + - build_idf_ble_proxy_latest + - build_idf_ble_proxy_dev + - build_idf_media_player_latest + - build_idf_media_player_dev if: always() runs-on: ubuntu-latest steps: @@ -339,9 +432,10 @@ jobs: # Count dev builds (if not skipped) if [ "${{ inputs.skip_dev }}" != "true" ]; then + [ "${{ needs.build_idf_basic_dev.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1)) [ "${{ needs.build_idf_ble_proxy_dev.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1)) [ "${{ needs.build_idf_media_player_dev.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1)) - TOTAL=$((TOTAL + 2)) + TOTAL=$((TOTAL + 3)) fi echo "🔧 ESP-IDF Framework: $SUCCESS/$TOTAL builds passed" @@ -355,10 +449,21 @@ jobs: summary_latest: name: "📊 ESPHome (Latest)" - needs: [build_ard_core, build_ard_basic, build_ard_hw_relays, build_ard_hw_speaker, - build_ard_hw_vibration, build_ard_ble_proxy_latest, build_ard_media_player_latest, - build_idf_core, build_idf_basic, build_idf_hw_relays, build_idf_hw_speaker, - build_idf_hw_vibration, build_idf_ble_proxy_latest, build_idf_media_player_latest] + needs: + - build_ard_core + - build_ard_basic + - build_ard_hw_relays + - build_ard_hw_speaker + - build_ard_hw_vibration + - build_ard_ble_proxy_latest + - build_ard_media_player_latest + - build_idf_core + - build_idf_basic + - build_idf_hw_relays + - build_idf_hw_speaker + - build_idf_hw_vibration + - build_idf_ble_proxy_latest + - build_idf_media_player_latest if: always() runs-on: ubuntu-latest steps: @@ -396,21 +501,28 @@ jobs: summary_dev: name: "📊 ESPHome (Dev)" - needs: [build_ard_ble_proxy_dev, build_ard_media_player_dev, build_idf_ble_proxy_dev, - build_idf_media_player_dev] + needs: + - build_ard_basic_dev + - build_ard_ble_proxy_dev + - build_ard_media_player_dev + - build_idf_basic_dev + - build_idf_ble_proxy_dev + - build_idf_media_player_dev if: always() && !inputs.skip_dev runs-on: ubuntu-latest steps: - name: Dev ESPHome Results run: | SUCCESS=0 - TOTAL=4 + TOTAL=6 # Arduino Dev builds + [ "${{ needs.build_ard_basic_dev.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1)) [ "${{ needs.build_ard_ble_proxy_dev.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1)) [ "${{ needs.build_ard_media_player_dev.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1)) # ESP-IDF Dev builds + [ "${{ needs.build_idf_basic_dev.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1)) [ "${{ needs.build_idf_ble_proxy_dev.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1)) [ "${{ needs.build_idf_media_player_dev.result }}" == "success" ] && SUCCESS=$((SUCCESS + 1))