--- 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_hw_speaker: name: HW Speaker (Arduino) needs: build_ard_core runs-on: ubuntu-latest steps: - uses: actions/checkout@main - name: Build HW Speaker (Arduino) uses: esphome/build-action@main with: yaml-file: ".test/esphome_ard_hw_speaker.yaml" version: beta build_idf_hw_speaker: name: HW Speaker (IDF) needs: build_idf_core runs-on: ubuntu-latest steps: - uses: actions/checkout@main - name: Build HW Speaker (IDF) uses: esphome/build-action@main with: yaml-file: ".test/esphome_idf_hw_speaker.yaml" version: beta build_idf53_hw_speaker: name: HW Speaker (IDF v5.3) needs: build_idf53_core runs-on: ubuntu-latest steps: - uses: actions/checkout@main - name: Build HW Speaker (IDF v5.3) uses: esphome/build-action@main with: yaml-file: ".test/esphome_idf53_hw_speaker.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 ...