diff --git a/.github/workflows/validate_esphome_beta.yml b/.github/workflows/validate_esphome_beta.yml new file mode 100644 index 0000000..dc33f77 --- /dev/null +++ b/.github/workflows/validate_esphome_beta.yml @@ -0,0 +1,123 @@ +name: Validate ESPHome (beta) + +on: + #push: + #paths: + #- "nspanel_esphome*.yaml" + #pull_request: + #schedule: + # - cron: "0 0 * * *" + workflow_dispatch: + +concurrency: + # yamllint disable-line rule:line-length + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + code_scan: + name: Code scan (YAML) + runs-on: "ubuntu-latest" + steps: + - uses: actions/checkout@v4.1.0 + - name: Validate nspanel_esphome.yaml + run: yamllint -c "./.yamllint/rules.yml" nspanel_esphome.yaml + - name: Validate nspanel_esphome_advanced.yaml + run: yamllint -c "./.yamllint/rules.yml" nspanel_esphome_advanced.yaml + - name: Validate nspanel_esphome_addon_climate_cool.yaml + run: yamllint -c "./.yamllint/rules.yml" nspanel_esphome_addon_climate_cool.yaml + - name: Validate nspanel_esphome_addon_climate_heat.yaml + run: yamllint -c "./.yamllint/rules.yml" nspanel_esphome_addon_climate_heat.yaml + + build_core: + name: Core + runs-on: "ubuntu-latest" + needs: + - code_scan + steps: + - uses: actions/checkout@v4.1.0 + - name: Build core + uses: esphome/build-action@v1.8.0 + with: + yaml_file: "./.test/esphome_core.yaml" + version: beta + + build_advanced: + name: Advanced + runs-on: "ubuntu-latest" + needs: + - build_core + steps: + - uses: actions/checkout@v4.1.0 + - name: Build core+advanced + uses: esphome/build-action@v1.8.0 + with: + yaml_file: "./.test/esphome_advanced.yaml" + version: beta + + build_climate_heat: + name: Climate (heat) + runs-on: "ubuntu-latest" + needs: + - build_core + steps: + - uses: actions/checkout@v4.1.0 + - name: Build core+climate_heat + uses: esphome/build-action@v1.8.0 + with: + yaml_file: "./.test/esphome_climate_heat.yaml" + version: beta + + build_climate_cool: + name: Climate (cool) + runs-on: "ubuntu-latest" + needs: + - build_core + steps: + - uses: actions/checkout@v4.1.0 + - name: Build core+climate_cool + uses: esphome/build-action@v1.8.0 + with: + yaml_file: "./.test/esphome_climate_cool.yaml" + version: beta + + build_climate_heat_advanced: + name: Advanced+climate (heat) + runs-on: "ubuntu-latest" + needs: + - build_climate_heat + - build_advanced + steps: + - uses: actions/checkout@v4.1.0 + - name: Build core+advanced+climate_heat + uses: esphome/build-action@v1.8.0 + with: + yaml_file: "./.test/esphome_advanced_climate_heat.yaml" + version: beta + + build_climate_cool_advanced_esp_idf: + name: esp-idf & Bluetooth proxy + runs-on: "ubuntu-latest" + needs: + - build_climate_cool + - build_advanced + steps: + - uses: actions/checkout@v4.1.0 + - name: Build core+advanced+climate_cool+esp_idf + uses: esphome/build-action@v1.8.0 + with: + yaml_file: "./.test/esphome_advanced_climate_cool_esp_idf.yaml" + version: beta + + #build_climate_cool_advanced_esp_idf5: + # name: esp-idf v5 & Bluetooth proxy + # runs-on: "ubuntu-latest" + # needs: + # - build_climate_cool + # - build_advanced + # steps: + # - uses: actions/checkout@v4.1.0 + # - name: Build core+advanced+climate_cool+esp_idf + # uses: esphome/build-action@v1.8.0 + # with: + # yaml_file: "./.test/esphome_advanced_climate_cool_esp_idf5.yaml"