Skip to content

Commit

Permalink
Test compiling for multiple platforms
Browse files Browse the repository at this point in the history
  • Loading branch information
AzonInc committed Feb 10, 2025
1 parent 1b3f623 commit cce19ec
Show file tree
Hide file tree
Showing 84 changed files with 1,087 additions and 334 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build-esphome.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,5 +85,5 @@ jobs:
- uses: actions/upload-artifact@v4
with:
name: firmware-${{ inputs.directory_name }}
name: firmware.${{ inputs.directory_name }}
path: output
34 changes: 32 additions & 2 deletions .github/workflows/bundle-assets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,48 @@ jobs:
- name: Copy interactive BOM
run: cp pcb/bom/ibom.html output/



- name: Download Doorman Stock for Home Assistant (ESP32) artifact
uses: actions/download-artifact@v4
with:
name: firmware.esp32.ha.stock
path: output/firmware/release

- name: Download Doorman Stock for Home Assistant (ESP32-S3) artifact
uses: actions/download-artifact@v4
with:
name: firmware-doorman-stock
name: firmware.esp32-s3.ha.stock
path: output/firmware/release

- name: Download Doorman Stock for Home Assistant (ESP32-S3-Oct) artifact
uses: actions/download-artifact@v4
with:
name: firmware.esp32-s3-oct.ha.stock
path: output/firmware/release



- name: Download Doorman Nuki Bridge for Home Assistant (ESP32) artifact
uses: actions/download-artifact@v4
with:
name: firmware.esp32.ha.nuki-bridge
path: output/firmware/release

- name: Download Doorman Nuki Bridge for Home Assistant (ESP32-S3) artifact
uses: actions/download-artifact@v4
with:
name: firmware-doorman-nuki-bridge
name: firmware.esp32-s3.ha.nuki-bridge
path: output/firmware/release

- name: Download Doorman Nuki Bridge for Home Assistant (ESP32-S3-Oct) artifact
uses: actions/download-artifact@v4
with:
name: firmware.esp32-s3-oct.ha.nuki-bridge
path: output/firmware/release



- name: Upload Pages artifact
if: github.ref_name == 'master'
uses: actions/upload-pages-artifact@v3
Expand Down
136 changes: 120 additions & 16 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,57 +65,161 @@ jobs:
echo "summary=$SUMMARY" >> $GITHUB_OUTPUT

# Build stable firmware
build-doorman-stock-stable-firmware:
build-esp32-stock-stable-firmware:
if: github.ref_name == 'master'
name: Build Stock Firmware (Home Assistant, stable)
name: Build ESP32 Stock Firmware (Home Assistant, stable)
uses: ./.github/workflows/build-esphome.yml
needs: prepare-release
with:
files: firmware/ha-doorman-stock.yaml
files: firmware/configurations/esp32.ha.stock.yaml
name: AzonInc.Doorman
esphome_version: latest
directory_name: doorman-stock
directory_name: esp32.ha.stock
summary: ${{ needs.prepare-release.outputs.release_summary }}
url: ${{ needs.prepare-release.outputs.release_url }}

build-doorman-nuki-bridge-stable-firmware:
build-esp32-s3-stock-stable-firmware:
if: github.ref_name == 'master'
name: Build Nuki Bridge Firmware (Home Assistant, stable)
name: Build ESP32-S3 Stock Firmware (Home Assistant, stable)
uses: ./.github/workflows/build-esphome.yml
needs: prepare-release
with:
files: firmware/ha-doorman-nuki-bridge.yaml
files: firmware/configurations/esp32-s3.ha.stock.yaml
name: AzonInc.Doorman
esphome_version: latest
directory_name: esp32-s3.ha.stock
summary: ${{ needs.prepare-release.outputs.release_summary }}
url: ${{ needs.prepare-release.outputs.release_url }}

build-esp32-s3-oct-stock-stable-firmware:
if: github.ref_name == 'master'
name: Build ESP32-S3-OCT Stock Firmware (Home Assistant, stable)
uses: ./.github/workflows/build-esphome.yml
needs: prepare-release
with:
files: firmware/configurations/esp32-s3-oct.ha.stock.yaml
name: AzonInc.Doorman
esphome_version: latest
directory_name: esp32-s3-oct.ha.stock
summary: ${{ needs.prepare-release.outputs.release_summary }}
url: ${{ needs.prepare-release.outputs.release_url }}

