Files
TX-Ultimate-Easy/.github/workflows/validate_esphome.yml
2025-07-29 10:13:18 +02:00

49 lines
1.3 KiB
YAML

---
name: Validate ESPHome
permissions:
contents: read
pull-requests: read
on: # yamllint disable-line rule:truthy
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@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install Yamllint
run: pip install yamllint
- name: Validate YAML files
run: find . -name "*.yaml" -exec yamllint -c ./.rules/yamllint.yml {} +
build:
name: ${{ matrix.target }} (${{ matrix.framework }}) - ${{ matrix.version }}
needs: code_scan
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
framework: [ard, idf]
version: [latest, beta, dev]
target: [core, basic, hw_relays, hw_speaker, hw_vibration, ble_proxy, media_player]
steps:
- uses: actions/checkout@v4
- name: Build ${{ matrix.target }} (${{ matrix.framework }}) - ${{ matrix.version }}
uses: esphome/build-action@v4
with:
yaml-file: ".test/esphome_${{ matrix.framework }}_${{ matrix.target }}.yaml"
version: ${{ matrix.version }}
...