name: Validate ESPHome 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: Build 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: Build 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: Build 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: Build 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_heat_advanced: name: Build 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_heat_advanced_arduino: name: Build arduino runs-on: "ubuntu-latest" needs: - build_climate_heat - build_advanced steps: - uses: actions/checkout@v4.1.0 - name: Build core+advanced+climate_heat+arduino uses: esphome/build-action@v1.8.0 with: yaml_file: "./.test/esphome_advanced_climate_heat_arduino.yaml"