Skip to content

Update esphome/esphome Docker tag to v2025.7.4 #23

Update esphome/esphome Docker tag to v2025.7.4

Update esphome/esphome Docker tag to v2025.7.4 #23

Workflow file for this run

name: CI
on:
pull_request:
# push:
# branches:
# - main
# - 'releases/**'
# schedule:
# - cron: '0 0 * * *'
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: true
env:
FIRMWARE_FILES_LIST: firmware-files.txt
jobs:
check-esphome-names:
name: Check for Duplicate ESPHome Names
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install dependencies
run: pip install pyyaml
- name: Check for duplicate ESPHome names
run: python3 scripts/check-esphome-names.py ${{ env.FIRMWARE_FILES_LIST }}
read-firmware-files:
name: Read Firmware Files List
runs-on: ubuntu-latest
outputs:
files: ${{ steps.read-files.outputs.files }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Read firmware files list and remove .yaml extensions
id: read-files
run: |
FILES=$(cat ${{ env.FIRMWARE_FILES_LIST }} | grep -v '^#' | grep -v '^$' | sed 's/\.yaml$//' | jq -R -s -c 'split("\n")[:-1]')
echo "files=$FILES" | tee -a $GITHUB_OUTPUT
ci:
name: Building ${{ matrix.file }} / ${{ matrix.esphome-version }}
runs-on: ubuntu-latest
needs:
- check-esphome-names
- read-firmware-files
strategy:
fail-fast: false
max-parallel: 3
matrix:
file: ${{ fromJson(needs.read-firmware-files.outputs.files) }}
esphome-version:
- 2025.7.2
#- stable
steps:
- name: Checkout source code
uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
- name: Create temporary secrets.yaml
run: |
cat > secrets.yaml << EOF
# Temporary secrets for CI builds
wifi_ssid: "CI_TEST_NETWORK"
wifi_password: "ci_test_password_123"
wifi_pass: "ci_test_password_123"
ap_password: "ci_ap_password_123"
ota_password: "ci_ota_password_123"
api_encryption_key: "$(openssl rand -base64 32)"
EOF
echo "Created temporary secrets.yaml for CI build"
- name: ESPHome ${{ matrix.esphome-version }}
uses: esphome/build-action@v7.0.0
with:
yaml-file: ${{ matrix.file }}.yaml
version: ${{ matrix.esphome-version }}
- name: ESPHome ${{ matrix.esphome-version }} Factory
uses: esphome/build-action@v7.0.0
with:
yaml-file: ${{ matrix.file }}.factory.yaml
version: ${{ matrix.esphome-version }}