Skip to content

Nightly Firmware Build Check #711

Nightly Firmware Build Check

Nightly Firmware Build Check #711

name: Nightly Firmware Build Check
on:
schedule:
- cron: "0 0 * * *"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
# Firmware-Builds
build-firmware:
name: Build ${{ matrix.chip }} ${{ matrix.variant }} (${{ matrix.integration }})
runs-on: ubuntu-latest
continue-on-error: true
strategy:
fail-fast: false
matrix:
chip: [esp32, esp32-s3, esp32-s3-quad]
variant: [standard, nuki-bridge]
integration: [ha, mqtt, homekit, custom]
exclude:
- variant: nuki-bridge
integration: mqtt
- variant: nuki-bridge
integration: homekit
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Build ESPHome firmware
uses: esphome/build-action@v7.1.0
with:
yaml-file: firmware/configurations/${{ matrix.chip }}.${{ matrix.integration }}.${{ matrix.variant }}.master.yaml
version: latest
complete-manifest: true
# Component Test Build
build-component-test:
name: Build Component Test
runs-on: ubuntu-latest
continue-on-error: true
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Build Component Test Firmware
uses: esphome/build-action@v7.1.0
with:
yaml-file: firmware/tc-bus-component.yaml
version: latest
# Notification job
notify-failure:
name: Send failure notification
needs: [build-firmware, build-component-test]
if: failure() || contains(needs.*.result, 'failure')
runs-on: ubuntu-latest
steps:
- name: Send Discord failure notification
uses: appleboy/discord-action@master
with:
webhook_id: ${{ secrets.DISCORD_WEBHOOK_ID }}
webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }}
color: "#FF6961"
message: "Doorman Firmware: Nightly build failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"