build-esp32-nuki-bridge-stable-firmware:
if: github.ref_name == 'master'
name: Build ESP32 Nuki Bridge Firmware (Home Assistant, stable)
uses: ./.github/workflows/build-esphome.yml
needs: prepare-release
with:
files: firmware/configurations/esp32.ha.nuki-bridge.yaml
name: AzonInc.Doorman-Nuki-Bridge
esphome_version: latest
directory_name: esp32.ha.nuki-bridge
summary: ${{ needs.prepare-release.outputs.release_summary }}
url: ${{ needs.prepare-release.outputs.release_url }}

build-esp32-s3-nuki-bridge-stable-firmware:
if: github.ref_name == 'master'
name: Build ESP32-S3 Nuki Bridge Firmware (Home Assistant, stable)
uses: ./.github/workflows/build-esphome.yml
needs: prepare-release
with:
files: firmware/configurations/esp32-s3.ha.nuki-bridge.yaml
name: AzonInc.Doorman-Nuki-Bridge
esphome_version: latest
directory_name: esp32-s3.ha.nuki-bridge
summary: ${{ needs.prepare-release.outputs.release_summary }}
url: ${{ needs.prepare-release.outputs.release_url }}

build-esp32-s3-oct-nuki-bridge-stable-firmware:
if: github.ref_name == 'master'
name: Build ESP32-S3-OCT Nuki Bridge Firmware (Home Assistant, stable)
uses: ./.github/workflows/build-esphome.yml
needs: prepare-release
with:
files: firmware/configurations/esp32-s3-oct.ha.nuki-bridge.yaml
name: AzonInc.Doorman-Nuki-Bridge
esphome_version: latest
directory_name: doorman-nuki-bridge
directory_name: esp32-s3-oct.ha.nuki-bridge
summary: ${{ needs.prepare-release.outputs.release_summary }}
url: ${{ needs.prepare-release.outputs.release_url }}


# Build dev firmware
build-doorman-stock-dev-firmware:
build-esp32-stock-dev-firmware:
if: startsWith(github.ref_name, 'dev')
name: Build Stock Firmware (Home Assistant, dev)
name: Build ESP32 Stock Firmware (Home Assistant, dev)
uses: ./.github/workflows/build-esphome.yml
needs: prepare-release
with:
files: firmware/ha-doorman-stock.dev.yaml
files: firmware/configurations/esp32.ha.stock.dev.yaml
name: AzonInc.Doorman
esphome_version: dev
directory_name: doorman-stock
directory_name: esp32.ha.stock
summary: ${{ needs.prepare-release.outputs.release_summary }}
url: ${{ needs.prepare-release.outputs.release_url }}

build-esp32-s3-stock-dev-firmware:
if: startsWith(github.ref_name, 'dev')
name: Build ESP32-S3 Stock Firmware (Home Assistant, dev)
uses: ./.github/workflows/build-esphome.yml
needs: prepare-release
with:
files: firmware/configurations/esp32-s3.ha.stock.dev.yaml
name: AzonInc.Doorman
esphome_version: dev
directory_name: esp32-s3.ha.stock
summary: ${{ needs.prepare-release.outputs.release_summary }}
url: ${{ needs.prepare-release.outputs.release_url }}

build-esp32-s3-oct-stock-dev-firmware:
if: startsWith(github.ref_name, 'dev')
name: Build ESP32-S3-OCT Stock Firmware (Home Assistant, dev)
uses: ./.github/workflows/build-esphome.yml
needs: prepare-release
with:
files: firmware/configurations/esp32-s3-oct.ha.stock.dev.yaml
name: AzonInc.Doorman
esphome_version: dev
directory_name: esp32-s3-oct.ha.stock
summary: ${{ needs.prepare-release.outputs.release_summary }}
url: ${{ needs.prepare-release.outputs.release_url }}

build-esp32-nuki-bridge-dev-firmware:
if: startsWith(github.ref_name, 'dev')
name: Build ESP32 Nuki Bridge Firmware (Home Assistant, dev)
uses: ./.github/workflows/build-esphome.yml
needs: prepare-release
with:
files: firmware/configurations/esp32.ha.nuki-bridge.dev.yaml
name: AzonInc.Doorman-Nuki-Bridge
esphome_version: dev
directory_name: esp32.ha.nuki-bridge
summary: ${{ needs.prepare-release.outputs.release_summary }}
url: ${{ needs.prepare-release.outputs.release_url }}

build-esp32-s3-nuki-bridge-dev-firmware:
if: startsWith(github.ref_name, 'dev')
name: Build ESP32-S3 Nuki Bridge Firmware (Home Assistant, dev)
uses: ./.github/workflows/build-esphome.yml
needs: prepare-release
with:
files: firmware/configurations/esp32-s3.ha.nuki-bridge.dev.yaml
name: AzonInc.Doorman-Nuki-Bridge
esphome_version: dev
directory_name: esp32-s3.ha.nuki-bridge
summary: ${{ needs.prepare-release.outputs.release_summary }}
url: ${{ needs.prepare-release.outputs.release_url }}

