-
-
Notifications
You must be signed in to change notification settings - Fork 30.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'dev' into mqtt-device-based-discovery
- Loading branch information
Showing
1,263 changed files
with
28,344 additions
and
40,699 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -69,7 +69,7 @@ jobs: | |
run: find ./homeassistant/components/*/translations -name "*.json" | tar zcvf translations.tar.gz -T - | ||
|
||
- name: Upload translations | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: translations | ||
path: translations.tar.gz | ||
|
@@ -197,7 +197,7 @@ jobs: | |
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Build base image | ||
uses: home-assistant/builder@2024.03.5 | ||
uses: home-assistant/builder@2024.08.1 | ||
with: | ||
args: | | ||
$BUILD_ARGS \ | ||
|
@@ -263,7 +263,7 @@ jobs: | |
password: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Build base image | ||
uses: home-assistant/builder@2024.03.5 | ||
uses: home-assistant/builder@2024.08.1 | ||
with: | ||
args: | | ||
$BUILD_ARGS \ | ||
|
@@ -323,7 +323,7 @@ jobs: | |
uses: actions/[email protected] | ||
|
||
- name: Install Cosign | ||
uses: sigstore/cosign-installer@v3.5.0 | ||
uses: sigstore/cosign-installer@v3.6.0 | ||
with: | ||
cosign-release: "v2.2.3" | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -31,12 +31,16 @@ on: | |
description: "Only run mypy" | ||
default: false | ||
type: boolean | ||
audit-licenses-only: | ||
description: "Only run audit licenses" | ||
default: false | ||
type: boolean | ||
|
||
env: | ||
CACHE_VERSION: 9 | ||
CACHE_VERSION: 10 | ||
UV_CACHE_VERSION: 1 | ||
MYPY_CACHE_VERSION: 8 | ||
HA_SHORT_VERSION: "2024.8" | ||
HA_SHORT_VERSION: "2024.9" | ||
DEFAULT_PYTHON: "3.12" | ||
ALL_PYTHON_VERSIONS: "['3.12']" | ||
# 10.3 is the oldest supported version | ||
|
@@ -222,6 +226,7 @@ jobs: | |
if: | | ||
github.event.inputs.pylint-only != 'true' | ||
&& github.event.inputs.mypy-only != 'true' | ||
&& github.event.inputs.audit-licenses-only != 'true' | ||
needs: | ||
- info | ||
steps: | ||
|
@@ -343,6 +348,7 @@ jobs: | |
pre-commit run --hook-stage manual ruff --all-files --show-diff-on-failure | ||
env: | ||
RUFF_OUTPUT_FORMAT: github | ||
|
||
lint-other: | ||
name: Check other linters | ||
runs-on: ubuntu-24.04 | ||
|
@@ -508,8 +514,7 @@ jobs: | |
uv pip install -U "pip>=21.3.1" setuptools wheel | ||
uv pip install -r requirements.txt | ||
python -m script.gen_requirements_all ci | ||
uv pip install -r requirements_all_pytest.txt | ||
uv pip install -r requirements_test.txt | ||
uv pip install -r requirements_all_pytest.txt -r requirements_test.txt | ||
uv pip install -e . --config-settings editable_mode=compat | ||
hassfest: | ||
|
@@ -518,6 +523,7 @@ jobs: | |
if: | | ||
github.event.inputs.pylint-only != 'true' | ||
&& github.event.inputs.mypy-only != 'true' | ||
&& github.event.inputs.audit-licenses-only != 'true' | ||
needs: | ||
- info | ||
- base | ||
|
@@ -556,6 +562,7 @@ jobs: | |
if: | | ||
github.event.inputs.pylint-only != 'true' | ||
&& github.event.inputs.mypy-only != 'true' | ||
&& github.event.inputs.audit-licenses-only != 'true' | ||
needs: | ||
- info | ||
- base | ||
|
@@ -589,7 +596,10 @@ jobs: | |
- info | ||
- base | ||
if: | | ||
needs.info.outputs.requirements == 'true' | ||
(github.event.inputs.pylint-only != 'true' | ||
&& github.event.inputs.mypy-only != 'true' | ||
|| github.event.inputs.audit-licenses-only == 'true') | ||
&& needs.info.outputs.requirements == 'true' | ||
steps: | ||
- name: Check out code from GitHub | ||
uses: actions/[email protected] | ||
|
@@ -613,7 +623,7 @@ jobs: | |
. venv/bin/activate | ||
pip-licenses --format=json --output-file=licenses.json | ||
- name: Upload licenses | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: licenses | ||
path: licenses.json | ||
|
@@ -628,6 +638,7 @@ jobs: | |
timeout-minutes: 20 | ||
if: | | ||
github.event.inputs.mypy-only != 'true' | ||
&& github.event.inputs.audit-licenses-only != 'true' | ||
|| github.event.inputs.pylint-only == 'true' | ||
needs: | ||
- info | ||
|
@@ -672,7 +683,9 @@ jobs: | |
runs-on: ubuntu-24.04 | ||
timeout-minutes: 20 | ||
if: | | ||
(github.event.inputs.mypy-only != 'true' || github.event.inputs.pylint-only == 'true') | ||
(github.event.inputs.mypy-only != 'true' | ||
&& github.event.inputs.audit-licenses-only != 'true' | ||
|| github.event.inputs.pylint-only == 'true') | ||
&& (needs.info.outputs.tests_glob || needs.info.outputs.test_full_suite == 'true') | ||
needs: | ||
- info | ||
|
@@ -717,6 +730,7 @@ jobs: | |
runs-on: ubuntu-24.04 | ||
if: | | ||
github.event.inputs.pylint-only != 'true' | ||
&& github.event.inputs.audit-licenses-only != 'true' | ||
|| github.event.inputs.mypy-only == 'true' | ||
needs: | ||
- info | ||
|
@@ -781,6 +795,7 @@ jobs: | |
&& github.event.inputs.lint-only != 'true' | ||
&& github.event.inputs.pylint-only != 'true' | ||
&& github.event.inputs.mypy-only != 'true' | ||
&& github.event.inputs.audit-licenses-only != 'true' | ||
&& needs.info.outputs.test_full_suite == 'true' | ||
needs: | ||
- info | ||
|
@@ -818,7 +833,7 @@ jobs: | |
. venv/bin/activate | ||
python -m script.split_tests ${{ needs.info.outputs.test_group_count }} tests | ||
- name: Upload pytest_buckets | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: pytest_buckets | ||
path: pytest_buckets.txt | ||
|
@@ -831,6 +846,7 @@ jobs: | |
&& github.event.inputs.lint-only != 'true' | ||
&& github.event.inputs.pylint-only != 'true' | ||
&& github.event.inputs.mypy-only != 'true' | ||
&& github.event.inputs.audit-licenses-only != 'true' | ||
&& needs.info.outputs.test_full_suite == 'true' | ||
needs: | ||
- info | ||
|
@@ -904,6 +920,7 @@ jobs: | |
cov_params+=(--cov-report=xml) | ||
fi | ||
echo "Test group ${{ matrix.group }}: $(sed -n "${{ matrix.group }},1p" pytest_buckets.txt)" | ||
python3 -b -X dev -m pytest \ | ||
-qq \ | ||
--timeout=9 \ | ||
|
@@ -917,14 +934,14 @@ jobs: | |
2>&1 | tee pytest-${{ matrix.python-version }}-${{ matrix.group }}.txt | ||
- name: Upload pytest output | ||
if: success() || failure() && steps.pytest-full.conclusion == 'failure' | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{ matrix.group }} | ||
path: pytest-*.txt | ||
overwrite: true | ||
- name: Upload coverage artifact | ||
if: needs.info.outputs.skip_coverage != 'true' | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: coverage-${{ matrix.python-version }}-${{ matrix.group }} | ||
path: coverage.xml | ||
|
@@ -950,6 +967,7 @@ jobs: | |
&& github.event.inputs.lint-only != 'true' | ||
&& github.event.inputs.pylint-only != 'true' | ||
&& github.event.inputs.mypy-only != 'true' | ||
&& github.event.inputs.audit-licenses-only != 'true' | ||
&& needs.info.outputs.mariadb_groups != '[]' | ||
needs: | ||
- info | ||
|
@@ -1042,15 +1060,15 @@ jobs: | |
2>&1 | tee pytest-${{ matrix.python-version }}-${mariadb}.txt | ||
- name: Upload pytest output | ||
if: success() || failure() && steps.pytest-partial.conclusion == 'failure' | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{ | ||
steps.pytest-partial.outputs.mariadb }} | ||
path: pytest-*.txt | ||
overwrite: true | ||
- name: Upload coverage artifact | ||
if: needs.info.outputs.skip_coverage != 'true' | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: coverage-${{ matrix.python-version }}-${{ | ||
steps.pytest-partial.outputs.mariadb }} | ||
|
@@ -1075,6 +1093,7 @@ jobs: | |
&& github.event.inputs.lint-only != 'true' | ||
&& github.event.inputs.pylint-only != 'true' | ||
&& github.event.inputs.mypy-only != 'true' | ||
&& github.event.inputs.audit-licenses-only != 'true' | ||
&& needs.info.outputs.postgresql_groups != '[]' | ||
needs: | ||
- info | ||
|
@@ -1168,15 +1187,15 @@ jobs: | |
2>&1 | tee pytest-${{ matrix.python-version }}-${postgresql}.txt | ||
- name: Upload pytest output | ||
if: success() || failure() && steps.pytest-partial.conclusion == 'failure' | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{ | ||
steps.pytest-partial.outputs.postgresql }} | ||
path: pytest-*.txt | ||
overwrite: true | ||
- name: Upload coverage artifact | ||
if: needs.info.outputs.skip_coverage != 'true' | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: coverage-${{ matrix.python-version }}-${{ | ||
steps.pytest-partial.outputs.postgresql }} | ||
|
@@ -1219,6 +1238,7 @@ jobs: | |
&& github.event.inputs.lint-only != 'true' | ||
&& github.event.inputs.pylint-only != 'true' | ||
&& github.event.inputs.mypy-only != 'true' | ||
&& github.event.inputs.audit-licenses-only != 'true' | ||
&& needs.info.outputs.tests_glob | ||
&& needs.info.outputs.test_full_suite == 'false' | ||
needs: | ||
|
@@ -1309,14 +1329,14 @@ jobs: | |
2>&1 | tee pytest-${{ matrix.python-version }}-${{ matrix.group }}.txt | ||
- name: Upload pytest output | ||
if: success() || failure() && steps.pytest-partial.conclusion == 'failure' | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{ matrix.group }} | ||
path: pytest-*.txt | ||
overwrite: true | ||
- name: Upload coverage artifact | ||
if: needs.info.outputs.skip_coverage != 'true' | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: coverage-${{ matrix.python-version }}-${{ matrix.group }} | ||
path: coverage.xml | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -24,11 +24,11 @@ jobs: | |
uses: actions/[email protected] | ||
|
||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v3.25.15 | ||
uses: github/codeql-action/init@v3.26.2 | ||
with: | ||
languages: python | ||
|
||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v3.25.15 | ||
uses: github/codeql-action/analyze@v3.26.2 | ||
with: | ||
category: "/language:python" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -82,14 +82,14 @@ jobs: | |
) > .env_file | ||
- name: Upload env_file | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: env_file | ||
path: ./.env_file | ||
overwrite: true | ||
|
||
- name: Upload requirements_diff | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: requirements_diff | ||
path: ./requirements_diff.txt | ||
|
@@ -101,7 +101,7 @@ jobs: | |
python -m script.gen_requirements_all ci | ||
- name: Upload requirements_all_wheels | ||
uses: actions/[email protected].4 | ||
uses: actions/[email protected].6 | ||
with: | ||
name: requirements_all_wheels | ||
path: ./requirements_all_wheels_*.txt | ||
|
@@ -211,7 +211,7 @@ jobs: | |
wheels-key: ${{ secrets.WHEELS_KEY }} | ||
env-file: true | ||
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev" | ||
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic | ||
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic;pymicro-vad | ||
constraints: "homeassistant/package_constraints.txt" | ||
requirements-diff: "requirements_diff.txt" | ||
requirements: "requirements_old-cython.txt" | ||
|
@@ -226,7 +226,7 @@ jobs: | |
wheels-key: ${{ secrets.WHEELS_KEY }} | ||
env-file: true | ||
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm" | ||
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic | ||
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic;pymicro-vad | ||
constraints: "homeassistant/package_constraints.txt" | ||
requirements-diff: "requirements_diff.txt" | ||
requirements: "requirements_all.txtaa" | ||
|
@@ -240,7 +240,7 @@ jobs: | |
wheels-key: ${{ secrets.WHEELS_KEY }} | ||
env-file: true | ||
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm" | ||
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic | ||
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic;pymicro-vad | ||
constraints: "homeassistant/package_constraints.txt" | ||
requirements-diff: "requirements_diff.txt" | ||
requirements: "requirements_all.txtab" | ||
|
@@ -254,7 +254,7 @@ jobs: | |
wheels-key: ${{ secrets.WHEELS_KEY }} | ||
env-file: true | ||
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm" | ||
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic | ||
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic;pymicro-vad | ||
constraints: "homeassistant/package_constraints.txt" | ||
requirements-diff: "requirements_diff.txt" | ||
requirements: "requirements_all.txtac" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.