From ff32c1c3e9241e8659c3e7134f1853984cce30d5 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 22 Mar 2020 12:17:48 +0100 Subject: [PATCH 01/13] Update azure-pipelines-wheels.yml --- azure-pipelines-wheels.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/azure-pipelines-wheels.yml b/azure-pipelines-wheels.yml index cd04feb4638..dafae49d89c 100644 --- a/azure-pipelines-wheels.yml +++ b/azure-pipelines-wheels.yml @@ -18,7 +18,7 @@ schedules: always: true variables: - name: versionWheels - value: '1.4-3.7-alpine3.10' + value: '1.7.0-3.7-alpine3.11' resources: repositories: - repository: azure @@ -32,6 +32,7 @@ jobs: builderVersion: '$(versionWheels)' builderApk: 'build-base;cmake;git;linux-headers;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;autoconf;automake;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev' builderPip: 'Cython;numpy' + skipBinary: 'aiohttp' wheelsRequirement: 'requirements_wheels.txt' wheelsRequirementDiff: 'requirements_diff.txt' preBuild: From 4c31829832275ce9e86d7a98276d8ce97482564f Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 22 Mar 2020 12:31:14 +0100 Subject: [PATCH 02/13] [skip ci] update wheels builder version --- azure-pipelines-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines-wheels.yml b/azure-pipelines-wheels.yml index dafae49d89c..81d76708edc 100644 --- a/azure-pipelines-wheels.yml +++ b/azure-pipelines-wheels.yml @@ -18,7 +18,7 @@ schedules: always: true variables: - name: versionWheels - value: '1.7.0-3.7-alpine3.11' + value: '1.8.0-3.7-alpine3.11' resources: repositories: - repository: azure From f4cc64d289902cce1c3696ac513f19708f6d40cc Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 22 Mar 2020 16:37:33 +0100 Subject: [PATCH 03/13] [skip ci] add rc into build --- azure-pipelines-wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/azure-pipelines-wheels.yml b/azure-pipelines-wheels.yml index 81d76708edc..816e64d29bf 100644 --- a/azure-pipelines-wheels.yml +++ b/azure-pipelines-wheels.yml @@ -5,6 +5,7 @@ trigger: branches: include: - dev + - rc paths: include: - requirements_all.txt From fa43a218d254fdcd513cc65c4f6fe4464f1de304 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 22 Mar 2020 19:40:25 +0100 Subject: [PATCH 04/13] Update azure-pipelines-wheels.yml for Azure Pipelines --- azure-pipelines-wheels.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/azure-pipelines-wheels.yml b/azure-pipelines-wheels.yml index 816e64d29bf..a01e81789ab 100644 --- a/azure-pipelines-wheels.yml +++ b/azure-pipelines-wheels.yml @@ -71,9 +71,5 @@ jobs: sed -i "s|# py_noaa|py_noaa|g" ${requirement_file} sed -i "s|# bme680|bme680|g" ${requirement_file} sed -i "s|# python-gammu|python-gammu|g" ${requirement_file} - - if [[ "$(buildArch)" =~ arm ]]; then - sed -i "s|# VL53L1X|VL53L1X|g" ${requirement_file} - fi done displayName: 'Prepare requirements files for Hass.io' From c218ff5a757563945604cd71fa91e614bfeb6d30 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 23 Mar 2020 00:39:37 +0100 Subject: [PATCH 05/13] Integrate dockerbuild (#33168) * Integrate dockerbuild * cleanup --- .dockerignore | 6 ++++++ Dockerfile | 17 +++++++++++++++++ azure-pipelines-release.yml | 8 +++----- build.json | 14 ++++++++++++++ rootfs/etc/services.d/home-assistant/finish | 5 +++++ rootfs/etc/services.d/home-assistant/run | 7 +++++++ 6 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 Dockerfile create mode 100644 build.json create mode 100644 rootfs/etc/services.d/home-assistant/finish create mode 100644 rootfs/etc/services.d/home-assistant/run diff --git a/.dockerignore b/.dockerignore index 3d8c32cfb92..8144367ede1 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,9 +2,15 @@ .git .github config +docs + +# Development +.devcontainer +.vscode # Test related files .tox +tests # Other virtualization methods venv diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000000..8853314ae80 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +ARG BUILD_FROM +FROM ${BUILD_FROM}:6.1.0 + +WORKDIR /usr/src + +## Setup Home Assistant +COPY . homeassistant/ +RUN pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \ + -r homeassistant/requirements_all.txt -c homeassistant/homeassistant/package_constraints.txt \ + && pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \ + -e ./homeassistant \ + && python3 -m compileall homeassistant/homeassistant + +# Home Assistant S6-Overlay +COPY rootfs / + +WORKDIR /config diff --git a/azure-pipelines-release.yml b/azure-pipelines-release.yml index 34827897749..7bf8e3ddfb2 100644 --- a/azure-pipelines-release.yml +++ b/azure-pipelines-release.yml @@ -14,7 +14,7 @@ schedules: always: true variables: - name: versionBuilder - value: '6.9' + value: '7.2.0' - group: docker - group: github - group: twine @@ -108,11 +108,9 @@ stages: docker run --rm --privileged \ -v ~/.docker:/root/.docker:rw \ -v /run/docker.sock:/run/docker.sock:rw \ - -v $(pwd):/homeassistant:ro \ + -v $(pwd):/data:ro \ homeassistant/amd64-builder:$(versionBuilder) \ - --homeassistant $(homeassistantRelease) "--$(buildArch)" \ - -r https://github.com/home-assistant/hassio-homeassistant \ - -t generic --docker-hub homeassistant + --generic $(homeassistantRelease) "--$(buildArch)" -t /data \ docker run --rm --privileged \ -v ~/.docker:/root/.docker \ diff --git a/build.json b/build.json new file mode 100644 index 00000000000..c61a693af1c --- /dev/null +++ b/build.json @@ -0,0 +1,14 @@ +{ + "image": "homeassistant/{arch}-homeassistant", + "build_from": { + "aarch64": "homeassistant/aarch64-homeassistant-base:7.0.1", + "armhf": "homeassistant/armhf-homeassistant-base:7.0.1", + "armv7": "homeassistant/armv7-homeassistant-base:7.0.1", + "amd64": "homeassistant/amd64-homeassistant-base:7.0.1", + "i386": "homeassistant/i386-homeassistant-base:7.0.1" + }, + "labels": { + "io.hass.type": "core" + }, + "version_tag": true +} diff --git a/rootfs/etc/services.d/home-assistant/finish b/rootfs/etc/services.d/home-assistant/finish new file mode 100644 index 00000000000..84b7abcab8b --- /dev/null +++ b/rootfs/etc/services.d/home-assistant/finish @@ -0,0 +1,5 @@ +#!/usr/bin/execlineb -S0 +# ============================================================================== +# Take down the S6 supervision tree when Home Assistant fails +# ============================================================================== +s6-svscanctl -t /var/run/s6/services \ No newline at end of file diff --git a/rootfs/etc/services.d/home-assistant/run b/rootfs/etc/services.d/home-assistant/run new file mode 100644 index 00000000000..a153db56b61 --- /dev/null +++ b/rootfs/etc/services.d/home-assistant/run @@ -0,0 +1,7 @@ +#!/usr/bin/with-contenv bashio +# ============================================================================== +# Start Home Assistant service +# ============================================================================== +cd /config || bashio::exit.nok "Can't find config folder!" + +exec python3 -m homeassistant --config /config From 884c346bdf63a24d5a61eb4adc3c1b4c62e5b921 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 23 Mar 2020 01:00:00 +0100 Subject: [PATCH 06/13] Fix dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 8853314ae80..647c2b8ac07 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ ARG BUILD_FROM -FROM ${BUILD_FROM}:6.1.0 +FROM ${BUILD_FROM} WORKDIR /usr/src From e0f2fa33df49f3d4d1eca769a4ccd99f26448dec Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 23 Mar 2020 13:14:50 +0100 Subject: [PATCH 07/13] [skip ci] Update azure-pipelines-wheels.yml for Azure Pipelines --- azure-pipelines-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines-wheels.yml b/azure-pipelines-wheels.yml index a01e81789ab..2fc0ee39018 100644 --- a/azure-pipelines-wheels.yml +++ b/azure-pipelines-wheels.yml @@ -19,7 +19,7 @@ schedules: always: true variables: - name: versionWheels - value: '1.8.0-3.7-alpine3.11' + value: '1.9.0-3.7-alpine3.11' resources: repositories: - repository: azure From 181b2803cd25cb28a79510546437f881e652e2e8 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 23 Mar 2020 16:54:06 +0100 Subject: [PATCH 08/13] Update azure-pipelines-wheels.yml for Azure Pipelines --- azure-pipelines-wheels.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/azure-pipelines-wheels.yml b/azure-pipelines-wheels.yml index 2fc0ee39018..3ed413f4678 100644 --- a/azure-pipelines-wheels.yml +++ b/azure-pipelines-wheels.yml @@ -19,7 +19,7 @@ schedules: always: true variables: - name: versionWheels - value: '1.9.0-3.7-alpine3.11' + value: '1.10.0-3.7-alpine3.11' resources: repositories: - repository: azure @@ -36,6 +36,7 @@ jobs: skipBinary: 'aiohttp' wheelsRequirement: 'requirements_wheels.txt' wheelsRequirementDiff: 'requirements_diff.txt' + wheelsConstraint: 'homeassistant/package_constraints.txt' preBuild: - script: | cp requirements_all.txt requirements_wheels.txt From 95de94e53ff1f9a3b82a602109a2c66ceea30939 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 23 Mar 2020 17:47:43 +0100 Subject: [PATCH 09/13] Update azure-pipelines-wheels.yml for Azure Pipelines --- azure-pipelines-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines-wheels.yml b/azure-pipelines-wheels.yml index 3ed413f4678..b4ad0a556b2 100644 --- a/azure-pipelines-wheels.yml +++ b/azure-pipelines-wheels.yml @@ -19,7 +19,7 @@ schedules: always: true variables: - name: versionWheels - value: '1.10.0-3.7-alpine3.11' + value: '1.10.1-3.7-alpine3.11' resources: repositories: - repository: azure From 7a6ac578b41292c7a36d72bc259fa48456d22410 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 22 Mar 2020 05:29:50 -0700 Subject: [PATCH 10/13] Fix script logging with name (#33120) --- homeassistant/helpers/script.py | 4 +++- tests/helpers/test_script.py | 12 ++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/homeassistant/helpers/script.py b/homeassistant/helpers/script.py index 937a675aada..4fe6d062bd5 100644 --- a/homeassistant/helpers/script.py +++ b/homeassistant/helpers/script.py @@ -701,7 +701,9 @@ class Script: def _log(self, msg, *args, level=logging.INFO): if self.name: - msg = f"{self.name}: {msg}" + msg = f"%s: {msg}" + args = [self.name, *args] + if level == _LOG_EXCEPTION: self._logger.exception(msg, *args) else: diff --git a/tests/helpers/test_script.py b/tests/helpers/test_script.py index 443b131b2aa..5f0281d3f95 100644 --- a/tests/helpers/test_script.py +++ b/tests/helpers/test_script.py @@ -1743,3 +1743,15 @@ async def test_if_running_parallel(hass): assert len(events) == 4 assert events[2].data["value"] == 2 assert events[3].data["value"] == 2 + + +async def test_script_logging(caplog): + """Test script logging.""" + script_obj = script.Script(None, [], "Script with % Name") + script_obj._log("Test message with name %s", 1) + + assert "Script with % Name: Test message with name 1" in caplog.text + + script_obj = script.Script(None, []) + script_obj._log("Test message without name %s", 2) + assert "Test message without name 2" in caplog.text From 253c848692fd6bc4008abf42f97fa970d5dfa600 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 24 Mar 2020 01:20:39 +0100 Subject: [PATCH 11/13] Fix minut point updating frozen config entry data (#33148) * Fix minut point updating frozen config entry data * Update webhooks handling for configuration entry --- homeassistant/components/point/__init__.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/point/__init__.py b/homeassistant/components/point/__init__.py index 9abae9ab025..2817871cd7c 100644 --- a/homeassistant/components/point/__init__.py +++ b/homeassistant/components/point/__init__.py @@ -75,8 +75,9 @@ async def async_setup_entry(hass: HomeAssistantType, entry: ConfigEntry): def token_saver(token): _LOGGER.debug("Saving updated token") - entry.data[CONF_TOKEN] = token - hass.config_entries.async_update_entry(entry, data={**entry.data}) + hass.config_entries.async_update_entry( + entry, data={**entry.data, CONF_TOKEN: token} + ) # Force token update. entry.data[CONF_TOKEN]["expires_in"] = -1 @@ -105,12 +106,18 @@ async def async_setup_entry(hass: HomeAssistantType, entry: ConfigEntry): async def async_setup_webhook(hass: HomeAssistantType, entry: ConfigEntry, session): """Set up a webhook to handle binary sensor events.""" if CONF_WEBHOOK_ID not in entry.data: - entry.data[CONF_WEBHOOK_ID] = hass.components.webhook.async_generate_id() - entry.data[CONF_WEBHOOK_URL] = hass.components.webhook.async_generate_url( - entry.data[CONF_WEBHOOK_ID] + webhook_id = hass.components.webhook.async_generate_id() + webhook_url = hass.components.webhook.async_generate_url(webhook_id) + _LOGGER.info("Registering new webhook at: %s", webhook_url) + + hass.config_entries.async_update_entry( + entry, + data={ + **entry.data, + CONF_WEBHOOK_ID: webhook_id, + CONF_WEBHOOK_URL: webhook_url, + }, ) - _LOGGER.info("Registering new webhook at: %s", entry.data[CONF_WEBHOOK_URL]) - hass.config_entries.async_update_entry(entry, data={**entry.data}) await hass.async_add_executor_job( session.update_webhook, entry.data[CONF_WEBHOOK_URL], From b36b1dbc70d150d0abb4432eb55c54544d6a2157 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 24 Mar 2020 12:04:33 +0100 Subject: [PATCH 12/13] Bump OZW fork to 0.1.10 (#33205) --- homeassistant/components/zwave/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/zwave/manifest.json b/homeassistant/components/zwave/manifest.json index 81978aa96cd..72d61b278dd 100644 --- a/homeassistant/components/zwave/manifest.json +++ b/homeassistant/components/zwave/manifest.json @@ -3,7 +3,7 @@ "name": "Z-Wave", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/zwave", - "requirements": ["homeassistant-pyozw==0.1.9", "pydispatcher==2.0.5"], + "requirements": ["homeassistant-pyozw==0.1.10", "pydispatcher==2.0.5"], "dependencies": [], "codeowners": ["@home-assistant/z-wave"] } diff --git a/requirements_all.txt b/requirements_all.txt index 79e8a1154fa..8f27c68655f 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -699,7 +699,7 @@ holidays==0.10.1 home-assistant-frontend==20200318.1 # homeassistant.components.zwave -homeassistant-pyozw==0.1.9 +homeassistant-pyozw==0.1.10 # homeassistant.components.homematicip_cloud homematicip==0.10.17 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index b7500916925..eaeca47589d 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -266,7 +266,7 @@ holidays==0.10.1 home-assistant-frontend==20200318.1 # homeassistant.components.zwave -homeassistant-pyozw==0.1.9 +homeassistant-pyozw==0.1.10 # homeassistant.components.homematicip_cloud homematicip==0.10.17 From edfe8e15834f09cd2daad05901f81d91e594c200 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 24 Mar 2020 11:50:25 +0000 Subject: [PATCH 13/13] Bump version to 0.107.6 --- homeassistant/const.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/const.py b/homeassistant/const.py index c758ad4dd5f..781eae6d836 100644 --- a/homeassistant/const.py +++ b/homeassistant/const.py @@ -1,7 +1,7 @@ """Constants used by Home Assistant components.""" MAJOR_VERSION = 0 MINOR_VERSION = 107 -PATCH_VERSION = "5" +PATCH_VERSION = "6" __short_version__ = f"{MAJOR_VERSION}.{MINOR_VERSION}" __version__ = f"{__short_version__}.{PATCH_VERSION}" REQUIRED_PYTHON_VER = (3, 7, 0)