build-doorman-nuki-bridge-dev-firmware:
build-esp32-s3-oct-nuki-bridge-dev-firmware:
if: startsWith(github.ref_name, 'dev')
name: Build Nuki Bridge Firmware (Home Assistant, dev)
name: Build ESP32-S3-OCT Nuki Bridge Firmware (Home Assistant, dev)
uses: ./.github/workflows/build-esphome.yml
needs: prepare-release
with:
files: firmware/ha-doorman-nuki-bridge.dev.yaml
files: firmware/configurations/esp32-s3-oct.ha.nuki-bridge.dev.yaml
name: AzonInc.Doorman-Nuki-Bridge
esphome_version: dev
directory_name: doorman-nuki-bridge
directory_name: esp32-s3-oct.ha.nuki-bridge
summary: ${{ needs.prepare-release.outputs.release_summary }}
url: ${{ needs.prepare-release.outputs.release_url }}

Expand Down
32 changes: 16 additions & 16 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,53 +2,53 @@
repos:
- repo: local
hooks:
- id: ha-doorman-stock.yaml
- id: esp32-s3.ha.stock.yaml
name: Validate Config - Stock (ha, master)
entry: esphome config firmware/ha-doorman-stock.yaml
entry: esphome config firmware/configurations/esp32-s3.ha.stock.yaml
language: system
pass_filenames: false
files: ^firmware/
- id: ha-doorman-stock.dev.yaml
- id: esp32-s3.ha.stock.dev.yaml
name: Validate Config - Stock (ha, dev)
entry: esphome config firmware/ha-doorman-stock.dev.yaml
entry: esphome config firmware/configurations/esp32-s3.ha.stock.dev.yaml
language: system
pass_filenames: false
files: ^firmware/
- id: mqtt-doorman-stock.yaml
- id: esp32-s3.mqtt.stock.yaml
name: Validate Config - Stock (mqtt, master)
entry: esphome config firmware/mqtt-doorman-stock.yaml
entry: esphome config firmware/configurations/esp32-s3.mqtt.stock.yaml
language: system
pass_filenames: false
files: ^firmware/
- id: mqtt-doorman-stock.dev.yaml
- id: esp32-s3.mqtt.stock.dev.yaml
name: Validate Config - Stock (mqtt, dev)
entry: esphome config firmware/mqtt-doorman-stock.dev.yaml
entry: esphome config firmware/configurations/esp32-s3.mqtt.stock.dev.yaml
language: system
pass_filenames: false
files: ^firmware/


- id: ha-doorman-nuki-bridge.yaml
- id: esp32-s3.ha.nuki-bridge.yaml
name: Validate Config - Nuki Bridge (ha, master)
entry: esphome config firmware/ha-doorman-nuki-bridge.yaml
entry: esphome config firmware/configurations/esp32-s3.ha.nuki-bridge.yaml
language: system
pass_filenames: false
files: ^firmware/
- id: ha-doorman-nuki-bridge.dev.yaml
- id: esp32-s3.ha.nuki-bridge.dev.yaml
name: Validate Config - Nuki Bridge (ha, dev)
entry: esphome config firmware/ha-doorman-nuki-bridge.dev.yaml
entry: esphome config firmware/configurations/esp32-s3.ha.nuki-bridge.dev.yaml
language: system
pass_filenames: false
files: ^firmware/
- id: mqtt-doorman-nuki-bridge.yaml
- id: esp32-s3.mqtt.nuki-bridge.yaml
name: Validate Config - Nuki Bridge (mqtt, master)
entry: esphome config firmware/mqtt-doorman-nuki-bridge.yaml
entry: esphome config firmware/configurations/esp32-s3.mqtt.nuki-bridge.yaml
language: system
pass_filenames: false
files: ^firmware/
- id: mqtt-doorman-nuki-bridge.dev.yaml
- id: esp32-s3.mqtt.nuki-bridge.dev.yaml
name: Validate Config - Nuki Bridge (mqtt, dev)
entry: esphome config firmware/mqtt-doorman-nuki-bridge.dev.yaml
entry: esphome config firmware/configurations/esp32-s3.mqtt.nuki-bridge.dev.yaml
language: system
pass_filenames: false
files: ^firmware/
Loading

0 comments on commit cce19ec

Please sign in to comment.