Remove unnecessary boot flags and move others to yaml #2700
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: Validate and Build ESPHome | |
| # yamllint disable-line rule:truthy | |
| on: | |
| push: | |
| paths: | |
| - "nspanel_esphome*.yaml" | |
| - "esphome/nspanel_esphome*.yaml" | |
| - "prebuilt/nspanel_esphome*.yaml" | |
| - "prebuilt/wall_display*.yaml" | |
| - ".test/*.yaml" | |
| - "*.h" | |
| - "*.c" | |
| - "*.cpp" | |
| - "*.py" | |
| pull_request: | |
| paths: | |
| - "nspanel_esphome*.yaml" | |
| - "esphome/nspanel_esphome*.yaml" | |
| - "prebuilt/nspanel_esphome*.yaml" | |
| - "prebuilt/wall_display*.yaml" | |
| - ".test/*.yaml" | |
| - "*.h" | |
| - "*.c" | |
| - "*.cpp" | |
| - "*.py" | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| # Common setup and validation | |
| setup_dependencies: | |
| name: Setup & Cache Dependencies | |
| runs-on: ubuntu-latest | |
| outputs: | |
| cache-hit-idf: ${{ steps.cache-idf.outputs.cache-hit }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@main | |
| - name: Cache ESP-IDF Dependencies | |
| id: cache-idf | |
| uses: actions/cache@main | |
| with: | |
| path: | | |
| ~/.esphome/cache | |
| ~/.platformio/packages | |
| ~/.platformio/platforms | |
| key: ${{ runner.os }}-esp-idf-${{ hashFiles('**/esphome_idf_basic.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-esp-idf- | |
| code_scan: | |
| name: Code scan (YAML) | |
| runs-on: "ubuntu-latest" | |
| needs: setup_dependencies | |
| 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 {} + | |
| # Arduino Framework Chain | |
| build_core_arduino: | |
| name: Core (Arduino) | |
| needs: build_core | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@main | |
| - name: Build Core Firmware | |
| uses: esphome/build-action@main | |
| with: | |
| yaml-file: ".test/esphome_ard_basic.yaml" | |
| # ESP-IDF Framework Chain (Production focuses on ESP-IDF only) | |
| build_core: | |
| name: Core | |
| needs: setup_dependencies | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@main | |
| - name: Build Core Firmware | |
| if: needs.setup_dependencies.outputs.cache-hit-idf != 'true' | |
| uses: esphome/build-action@main | |
| with: | |
| yaml-file: ".test/esphome_idf_basic.yaml" | |
| build_ble_tracker: | |
| name: BLE Tracker | |
| needs: build_core | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@main | |
| - name: Build BLE Tracker Firmware | |
| uses: esphome/build-action@main | |
| with: | |
| yaml-file: ".test/esphome_idf_ble_tracker.yaml" | |
| build_bluetooth_proxy: | |
| name: Bluetooth Proxy | |
| needs: build_core | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@main | |
| - name: Build Bluetooth Proxy Firmware | |
| uses: esphome/build-action@main | |
| with: | |
| yaml-file: ".test/esphome_idf_bluetooth_proxy.yaml" | |
| build_climate_cool: | |
| name: Climate Cool | |
| needs: build_core | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@main | |
| - name: Build Climate Cool Firmware | |
| uses: esphome/build-action@main | |
| with: | |
| yaml-file: ".test/esphome_idf_climate_cool.yaml" | |
| build_climate_heat: | |
| name: Climate Heat | |
| needs: build_core | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@main | |
| - name: Build Climate Heat Firmware | |
| uses: esphome/build-action@main | |
| with: | |
| yaml-file: ".test/esphome_idf_climate_heat.yaml" | |
| build_climate_dual: | |
| name: Climate Dual | |
| needs: build_core | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@main | |
| - name: Build Climate Dual Firmware | |
| uses: esphome/build-action@main | |
| with: | |
| yaml-file: ".test/esphome_idf_climate_dual.yaml" | |
| build_cover: | |
| name: Cover | |
| needs: build_core | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@main | |
| - name: Build Cover Firmware | |
| uses: esphome/build-action@main | |
| with: | |
| yaml-file: ".test/esphome_idf_cover.yaml" | |
| build_customizations: | |
| name: Customizations | |
| needs: | |
| - build_climate_heat | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@main | |
| - name: Build Customizations Firmware | |
| uses: esphome/build-action@main | |
| with: | |
| yaml-file: ".test/esphome_idf_climate_heat_customizations.yaml" | |
| build_climate_ble_proxy: | |
| name: Climate Cool + Bluetooth Proxy | |
| needs: | |
| - build_climate_cool | |
| - build_bluetooth_proxy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@main | |
| - name: Build Climate Cool + BLE Proxy Firmware | |
| uses: esphome/build-action@main | |
| with: | |
| yaml-file: ".test/esphome_idf_climate_cool_bluetooth_proxy.yaml" | |
| ... |