Skip to content

Commit 7aa6c8b

Browse files
authored
2 parents 3e6473d + 54d8d71 commit 7aa6c8b

File tree

3,064 files changed

+123075
-30557
lines changed

Some content is hidden

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

3,064 files changed

+123075
-30557
lines changed

.github/workflows/builder.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ jobs:
509509
password: ${{ secrets.GITHUB_TOKEN }}
510510

511511
- name: Build Docker image
512-
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0
512+
uses: docker/build-push-action@1dc73863535b631f98b2378be8619f83b136f4a0 # v6.17.0
513513
with:
514514
context: . # So action will not pull the repository again
515515
file: ./script/hassfest/docker/Dockerfile
@@ -522,7 +522,7 @@ jobs:
522522
- name: Push Docker image
523523
if: needs.init.outputs.channel != 'dev' && needs.init.outputs.publish == 'true'
524524
id: push
525-
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0
525+
uses: docker/build-push-action@1dc73863535b631f98b2378be8619f83b136f4a0 # v6.17.0
526526
with:
527527
context: . # So action will not pull the repository again
528528
file: ./script/hassfest/docker/Dockerfile

.github/workflows/ci.yaml

Lines changed: 66 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ on:
3737
type: boolean
3838

3939
env:
40-
CACHE_VERSION: 12
40+
CACHE_VERSION: 2
4141
UV_CACHE_VERSION: 1
42-
MYPY_CACHE_VERSION: 9
43-
HA_SHORT_VERSION: "2025.5"
42+
MYPY_CACHE_VERSION: 1
43+
HA_SHORT_VERSION: "2025.6"
4444
DEFAULT_PYTHON: "3.13"
4545
ALL_PYTHON_VERSIONS: "['3.13']"
4646
# 10.3 is the oldest supported version
@@ -259,7 +259,7 @@ jobs:
259259
with:
260260
path: venv
261261
key: >-
262-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
262+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-venv-${{
263263
needs.info.outputs.pre-commit_cache_key }}
264264
- name: Create Python virtual environment
265265
if: steps.cache-venv.outputs.cache-hit != 'true'
@@ -276,7 +276,7 @@ jobs:
276276
path: ${{ env.PRE_COMMIT_CACHE }}
277277
lookup-only: true
278278
key: >-
279-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
279+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
280280
needs.info.outputs.pre-commit_cache_key }}
281281
- name: Install pre-commit dependencies
282282
if: steps.cache-precommit.outputs.cache-hit != 'true'
@@ -306,7 +306,7 @@ jobs:
306306
path: venv
307307
fail-on-cache-miss: true
308308
key: >-
309-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
309+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-venv-${{
310310
needs.info.outputs.pre-commit_cache_key }}
311311
- name: Restore pre-commit environment from cache
312312
id: cache-precommit
@@ -315,7 +315,7 @@ jobs:
315315
path: ${{ env.PRE_COMMIT_CACHE }}
316316
fail-on-cache-miss: true
317317
key: >-
318-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
318+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
319319
needs.info.outputs.pre-commit_cache_key }}
320320
- name: Run ruff-format
321321
run: |
@@ -346,7 +346,7 @@ jobs:
346346
path: venv
347347
fail-on-cache-miss: true
348348
key: >-
349-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
349+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-venv-${{
350350
needs.info.outputs.pre-commit_cache_key }}
351351
- name: Restore pre-commit environment from cache
352352
id: cache-precommit
@@ -355,7 +355,7 @@ jobs:
355355
path: ${{ env.PRE_COMMIT_CACHE }}
356356
fail-on-cache-miss: true
357357
key: >-
358-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
358+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
359359
needs.info.outputs.pre-commit_cache_key }}
360360
- name: Run ruff
361361
run: |
@@ -386,7 +386,7 @@ jobs:
386386
path: venv
387387
fail-on-cache-miss: true
388388
key: >-
389-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
389+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-venv-${{
390390
needs.info.outputs.pre-commit_cache_key }}
391391
- name: Restore pre-commit environment from cache
392392
id: cache-precommit
@@ -395,7 +395,7 @@ jobs:
395395
path: ${{ env.PRE_COMMIT_CACHE }}
396396
fail-on-cache-miss: true
397397
key: >-
398-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
398+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
399399
needs.info.outputs.pre-commit_cache_key }}
400400
401401
- name: Register yamllint problem matcher
@@ -501,18 +501,18 @@ jobs:
501501
with:
502502
path: venv
503503
key: >-
504-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
504+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
505505
needs.info.outputs.python_cache_key }}
506506
- name: Restore uv wheel cache
507507
if: steps.cache-venv.outputs.cache-hit != 'true'
508508
uses: actions/[email protected]
509509
with:
510510
path: ${{ env.UV_CACHE_DIR }}
511511
key: >-
512-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
512+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
513513
steps.generate-uv-key.outputs.key }}
514514
restore-keys: |
515-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-uv-${{
515+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-uv-${{
516516
env.UV_CACHE_VERSION }}-${{ steps.generate-uv-key.outputs.version }}-${{
517517
env.HA_SHORT_VERSION }}-
518518
- name: Install additional OS dependencies
@@ -598,7 +598,7 @@ jobs:
598598
path: venv
599599
fail-on-cache-miss: true
600600
key: >-
601-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
601+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
602602
needs.info.outputs.python_cache_key }}
603603
- name: Run hassfest
604604
run: |
@@ -631,7 +631,7 @@ jobs:
631631
path: venv
632632
fail-on-cache-miss: true
633633
key: >-
634-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
634+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
635635
needs.info.outputs.python_cache_key }}
636636
- name: Run gen_requirements_all.py
637637
run: |
@@ -653,7 +653,7 @@ jobs:
653653
- name: Check out code from GitHub
654654
uses: actions/[email protected]
655655
- name: Dependency review
656-
uses: actions/dependency-review-action@v4.6.0
656+
uses: actions/dependency-review-action@v4.7.1
657657
with:
658658
license-check: false # We use our own license audit checks
659659

