diff --git a/.github/workflows/validate_esphome.yml b/.github/workflows/validate_esphome.yml new file mode 100644 index 0000000..de786d1 --- /dev/null +++ b/.github/workflows/validate_esphome.yml @@ -0,0 +1,104 @@ +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 + + checkout: + name: Checkout + runs-on: "ubuntu-latest" + needs: + - code_scan + steps: + - uses: actions/checkout@v4.1.0 + + build_core: + name: Build core + runs-on: "ubuntu-latest" + needs: + - checkout + steps: + - 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: + - 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: + - 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: + - 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 + steps: + - 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 + steps: + - name: Build core+advanced+climate_heat+arduino + uses: esphome/build-action@v1.8.0 + with: + yaml_file: "./.test/esphome_advanced_climate_heat_arduino.yaml" diff --git a/.github/workflows/validate_esphome_build.yml b/.github/workflows/validate_esphome_build.yml deleted file mode 100644 index 4d6411a..0000000 --- a/.github/workflows/validate_esphome_build.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Validate ESPHome build - -on: - push: - paths: - - "nspanel_esphome*.yaml" - pull_request: - #schedule: - # - cron: "0 0 * * *" - workflow_dispatch: - -jobs: - code_scan: - name: Validate ESPHome build - runs-on: "ubuntu-latest" - steps: - - uses: actions/checkout@v4.1.0 - - name: Build core - uses: esphome/build-action@v1.8.0 - with: - yaml_file: "./.test/esphome_core.yaml" - - name: Build core+advanced - uses: esphome/build-action@v1.8.0 - with: - yaml_file: "./.test/esphome_advanced.yaml" - - name: Build core+climate_heat - uses: esphome/build-action@v1.8.0 - with: - yaml_file: "./.test/esphome_climate_heat.yaml" - - name: Build core+climate_cool - uses: esphome/build-action@v1.8.0 - with: - yaml_file: "./.test/esphome_climate_cool.yaml" - - name: Build core+advanced+climate_heat - uses: esphome/build-action@v1.8.0 - with: - yaml_file: "./.test/esphome_advanced_climate_heat.yaml" - - name: Build core+advanced+climate_heat+arduino - uses: esphome/build-action@v1.8.0 - with: - yaml_file: "./.test/esphome_advanced_climate_heat_arduino.yaml" - \ No newline at end of file diff --git a/.github/workflows/validate_esphome_yaml.yml b/.github/workflows/validate_esphome_yaml.yml deleted file mode 100644 index dbe3f8c..0000000 --- a/.github/workflows/validate_esphome_yaml.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Validate ESPHome YAML - -on: - push: - paths: - - "nspanel_esphome*.yaml" - pull_request: - #schedule: - # - cron: "0 0 * * *" - workflow_dispatch: - -jobs: - code_scan: - name: Validate ESPHome 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