Skip to content

Commit ad0be03

Browse files
committed
Merge branch 'refs/heads/2025.03'
# Conflicts: # .github/workflows/sentry.yaml
2 parents b80403b + 2602405 commit ad0be03

File tree

751 files changed

+2494
-1911
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

751 files changed

+2494
-1911
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

+6-5
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ body:
2626
attributes:
2727
label: What type of installation are you running?
2828
description: >
29-
If you don't know, can be found in [Settings -> System -> Repairs -> System Information](https://my.home-assistant.io/redirect/system_health/).
29+
If you don't know, can be found in [Settings -> System -> Repairs -> (three dot menu) -> System Information](https://my.home-assistant.io/redirect/system_health/).
3030
It is listed as the `Installation Type` value.
3131
options:
3232
- Home Assistant OS
@@ -72,9 +72,9 @@ body:
7272
validations:
7373
required: true
7474
attributes:
75-
label: System Health information
75+
label: System information
7676
description: >
77-
System Health information can be found in the top right menu in [Settings -> System -> Repairs](https://my.home-assistant.io/redirect/repairs/).
77+
The System information can be found in [Settings -> System -> Repairs -> (three dot menu) -> System Information](https://my.home-assistant.io/redirect/system_health/).
7878
Click the copy button at the bottom of the pop-up and paste it here.
7979
8080
[![Open your Home Assistant instance and show health information about your system.](https://my.home-assistant.io/badges/system_health.svg)](https://my.home-assistant.io/redirect/system_health/)
@@ -83,8 +83,9 @@ body:
8383
label: Supervisor diagnostics
8484
placeholder: "drag-and-drop the diagnostics data file here (do not copy-and-paste the content)"
8585
description: >-
86-
Supervisor diagnostics can be found in [Settings -> Integrations](https://my.home-assistant.io/redirect/integrations/).
87-
Find the card that says `Home Assistant Supervisor`, open its menu and select 'Download diagnostics'.
86+
Supervisor diagnostics can be found in [Settings -> Devices & services](https://my.home-assistant.io/redirect/integrations/).
87+
Find the card that says `Home Assistant Supervisor`, open it, and select the three dot menu of the Supervisor integration entry
88+
and select 'Download diagnostics'.
8889
8990
**Please drag-and-drop the downloaded file into the textbox below. Do not copy and paste its contents.**
9091
- type: textarea

.github/workflows/builder.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,9 @@ jobs:
106106
107107
- name: Build wheels
108108
if: needs.init.outputs.requirements == 'true'
109-
uses: home-assistant/wheels@2024.11.0
109+
uses: home-assistant/wheels@2025.02.0
110110
with:
111-
abi: cp312
111+
abi: cp313
112112
tag: musllinux_1_2
113113
arch: ${{ matrix.arch }}
114114
wheels-key: ${{ secrets.WHEELS_KEY }}
@@ -131,7 +131,7 @@ jobs:
131131

132132
- name: Install Cosign
133133
if: needs.init.outputs.publish == 'true'
134-
uses: sigstore/[email protected].0
134+
uses: sigstore/[email protected].1
135135
with:
136136
cosign-release: "v2.4.0"
137137

@@ -160,7 +160,7 @@ jobs:
160160
run: echo "BUILD_ARGS=--test" >> $GITHUB_ENV
161161

162162
- name: Build supervisor
163-
uses: home-assistant/builder@2024.08.2
163+
uses: home-assistant/builder@2025.02.0
164164
with:
165165
args: |
166166
$BUILD_ARGS \
@@ -208,7 +208,7 @@ jobs:
208208

209209
- name: Build the Supervisor
210210
if: needs.init.outputs.publish != 'true'
211-
uses: home-assistant/builder@2024.08.2
211+
uses: home-assistant/builder@2025.02.0
212212
with:
213213
args: |
214214
--test \

.github/workflows/ci.yaml

+17-17
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
python-version: ${{ env.DEFAULT_PYTHON }}
3434
- name: Restore Python virtual environment
3535
id: cache-venv
36-
uses: actions/[email protected].0
36+
uses: actions/[email protected].2
3737
with:
3838
path: venv
3939
key: |
@@ -47,7 +47,7 @@ jobs:
4747
pip install -r requirements.txt -r requirements_tests.txt
4848
- name: Restore pre-commit environment from cache
4949
id: cache-precommit
50-
uses: actions/[email protected].0
50+
uses: actions/[email protected].2
5151
with:
5252
path: ${{ env.PRE_COMMIT_CACHE }}
5353
lookup-only: true
@@ -75,7 +75,7 @@ jobs:
7575
python-version: ${{ needs.prepare.outputs.python-version }}
7676
- name: Restore Python virtual environment
7777
id: cache-venv
78-
uses: actions/[email protected].0
78+
uses: actions/[email protected].2
7979
with:
8080
path: venv
8181
key: |
@@ -87,7 +87,7 @@ jobs:
8787
exit 1
8888
- name: Restore pre-commit environment from cache
8989
id: cache-precommit
90-
uses: actions/[email protected].0
90+
uses: actions/[email protected].2
9191
with:
9292
path: ${{ env.PRE_COMMIT_CACHE }}
9393
key: |
@@ -118,7 +118,7 @@ jobs:
118118
python-version: ${{ needs.prepare.outputs.python-version }}
119119
- name: Restore Python virtual environment
120120
id: cache-venv
121-
uses: actions/[email protected].0
121+
uses: actions/[email protected].2
122122
with:
123123
path: venv
124124
key: |
@@ -130,7 +130,7 @@ jobs:
130130
exit 1
131131
- name: Restore pre-commit environment from cache
132132
id: cache-precommit
133-
uses: actions/[email protected].0
133+
uses: actions/[email protected].2
134134
with:
135135
path: ${{ env.PRE_COMMIT_CACHE }}
136136
key: |
@@ -176,7 +176,7 @@ jobs:
176176
python-version: ${{ needs.prepare.outputs.python-version }}
177177
- name: Restore Python virtual environment
178178
id: cache-venv
179-
uses: actions/[email protected].0
179+
uses: actions/[email protected].2
180180
with:
181181
path: venv
182182
key: |
@@ -188,7 +188,7 @@ jobs:
188188
exit 1
189189
- name: Restore pre-commit environment from cache
190190
id: cache-precommit
191-
uses: actions/[email protected].0
191+
uses: actions/[email protected].2
192192
with:
193193
path: ${{ env.PRE_COMMIT_CACHE }}
194194
key: |
@@ -220,7 +220,7 @@ jobs:
220220
python-version: ${{ needs.prepare.outputs.python-version }}
221221
- name: Restore Python virtual environment
222222
id: cache-venv
223-
uses: actions/[email protected].0
223+
uses: actions/[email protected].2
224224
with:
225225
path: venv
226226
key: |
@@ -232,7 +232,7 @@ jobs:
232232
exit 1
233233
- name: Restore pre-commit environment from cache
234234
id: cache-precommit
235-
uses: actions/[email protected].0
235+
uses: actions/[email protected].2
236236
with:
237237
path: ${{ env.PRE_COMMIT_CACHE }}
238238
key: |
@@ -264,7 +264,7 @@ jobs:
264264
python-version: ${{ needs.prepare.outputs.python-version }}
265265
- name: Restore Python virtual environment
266266
id: cache-venv
267-
uses: actions/[email protected].0
267+
uses: actions/[email protected].2
268268
with:
269269
path: venv
270270
key: |
@@ -299,12 +299,12 @@ jobs:
299299
with:
300300
python-version: ${{ needs.prepare.outputs.python-version }}
301301
- name: Install Cosign
302-
uses: sigstore/[email protected].0
302+
uses: sigstore/[email protected].1
303303
with:
304304
cosign-release: "v2.4.0"
305305
- name: Restore Python virtual environment
306306
id: cache-venv
307-
uses: actions/[email protected].0
307+
uses: actions/[email protected].2
308308
with:
309309
path: venv
310310
key: |
@@ -339,7 +339,7 @@ jobs:
339339
-o console_output_style=count \
340340
tests
341341
- name: Upload coverage artifact
342-
uses: actions/[email protected].0
342+
uses: actions/[email protected].1
343343
with:
344344
name: coverage-${{ matrix.python-version }}
345345
path: .coverage
@@ -359,7 +359,7 @@ jobs:
359359
python-version: ${{ needs.prepare.outputs.python-version }}
360360
- name: Restore Python virtual environment
361361
id: cache-venv
362-
uses: actions/[email protected].0
362+
uses: actions/[email protected].2
363363
with:
364364
path: venv
365365
key: |
@@ -370,12 +370,12 @@ jobs:
370370
echo "Failed to restore Python virtual environment from cache"
371371
exit 1
372372
- name: Download all coverage artifacts
373-
uses: actions/[email protected].8
373+
uses: actions/[email protected].9
374374
- name: Combine coverage results
375375
run: |
376376
. venv/bin/activate
377377
coverage combine coverage*/.coverage*
378378
coverage report
379379
coverage xml
380380
- name: Upload coverage to Codecov
381-
uses: codecov/codecov-action@v5.3.1
381+
uses: codecov/codecov-action@v5.4.0

.github/workflows/sentry.yaml

+2-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Sentry Release
33
# yamllint disable-line rule:truthy
44
on:
55
release:
6-
types: [published, prereleased]
6+
types: [prereleased]
77

88
jobs:
99
createSentryRelease:
@@ -12,8 +12,7 @@ jobs:
1212
- name: Check out code from GitHub
1313
uses: actions/[email protected]
1414
- name: Sentry Release
15-
uses: getsentry/[email protected]
16-
if: ${{ secrets.SENTRY_ORG != '' }}
15+
uses: getsentry/[email protected]
1716
env:
1817
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
1918
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}

.github/workflows/update_frontend.yml

+17-12
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ jobs:
1010
runs-on: ubuntu-latest
1111
outputs:
1212
skip: ${{ steps.check_version.outputs.skip || steps.check_existing_pr.outputs.skip }}
13-
latest_tag: ${{ steps.latest_frontend_version.outputs.latest_tag }}
13+
current_version: ${{ steps.check_version.outputs.current_version }}
14+
latest_version: ${{ steps.latest_frontend_version.outputs.latest_tag }}
1415
steps:
1516
- name: Checkout code
1617
uses: actions/checkout@v4
@@ -23,11 +24,11 @@ jobs:
2324
- name: Check if version is up to date
2425
id: check_version
2526
run: |
26-
SUPERVISOR_VERSION=$(cat .ha-frontend-version)
27-
LATEST_VERSION=${{ steps.latest_frontend_version.outputs.latest_tag }}
28-
echo "SUPERVISOR_VERSION=$SUPERVISOR_VERSION" >> $GITHUB_ENV
29-
echo "LATEST_VERSION=$LATEST_VERSION" >> $GITHUB_ENV
30-
if [[ ! "$SUPERVISOR_VERSION" < "$LATEST_VERSION" ]]; then
27+
current_version="$(cat .ha-frontend-version)"
28+
latest_version="${{ steps.latest_frontend_version.outputs.latest_tag }}"
29+
echo "current_version=${current_version}" >> $GITHUB_OUTPUT
30+
echo "LATEST_VERSION=${latest_version}" >> $GITHUB_ENV
31+
if [[ ! "$current_version" < "$latest_version" ]]; then
3132
echo "Frontend version is up to date"
3233
echo "skip=true" >> $GITHUB_OUTPUT
3334
fi
@@ -37,7 +38,7 @@ jobs:
3738
env:
3839
GH_TOKEN: ${{ github.token }}
3940
run: |
40-
PR=$(gh pr list --state open --base main --json title --search "Autoupdate frontend to version $LATEST_VERSION")
41+
PR=$(gh pr list --state open --base main --json title --search "Update frontend to version $LATEST_VERSION")
4142
if [[ "$PR" != "[]" ]]; then
4243
echo "Skipping - There is already a PR open for version $LATEST_VERSION"
4344
echo "skip=true" >> $GITHUB_OUTPUT
@@ -54,21 +55,25 @@ jobs:
5455
rm -rf supervisor/api/panel/*
5556
- name: Update version file
5657
run: |
57-
echo "${{ needs.check-version.outputs.latest_tag }}" > .ha-frontend-version
58+
echo "${{ needs.check-version.outputs.latest_version }}" > .ha-frontend-version
5859
- name: Download release assets
5960
uses: robinraju/release-downloader@v1
6061
with:
6162
repository: 'home-assistant/frontend'
62-
tag: ${{ needs.check-version.outputs.latest_tag }}
63-
fileName: home_assistant_frontend_supervisor-${{ needs.check-version.outputs.latest_tag }}.tar.gz
63+
tag: ${{ needs.check-version.outputs.latest_version }}
64+
fileName: home_assistant_frontend_supervisor-${{ needs.check-version.outputs.latest_version }}.tar.gz
6465
extract: true
6566
out-file-path: supervisor/api/panel/
6667
- name: Create PR
6768
uses: peter-evans/create-pull-request@v7
6869
with:
69-
commit-message: "Autoupdate frontend to version ${{ needs.check-version.outputs.latest_tag }}"
70+
commit-message: "Update frontend to version ${{ needs.check-version.outputs.latest_version }}"
7071
branch: autoupdate-frontend
7172
base: main
7273
draft: true
7374
sign-commits: true
74-
title: "Autoupdate frontend to version ${{ needs.check-version.outputs.latest_tag }}"
75+
title: "Update frontend to version ${{ needs.check-version.outputs.latest_version }}"
76+
body: >
77+
Update frontend from ${{ needs.check-version.outputs.current_version }} to
78+
[${{ needs.check-version.outputs.latest_version }}](https://github.com/home-assistant/frontend/releases/tag/${{ needs.check-version.outputs.latest_version }})
79+

.ha-frontend-version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20250205.0
1+
20250221.0

Dockerfile

+7-5
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ ENV \
99

1010
ARG \
1111
COSIGN_VERSION \
12-
BUILD_ARCH
12+
BUILD_ARCH \
13+
QEMU_CPU
1314

1415
# Install base
1516
WORKDIR /usr/src
@@ -28,22 +29,23 @@ RUN \
2829
\
2930
&& curl -Lso /usr/bin/cosign "https://github.com/home-assistant/cosign/releases/download/${COSIGN_VERSION}/cosign_${BUILD_ARCH}" \
3031
&& chmod a+x /usr/bin/cosign \
31-
&& pip3 install uv==0.2.21
32+
&& pip3 install uv==0.6.1
3233

3334
# Install requirements
3435
COPY requirements.txt .
3536
RUN \
3637
if [ "${BUILD_ARCH}" = "i386" ]; then \
37-
linux32 uv pip install --no-build -r requirements.txt; \
38+
setarch="linux32"; \
3839
else \
39-
uv pip install --no-build -r requirements.txt; \
40+
setarch=""; \
4041
fi \
42+
&& ${setarch} uv pip install --compile-bytecode --no-cache --no-build -r requirements.txt \
4143
&& rm -f requirements.txt
4244

4345
# Install Home Assistant Supervisor
4446
COPY . supervisor
4547
RUN \
46-
pip3 install -e ./supervisor \
48+
uv pip install --no-cache -e ./supervisor \
4749
&& python3 -m compileall ./supervisor/supervisor
4850

4951

requirements.txt

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
aiodns==3.2.0
2-
aiohttp==3.11.12
2+
aiohttp==3.11.13
33
atomicwrites-homeassistant==1.4.1
44
attrs==25.1.0
55
awesomeversion==24.6.0
66
brotli==1.1.0
77
ciso8601==2.3.2
88
colorlog==6.9.0
99
cpe==1.3.1
10-
cryptography==44.0.0
10+
cryptography==44.0.2
1111
debugpy==1.8.12
1212
deepmerge==2.0
1313
dirhash==0.5.0
@@ -20,10 +20,10 @@ pulsectl==24.12.0
2020
pyudev==0.24.3
2121
PyYAML==6.0.2
2222
requests==2.32.3
23-
securetar==2025.1.4
24-
sentry-sdk==2.20.0
25-
setuptools==75.8.0
23+
securetar==2025.2.1
24+
sentry-sdk==2.22.0
25+
setuptools==75.8.2
2626
voluptuous==0.15.2
27-
dbus-fast==2.33.0
27+
dbus-fast==2.34.0
2828
typing_extensions==4.12.2
29-
zlib-fast==0.2.0
29+
zlib-fast==0.2.1

requirements_tests.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ pytest-aiohttp==1.1.0
66
pytest-asyncio==0.25.2
77
pytest-cov==6.0.0
88
pytest-timeout==2.3.1
9-
pytest==8.3.4
10-
ruff==0.9.6
9+
pytest==8.3.5
10+
ruff==0.9.9
1111
time-machine==2.16.0
1212
typing_extensions==4.12.2
1313
urllib3==2.3.0

supervisor/__main__.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ def run_os_startup_check_cleanup() -> None:
5454
loop.set_debug(coresys.config.debug)
5555
loop.run_until_complete(coresys.core.connect())
5656

57-
bootstrap.supervisor_debugger(coresys)
58-
bootstrap.migrate_system_env(coresys)
57+
loop.run_until_complete(bootstrap.supervisor_debugger(coresys))
5958

6059
# Signal health startup for container
6160
run_os_startup_check_cleanup()

0 commit comments

Comments
 (0)