mirror of
https://github.com/home-assistant/supervisor.git
synced 2026-02-14 23:19:37 +00:00
515114fa6944aa95d4d7931bfbb406e61337b47e
* Improve Supervisor startup wait logic in CI workflow The 'Wait for Supervisor to come up' step was failing intermittently when the Supervisor API wasn't immediately available. The original script relied on bash's lenient error handling in command substitution, which could fail unpredictably. Changes: - Use curl -f flag to properly handle HTTP errors - Use jq -e for robust JSON validation and exit code handling - Add explicit 5-minute timeout with elapsed time tracking - Reduce log noise by only reporting progress every 15 seconds - Add comprehensive error diagnostics on timeout: * Show last API response received * Dump last 50 lines of Supervisor logs - Show startup time on success for performance monitoring This makes the CI workflow more reliable and easier to debug when the Supervisor fails to start. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> * Use YAML anchor to deduplicate wait step in CI workflow The 'Wait for Supervisor to come up' step appears twice in the run_supervisor job - once after starting and once after restarting. Use a YAML anchor to define the step once and reference it on the second occurrence. This reduces duplication by 28 lines and makes future maintenance easier by ensuring both wait steps remain identical. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Home Assistant Supervisor
First private cloud solution for home automation
Home Assistant (former Hass.io) is a container-based system for managing your Home Assistant Core installation and related applications. The system is controlled via Home Assistant which communicates with the Supervisor. The Supervisor provides an API to manage the installation. This includes changing network settings or installing and updating software.
Installation
Installation instructions can be found at https://home-assistant.io/getting-started.
Development
For small changes and bugfixes you can just follow this, but for significant changes open a RFC first. Development instructions can be found here.
Release
Releases are done in 3 stages (channels) with this structure:
- Pull requests are merged to the
mainbranch. - A new build is pushed to the
devstage. - Releases are published.
- A new build is pushed to the
betastage. - The
stable.jsonfile is updated. - The build that was pushed to
betawill now be pushed tostable.
Description
Languages
Python
95.4%
JavaScript
4.5%