@@ -688,7 +688,7 @@ jobs:
688688
path: venv
689689
fail-on-cache-miss: true
690690
key: >-
691-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
691+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
692692
needs.info.outputs.python_cache_key }}
693693
- name: Extract license data
694694
run: |
@@ -731,7 +731,7 @@ jobs:
731731
path: venv
732732
fail-on-cache-miss: true
733733
key: >-
734-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
734+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
735735
needs.info.outputs.python_cache_key }}
736736
- name: Register pylint problem matcher
737737
run: |
@@ -778,7 +778,7 @@ jobs:
778778
path: venv
779779
fail-on-cache-miss: true
780780
key: >-
781-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
781+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
782782
needs.info.outputs.python_cache_key }}
783783
- name: Register pylint problem matcher
784784
run: |
@@ -830,17 +830,17 @@ jobs:
830830
path: venv
831831
fail-on-cache-miss: true
832832
key: >-
833-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
833+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
834834
needs.info.outputs.python_cache_key }}
835835
- name: Restore mypy cache
836836
uses: actions/[email protected]
837837
with:
838838
path: .mypy_cache
839839
key: >-
840-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
840+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
841841
steps.generate-mypy-key.outputs.key }}
842842
restore-keys: |
843-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-mypy-${{
843+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-mypy-${{
844844
env.MYPY_CACHE_VERSION }}-${{ steps.generate-mypy-key.outputs.version }}-${{
845845
env.HA_SHORT_VERSION }}-
846846
- name: Register mypy problem matcher
@@ -900,7 +900,7 @@ jobs:
900900
path: venv
901901
fail-on-cache-miss: true
902902
key: >-
903-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
903+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
904904
needs.info.outputs.python_cache_key }}
905905
- name: Run split_tests.py
906906
run: |
@@ -944,7 +944,8 @@ jobs:
944944
bluez \
945945
ffmpeg \
946946
libturbojpeg \
947-
libgammu-dev
947+
libgammu-dev \
948+
libxml2-utils
948949
- name: Check out code from GitHub
949950
uses: actions/[email protected]
950951
- name: Set up Python ${{ matrix.python-version }}
@@ -959,7 +960,8 @@ jobs:
959960
with:
960961
path: venv
961962
fail-on-cache-miss: true
962-
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
963+
key: >-
964+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
963965
needs.info.outputs.python_cache_key }}
964966
- name: Register Python problem matcher
965967
run: |
@@ -1019,6 +1021,12 @@ jobs:
10191021
name: coverage-${{ matrix.python-version }}-${{ matrix.group }}
10201022
path: coverage.xml
10211023
overwrite: true
1024+
- name: Beautify test results
1025+
# For easier identification of parsing errors
1026+
if: needs.info.outputs.skip_coverage != 'true'
1027+
run: |
1028+
xmllint --format "junit.xml" > "junit.xml-tmp"
1029+
mv "junit.xml-tmp" "junit.xml"
10221030
- name: Upload test results artifact
10231031
if: needs.info.outputs.skip_coverage != 'true' && !cancelled()
10241032
uses: actions/[email protected]
@@ -1069,7 +1077,8 @@ jobs:
10691077
bluez \
10701078
ffmpeg \
10711079
libturbojpeg \
1072-
libmariadb-dev-compat
1080+
libmariadb-dev-compat \
1081+
libxml2-utils
10731082
- name: Check out code from GitHub
10741083
uses: actions/[email protected]
10751084
- name: Set up Python ${{ matrix.python-version }}
@@ -1084,7 +1093,8 @@ jobs:
10841093
with:
10851094
path: venv
10861095
fail-on-cache-miss: true
1087-
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
1096+
key: >-
1097+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
10881098
needs.info.outputs.python_cache_key }}
10891099
- name: Register Python problem matcher
10901100
run: |
@@ -1152,6 +1162,12 @@ jobs:
11521162
steps.pytest-partial.outputs.mariadb }}
11531163
path: coverage.xml
11541164
overwrite: true
1165+
- name: Beautify test results
1166+
# For easier identification of parsing errors
1167+
if: needs.info.outputs.skip_coverage != 'true'
1168+
run: |
1169+
xmllint --format "junit.xml" > "junit.xml-tmp"
1170+
mv "junit.xml-tmp" "junit.xml"
11551171
- name: Upload test results artifact
11561172
if: needs.info.outputs.skip_coverage != 'true' && !cancelled()
11571173
uses: actions/[email protected]
@@ -1200,7 +1216,8 @@ jobs:
12001216
sudo apt-get -y install \
12011217
bluez \
12021218
ffmpeg \
1203-
libturbojpeg
1219+
libturbojpeg \
1220+
libxml2-utils
12041221
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y
12051222
sudo apt-get -y install \
12061223
postgresql-server-dev-14
@@ -1218,7 +1235,8 @@ jobs:
12181235
with:
12191236
path: venv
12201237
fail-on-cache-miss: true
1221-
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
1238+
key: >-
1239+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
12221240
needs.info.outputs.python_cache_key }}
12231241
- name: Register Python problem matcher
12241242
run: |
@@ -1287,6 +1305,12 @@ jobs:
12871305
steps.pytest-partial.outputs.postgresql }}
12881306
path: coverage.xml
12891307
overwrite: true
1308+
- name: Beautify test results
1309+
# For easier identification of parsing errors
1310+
if: needs.info.outputs.skip_coverage != 'true'
1311+
run: |
1312+
xmllint --format "junit.xml" > "junit.xml-tmp"
1313+
mv "junit.xml-tmp" "junit.xml"
12901314
- name: Upload test results artifact
12911315
if: needs.info.outputs.skip_coverage != 'true' && !cancelled()
12921316
uses: actions/[email protected]
@@ -1317,7 +1341,7 @@ jobs:
13171341
pattern: coverage-*
13181342
- name: Upload coverage to Codecov
13191343
if: needs.info.outputs.test_full_suite == 'true'
1320-
uses: codecov/[email protected].2
1344+
uses: codecov/[email protected].3
13211345
with:
13221346
fail_ci_if_error: true
13231347
flags: full-suite
@@ -1354,7 +1378,8 @@ jobs:
13541378
bluez \
13551379
ffmpeg \
13561380
libturbojpeg \
1357-
libgammu-dev
1381+
libgammu-dev \
1382+
libxml2-utils
13581383
- name: Check out code from GitHub
13591384
uses: actions/[email protected]
13601385
- name: Set up Python ${{ matrix.python-version }}
@@ -1369,7 +1394,8 @@ jobs:
13691394
with:
13701395
path: venv
13711396
fail-on-cache-miss: true
1372-
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
1397+
key: >-
1398+
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
13731399
needs.info.outputs.python_cache_key }}
13741400
- name: Register Python problem matcher
13751401
run: |
@@ -1432,6 +1458,12 @@ jobs:
14321458
name: coverage-${{ matrix.python-version }}-${{ matrix.group }}
14331459
path: coverage.xml
14341460
overwrite: true
1461+
- name: Beautify test results
1462+
# For easier identification of parsing errors
1463+
if: needs.info.outputs.skip_coverage != 'true'
1464+
run: |
1465+
xmllint --format "junit.xml" > "junit.xml-tmp"
1466+
mv "junit.xml-tmp" "junit.xml"
14351467
- name: Upload test results artifact
14361468
if: needs.info.outputs.skip_coverage != 'true' && !cancelled()
14371469
uses: actions/[email protected]
@@ -1459,7 +1491,7 @@ jobs:
14591491
pattern: coverage-*
14601492
- name: Upload coverage to Codecov
14611493
if: needs.info.outputs.test_full_suite == 'false'
1462-
uses: codecov/[email protected].2
1494+
uses: codecov/[email protected].3
14631495
with:
14641496
fail_ci_if_error: true
14651497
token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/codeql.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ jobs:
2424
uses: actions/[email protected]
2525

2626
- name: Initialize CodeQL
27-
uses: github/codeql-action/[email protected].16
27+
uses: github/codeql-action/[email protected].18
2828
with:
2929
languages: python
3030

3131
- name: Perform CodeQL Analysis
32-
uses: github/codeql-action/[email protected].16
32+
uses: github/codeql-action/[email protected].18
3333
with:
3434
category: "/language:python"

0 commit comments

Comments
 (0)