From b2611e726e0ad1e1eaf2738691cabd21a6ae4a17 Mon Sep 17 00:00:00 2001 From: Brandon Harvey <8107750+bharvey88@users.noreply.github.com> Date: Tue, 18 Aug 2026 16:22:36 -0500 Subject: [PATCH] Default the Firmware Channel select to Stable on all builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove the beta-channel wrapper configs and build the plain variant files on the beta branch, so beta and stable images are identical and the Firmware Channel select always defaults to Stable on a fresh flash. Mirrors CAST-1 #60. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- .github/workflows/build-beta.yml | 4 ++-- Integrations/ESPHome/Core.yaml | 9 ++------- Integrations/ESPHome/beta-channel/AIR-1.yaml | 9 --------- Integrations/ESPHome/beta-channel/AIR-1_BLE.yaml | 9 --------- 4 files changed, 4 insertions(+), 27 deletions(-) delete mode 100644 Integrations/ESPHome/beta-channel/AIR-1.yaml delete mode 100644 Integrations/ESPHome/beta-channel/AIR-1_BLE.yaml diff --git a/.github/workflows/build-beta.yml b/.github/workflows/build-beta.yml index a6d11d0..bb50370 100644 --- a/.github/workflows/build-beta.yml +++ b/.github/workflows/build-beta.yml @@ -41,8 +41,8 @@ jobs: include: # Beta serves OTA updates only, so it builds the end-user image # (AIR-1.yaml), not the first-flash Factory image. - - { yaml: Integrations/ESPHome/beta-channel/AIR-1.yaml, name: firmware-standard } - - { yaml: Integrations/ESPHome/beta-channel/AIR-1_BLE.yaml, name: firmware-ble-beta } + - { yaml: Integrations/ESPHome/AIR-1.yaml, name: firmware-standard } + - { yaml: Integrations/ESPHome/AIR-1_BLE.yaml, name: firmware-ble-beta } uses: esphome/workflows/.github/workflows/build.yml@025a1e6255610c498ed590403b7e510b69e474df # 2026.4.1 with: files: ${{ matrix.yaml }} diff --git a/Integrations/ESPHome/Core.yaml b/Integrations/ESPHome/Core.yaml index c0c5247..705911a 100644 --- a/Integrations/ESPHome/Core.yaml +++ b/Integrations/ESPHome/Core.yaml @@ -1,16 +1,11 @@ substitutions: name: apollo-air-1 - version: "26.8.18.1" + version: "26.8.18.2" device_description: ${name} made by Apollo Automation - version ${version}. # Default OTA password. Override in your device YAML by re-declaring # `substitutions: { ota_password: !secret _ota_password }` so each # device on your network uses a unique secret instead of the shared default. ota_password: "apolloautomation" - # Default update channel on first boot (no stored user choice yet, i.e. a - # fresh flash). The beta-channel builds override this to "Beta" (see - # Integrations/ESPHome/beta-channel/) so firmware obtained from the beta - # channel keeps tracking it instead of offering a stable "downgrade". - firmware_channel_default: "Stable" # Manifest URL bases. Stable = GitHub Pages (main branch builds). # Beta = rolling "beta-fw" pre-release assets (beta branch builds). stable_manifest_base: "https://apolloautomation.github.io/AIR-1" @@ -650,7 +645,7 @@ select: options: - "Stable" - "Beta" - initial_option: "${firmware_channel_default}" + initial_option: "Stable" on_value: then: - script.execute: apply_ota_source diff --git a/Integrations/ESPHome/beta-channel/AIR-1.yaml b/Integrations/ESPHome/beta-channel/AIR-1.yaml deleted file mode 100644 index ddc70f9..0000000 --- a/Integrations/ESPHome/beta-channel/AIR-1.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# Beta-channel build of AIR-1.yaml: the identical image except the Firmware -# Channel select defaults to "Beta" on first boot, so firmware obtained from -# the beta channel keeps tracking it. Built by build-beta.yml only; the -# stable (GitHub Pages) builds use AIR-1.yaml directly. -substitutions: - firmware_channel_default: "Beta" - -packages: - base: !include ../AIR-1.yaml diff --git a/Integrations/ESPHome/beta-channel/AIR-1_BLE.yaml b/Integrations/ESPHome/beta-channel/AIR-1_BLE.yaml deleted file mode 100644 index 3472fdc..0000000 --- a/Integrations/ESPHome/beta-channel/AIR-1_BLE.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# Beta-channel build of AIR-1_BLE.yaml: the identical image except the Firmware -# Channel select defaults to "Beta" on first boot, so firmware obtained from -# the beta channel keeps tracking it. Built by build-beta.yml only; the -# stable (GitHub Pages) builds use AIR-1_BLE.yaml directly. -substitutions: - firmware_channel_default: "Beta" - -packages: - base: !include ../AIR-1_BLE.yaml