Skip to content

Commit b20948c

Browse files
committed
Rewire: consume valar-core + scheduling as remote packages (verify branch)
Prove-out of the shared-core rewire for Glasscalibur (not for merge yet). firmware/esphome/Glasscalibur.yml pulls valar-core + scheduling from Valar-Systems/valar-motion (pinned v0.2.0) + firmware/common/glasscalibur-product.yaml (window cover, limit switches, LIS2DH12 tamper/vibration, buzzer, trip counters, schedule_open/close contract). Shared entities renamed via !extend to preserve HA entity_ids; Button 2 hidden (internal) since this board has 2 buttons; the board's real rsense (220 mOhm) + motion + gated on_stall restored via !extend on the shared driver. Regression gate (esphome config): 0 entity regressions (all 50 preserved), OTA button URL byte-identical (Glasscalibur, self-updating from its own repo). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XpCz2RvuxV5uV8bFwCEpkL
1 parent a860b3a commit b20948c

4 files changed

Lines changed: 957 additions & 0 deletions

File tree

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Verification build for the valar-core rewire branch. Compiles the rewired
2+
# Glasscalibur config (which pulls valar-core + scheduling from valar-motion as
3+
# remote packages) on GitHub runners and uploads factory/ota bins so a board can
4+
# be flashed for testing. Not a release.
5+
name: Verify rewire build
6+
7+
on:
8+
push:
9+
branches: ['rewire/valar-core']
10+
workflow_dispatch:
11+
12+
jobs:
13+
build:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: actions/setup-python@v5
18+
with:
19+
python-version: '3.11'
20+
- name: Install ESPHome
21+
run: pip install esphome
22+
- name: Compile Glasscalibur
23+
run: esphome compile firmware/esphome/Glasscalibur.yml
24+
- name: Collect binaries + md5
25+
run: |
26+
mkdir -p dist
27+
F=$(find . -path "*/.pioenvs/*/firmware.factory.bin" | head -1)
28+
O=$(find . -path "*/.pioenvs/*/firmware.ota.bin" | head -1)
29+
cp "$F" dist/Glasscalibur.factory.bin
30+
cp "$O" dist/Glasscalibur.ota.bin
31+
md5sum dist/Glasscalibur.ota.bin | cut -d' ' -f1 > dist/Glasscalibur.ota.bin.md5
32+
- uses: actions/upload-artifact@v4
33+
with:
34+
name: Glasscalibur
35+
path: dist/*

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
secrets.yaml

0 commit comments

Comments
 (0)