220 lines
5.4 KiB
YAML
220 lines
5.4 KiB
YAML
---
|
|
name: Validate ESPHome (Beta)
|
|
|
|
on: # yamllint disable-line rule:truthy
|
|
push:
|
|
paths:
|
|
- "*.yaml"
|
|
- "ESPHome/*.yaml"
|
|
- ".test/*.yaml"
|
|
- "*.h"
|
|
- "*.c"
|
|
- "*.cpp"
|
|
- "*.py"
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
paths:
|
|
- "*.yaml"
|
|
- "*.h"
|
|
- "*.c"
|
|
- "*.cpp"
|
|
- "*.py"
|
|
- ".test/*.*"
|
|
- "components/*.*"
|
|
- "components/tx_ultimate_easy/*.*"
|
|
- "ESPHome/*.*"
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
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:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@main
|
|
|
|
- name: Setup Python
|
|
uses: actions/setup-python@main
|
|
with:
|
|
python-version: '3.8'
|
|
|
|
- name: Install Yamllint
|
|
run: pip install yamllint
|
|
|
|
- name: Validate YAML files
|
|
run: find . -name "*.yaml" -exec yamllint -c ./.rules/yamllint.yml {} +
|
|
|
|
build_ard_core:
|
|
name: Core (Arduino)
|
|
needs: code_scan
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build Core (Arduino)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_ard_core.yaml"
|
|
version: beta
|
|
|
|
build_idf_core:
|
|
name: Core (IDF)
|
|
needs: code_scan
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build Core (IDF)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_idf_core.yaml"
|
|
version: beta
|
|
|
|
build_idf53_core:
|
|
name: Core (IDF v5.3)
|
|
needs: code_scan
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build Core (IDF v5.3)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_idf53_core.yaml"
|
|
version: beta
|
|
|
|
build_ard_basic:
|
|
name: Basic (Arduino)
|
|
needs: build_ard_core
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build Basic (Arduino)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_ard_basic.yaml"
|
|
version: beta
|
|
|
|
build_idf_basic:
|
|
name: Basic (IDF)
|
|
needs: build_idf_core
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build Basic (IDF)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_idf_basic.yaml"
|
|
version: beta
|
|
|
|
build_idf53_basic:
|
|
name: Basic (IDF v5.3)
|
|
needs: build_idf53_core
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build Basic (IDF v5.3)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_idf53_basic.yaml"
|
|
version: beta
|
|
|
|
build_ard_hw_relays:
|
|
name: HW Relays (Arduino)
|
|
needs: build_ard_core
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build HW Relays (Arduino)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_ard_hw_relays.yaml"
|
|
version: beta
|
|
|
|
build_idf_hw_relays:
|
|
name: HW Relays (IDF)
|
|
needs: build_idf_core
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build HW Relays (IDF)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_idf_hw_relays.yaml"
|
|
version: beta
|
|
|
|
build_idf53_hw_relays:
|
|
name: HW Relays (IDF v5.3)
|
|
needs: build_idf53_core
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build HW Relays (IDF v5.3)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_idf53_hw_relays.yaml"
|
|
version: beta
|
|
|
|
build_ard_ble_proxy:
|
|
name: Bluetooth Proxy (Ard)
|
|
needs: build_ard_basic
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build BLE Proxy (Ard)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_ard_ble_proxy.yaml"
|
|
version: beta
|
|
|
|
build_idf_ble_proxy:
|
|
name: Bluetooth Proxy (IDF)
|
|
needs: build_idf_basic
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build BLE Proxy (IDF)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_idf_ble_proxy.yaml"
|
|
version: beta
|
|
|
|
build_idf53_ble_proxy:
|
|
name: Bluetooth Proxy (IDF v5.3)
|
|
needs: build_idf53_basic
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build BLE Proxy (IDF v5.3)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_idf53_ble_proxy.yaml"
|
|
version: beta
|
|
|
|
build_idf_media_player:
|
|
name: Media Player (IDF)
|
|
needs: build_idf_basic
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build Media Player (IDF)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_idf_media_player.yaml"
|
|
version: beta
|
|
|
|
build_idf53_media_player:
|
|
name: Media Player (IDF v5.3)
|
|
needs: build_idf53_basic
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
- name: Build Media Player (IDF v5.3)
|
|
uses: esphome/build-action@main
|
|
with:
|
|
yaml-file: ".test/esphome_idf53_media_player.yaml"
|
|
version: beta
|
|
...
|