mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-04-19 10:47:15 +00:00

With PR #5634 (which had the goal to remove I/O in event loop for backup operations) the semantics of `remove_folder` changed slightly: Non-zero exits of subprocesses were no longer handled, but lead to a CalledProcessError. Now to restore the semantics of `remove_folder` we should simply log an error. However, this semantic change actually uncovered a potential problem in deployed systems: There are 34 users on beta channel which regularly seem to run `FixupStoreExecuteReset`, and with the semantic change we see those errors in Sentry. An obvious problem could be no storage. But in a quick test that would not execute the repair in first place since the fixup has the job condition `FREE_SPACE` set. So the problem is likely elsewhere. With this change, we log the stderr of find, while still raising the exception. With that we should get more context in Sentry to see what could be the underlying error.
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
main
branch. - A new build is pushed to the
dev
stage. - Releases are published.
- A new build is pushed to the
beta
stage. - The
stable.json
file is updated. - The build that was pushed to
beta
will now be pushed tostable
.
Description
Languages
Python
94.6%
JavaScript
5.3%