Files
NSPanel_HA_Blueprint/.github/workflows/validate_esphome.yml
2024-01-05 08:25:57 +01:00

164 lines
5.1 KiB
YAML

name: Validate ESPHome
on:
workflow_dispatch:
pull_request:
paths:
- "nspanel_esphome*.yaml"
- "advanced/esphome/nspanel_esphome*.yaml"
#schedule:
#- cron: "0 0 * * *"
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 "./.rules/yamllint.yml" nspanel_esphome.yaml
- name: Validate nspanel_esphome_core.yaml
run: yamllint -c "./.rules/yamllint.yml" advanced/esphome/nspanel_esphome_core.yaml
- name: Validate nspanel_esphome_addon_upload_tft.yaml
run: yamllint -c "./.rules/yamllint.yml" advanced/esphome/nspanel_esphome_addon_upload_tft.yaml
- name: Validate nspanel_esphome_advanced.yaml
run: yamllint -c "./.rules/yamllint.yml" advanced/esphome/nspanel_esphome_advanced.yaml
- name: Validate nspanel_esphome_addon_climate_base.yaml
run: yamllint -c "./.rules/yamllint.yml" advanced/esphome/nspanel_esphome_addon_climate_base.yaml
- name: Validate nspanel_esphome_addon_climate_cool.yaml
run: yamllint -c "./.rules/yamllint.yml" nspanel_esphome_addon_climate_cool.yaml
- name: Validate nspanel_esphome_addon_climate_heat.yaml
run: yamllint -c "./.rules/yamllint.yml" nspanel_esphome_addon_climate_heat.yaml
- name: Validate nspanel_esphome_addon_climate_dual.yaml
run: yamllint -c "./.rules/yamllint.yml" nspanel_esphome_addon_climate_dual.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"
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"
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"
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"
build_climate_dual:
name: Climate (dual)
runs-on: "ubuntu-latest"
needs:
- build_core
steps:
- uses: actions/checkout@v4.1.0
- name: Build core+climate_dual
uses: esphome/build-action@v1.8.0
with:
yaml_file: "./.test/esphome_climate_dual.yaml"
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"
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"
#build_climate_cool_advanced_esp_idf5:
# name: esp-idf v5 & Bluetooth proxy
# runs-on: "ubuntu-latest"
# needs:
# - build_climate_cool_advanced_esp_idf
# steps:
# - uses: actions/checkout@v4.1.0
# - name: Build core+advanced+climate_cool+esp_idf5
# uses: esphome/build-action@v1.8.0
# with:
# yaml_file: "./.test/esphome_advanced_climate_cool_esp_idf5.yaml"
build_climate_heat_advanced_customization:
name: Customizations
runs-on: "ubuntu-latest"
needs:
- build_climate_heat_advanced
- build_climate_cool_advanced_esp_idf
steps:
- uses: actions/checkout@v4.1.0
- name: Build core+advanced+climate_heat+customizations
uses: esphome/build-action@v1.8.0
with:
yaml_file: "./.test/esphome_advanced_climate_heat_customizations.yaml"
#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"