Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for ZHA door locks #24126

Closed
wants to merge 163 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
5dc841e
Fix Hassio-version for Azure Pipelines (#23895)
pvizeli May 16, 2019
8d2a784
Update Honeywell warning (#23913)
balloob May 16, 2019
6030e41
Switch media player to SWITCH type (#23914)
elupus May 16, 2019
58f28f1
Fix problem with cameras that don't support time (#23924)
karlkar May 17, 2019
e122226
Bumped version to 0.93.1
balloob May 17, 2019
7818c98
Merge pull request #23932 from home-assistant/rc
balloob May 17, 2019
489c60d
Add support for DoorLock cluster
presslab-us May 17, 2019
7756315
Add test for zha lock
presslab-us May 17, 2019
38ba5dd
Change lock_state report to REPORT_CONFIG_IMMEDIATE
presslab-us May 17, 2019
c5bd6b3
Fix auto version update Hass.io (#23935)
pvizeli May 17, 2019
41b7f5a
Bump pytraccar (#23939)
ludeeus May 17, 2019
f6e6c21
Fixes issue with multiple alerts (#23945)
ludeeus May 18, 2019
99c49c0
Setup integration dependencies before loading it (#23957)
aerialls May 18, 2019
bf910ef
Make Discord payload data key not required (#23964)
cyrosy May 18, 2019
70c5c82
upgrade broadlink library (#23966)
Danielhiversen May 18, 2019
8d0b158
Bumped version to 0.93.2
balloob May 23, 2019
77f595c
Merge pull request #24047 from home-assistant/rc
balloob May 23, 2019
92c8f18
Update channel command wrapper to return the entire result
presslab-us May 23, 2019
35845e4
Fix tests
presslab-us May 24, 2019
da74bda
Fix lint
presslab-us May 24, 2019
179fb0f
Use importlib metadata to check installed packages (#24114)
balloob May 26, 2019
97b6711
Avoid useless Sonos state updates (#24135)
amelchio May 26, 2019
9debbfb
Add SSDP integration (#24090)
balloob May 27, 2019
5c86a51
Lovelace: Fire event on save (#24104)
bramkragten May 27, 2019
0ba54ee
Use central polling to update entities (#24059)
jjlawren May 27, 2019
31b2f33
Library refactorization of deCONZ (#23725)
Kane610 May 27, 2019
9678752
Retrieve wire and wireless devices with the SRM device tracker (#24117)
aerialls May 27, 2019
c840771
Add station name for creating the unique_id in netatmo platform (#24141)
maheus May 27, 2019
5800b57
bump dependency envoy_reader to 0.4 (#24145)
jesserizzo May 27, 2019
9a5d783
Don't crash on first EAN without installations (#24137)
TheLastProject May 27, 2019
aa266cb
pubnubsub-handler to 1.0.5 (#24154)
May 28, 2019
f2033c4
Pubnub to 1.0.6 (#24159)
May 28, 2019
9fb8144
Debug log when polling ZHA light. (#24167)
Adminiuga May 29, 2019
1b543cf
Upgrade huawei-lte-api to 1.2.0 (#24165)
chmielowiec May 29, 2019
d9c78b7
Use device name for device_tracker entry (#24155)
robbiet480 May 29, 2019
015c881
Use global imports for ESPHome (#24158)
OttoWinter May 29, 2019
85dfea1
Add Repetier-Server Component (#21658)
MTrab May 29, 2019
6947f8c
Cloud: Websocket API to manage Google assistant entity config (#24153)
balloob May 29, 2019
a252065
Fix calling notify.notify with mobile_app targets in play. Fixes #240…
robbiet480 May 29, 2019
dfb992a
Updated frontend to 20190529.0
balloob May 29, 2019
fd3902f
update translations
balloob May 29, 2019
bebfc3d
Remove unused Sonos turn on/off methods (#24174)
amelchio May 29, 2019
4b256f3
Reinstate passing loop to DSMR (#24127)
balloob May 29, 2019
3fef9a9
Trådfri component to use new zeroconf discovery (#24041)
Kane610 May 29, 2019
42ee8ee
Move Homekit controller component to user zeroconf discovery (#24042)
Kane610 May 29, 2019
84baaa3
Revert Zeroconf back to previously used library (#24139)
Kane610 May 29, 2019
e330721
Deprecate Python 3.5.3 (#24177)
balloob May 29, 2019
e2e001d
Keep integrations in discovery (#24179)
Kane610 May 29, 2019
f8572c1
Avoid slow updates with unavailable Sonos devices (#24180)
amelchio May 29, 2019
6aeccf0
Merge remote-tracking branch 'origin/master' into dev
balloob May 29, 2019
d9852bc
Support Hass.io wheels / docker env (#24175)
pvizeli May 29, 2019
6667138
Remove discovery from initial config (#24183)
balloob May 29, 2019
9303a56
Fix duplicated discovered homekit devices (#24178)
Jc2k May 29, 2019
50db622
Add service calls for LCN component (#24105)
alengwenus May 29, 2019
b6bb691
Update pysonos to 0.0.14 (#24185)
amelchio May 30, 2019
3eebb9d
upgrade broadlink library, Use cryptography instead of pycryptodome (…
Danielhiversen May 30, 2019
b3d8f86
danielhiversen as codeowner for yr (#24189)
Danielhiversen May 30, 2019
59ce31f
No longer allow invalid slugs or extra keys (#24176)
balloob May 30, 2019
1a3a38d
Dynamic panels (#24184)
balloob May 30, 2019
e7d3491
Update azure-pipelines.yml for check version (#24194)
pvizeli May 30, 2019
d1aa4f4
Updated frontend to 20190530.0
balloob May 30, 2019
bcee3f9
homekit_controller no longer logs with transient network errors causi…
Jc2k May 30, 2019
7c093bd
Update Tibber library (#24192)
Danielhiversen May 30, 2019
7692cff
:pencil2: Corrects incorrect command in hassfest (#24188)
frenck May 30, 2019
04c5cda
Update azure-pipelines.yml for Azure Pipelines
pvizeli May 30, 2019
1ce2d97
Fix ESPHome discovered when already exists (#24187)
OttoWinter May 30, 2019
6fcd56c
Update hass-nabucasa (#24197)
balloob May 30, 2019
f32d1c0
Allow discovery flows to be discovered via zeroconf/ssdp (#24199)
balloob May 30, 2019
6f299e7
Improve error handling (#24204)
balloob May 30, 2019
bf91a8c
Fixing tplink issues with offline devices during setup (#23668)
vangorra May 31, 2019
a9c85b9
Bump oauthlib version (#24111)
therve May 31, 2019
dedc2ef
Update azure-pipelines.yml for Azure Pipelines
pvizeli May 31, 2019
5610541
Fix ESPHome config flow with invalid config entry (#24213)
OttoWinter May 31, 2019
261f3bc
Don't follow redirect on ingress itself (#24218)
pvizeli May 31, 2019
5fa66ba
Update azure-pipelines.yml for Azure Pipelines
pvizeli May 31, 2019
8fe1a84
Update azure-pipelines.yml for Azure Pipelines
pvizeli May 31, 2019
440e428
Instantiate lock inside event loop (#24203)
balloob May 31, 2019
3a0616c
Use resource for index routing. (#24223)
balloob May 31, 2019
18286db
Axis - Handle Vapix error messages (#24215)
Kane610 May 31, 2019
3c1cdec
Add manifest support for homekit discovery (#24225)
balloob May 31, 2019
d966e0c
Add control of Amcrest indicator light (#23986)
pnbruckner May 31, 2019
1e6b91b
Update azure-pipelines.yml for Azure Pipelines
pvizeli May 31, 2019
0ba2b4e
ZHA requirements version bump. (#24228)
Adminiuga May 31, 2019
f43eca2
Don't allow more than one config flow per discovered Axis device (#24…
Kane610 May 31, 2019
9f1dc71
Bump pychromecast (#24234)
soldag Jun 1, 2019
70fe4f2
Log HomeKit model (#24229)
balloob Jun 1, 2019
3edc58a
Add GPSLogger device_info and unique_id (#24231)
balloob Jun 1, 2019
e6a5401
GeoFency unique ID and device info (#24232)
balloob Jun 1, 2019
3076866
add a deprecation warning for tplink device_tracker (#24236)
rytilahti Jun 1, 2019
b4374c8
Mobile app to use device tracker config entry (#24238)
balloob Jun 1, 2019
b90636f
Update home zone when core config updated (#24237)
balloob Jun 1, 2019
276ab19
Do not use the cache dir for PIP installs (#24233)
balloob Jun 1, 2019
278b9d0
Round Awair sensor values (#24093)
danielsjf Jun 1, 2019
ef820c3
Update azure-pipelines.yml for Azure Pipelines
pvizeli Jun 1, 2019
5a81ddd
Sense update (#24220)
kbickar Jun 1, 2019
673290d
fix gitlab_ci sad icon (#24241)
Emilv2 Jun 1, 2019
12d5979
Add details to triggered state for total connect alarms (#24106)
austinmroczek Jun 1, 2019
4d07448
Bump python-velbus version for velbus component (#24226)
Cereal2nd Jun 1, 2019
2823ef8
Update azure-pipelines.yml for Azure Pipelines
pvizeli Jun 1, 2019
7be7d3f
Updated frontend to 20190601.0
balloob Jun 1, 2019
9220270
Adds AdGuard Home integration (#24219)
frenck Jun 2, 2019
c486f79
Fix typo in integration component (#24250)
Emilv2 Jun 2, 2019
034b0e0
Update azure-pipelines.yml for Azure Pipelines
pvizeli Jun 2, 2019
16a846b
Update azure-pipelines.yml for Azure Pipelines
pvizeli Jun 2, 2019
4d4fd19
Replace pyunifi with aiounifi in UniFi device tracker (#24149)
Kane610 Jun 2, 2019
b4c858b
Update azure-pipelines.yml for Azure Pipelines
pvizeli Jun 2, 2019
05454b7
Update azure-pipelines.yml for Azure Pipelines
pvizeli Jun 2, 2019
ca20b0c
Add restore state to OwnTracks device tracker (#24256)
balloob Jun 2, 2019
fbfc674
Add service for adding event to google component (#22473)
isabellaalstrom Jun 2, 2019
411e36b
Updated frontend to 20190602.0
balloob Jun 2, 2019
6a69354
Add restore state to Geofency (#24268)
balloob Jun 3, 2019
6795db9
Mobile app device tracker to restore state (#24266)
balloob Jun 3, 2019
e12cef8
Update azure-pipelines.yml for Azure Pipelines
pvizeli Jun 3, 2019
263c032
Update azure-pipelines.yml for Azure Pipelines
pvizeli Jun 3, 2019
34260ed
Bump aioesphomeapi to 2.1.0 (#24278)
OttoWinter Jun 3, 2019
7fd2e67
Remove icon() (#24280)
fabaff Jun 3, 2019
449a7d3
deCONZ migrate to SSDP discovery (#24252)
Kane610 Jun 3, 2019
b1dcfaf
Split devices of nodes with multiple instances (#24032)
Swamp-Ig Jun 3, 2019
4c88578
Add a discovery config flow to Wemo (#24208)
balloob Jun 3, 2019
6f903db
Fix cors on the index view (#24283)
balloob Jun 3, 2019
0b70419
Remove deps folder in config when on Docker (#24284)
balloob Jun 3, 2019
976bf3e
Add temperature sensor support to google smarthome thermostat device …
piitaya Jun 3, 2019
0d5e151
Update pyvera to 0.3.1 for alert support (#24289)
brandond Jun 4, 2019
6180397
Updated frontend to 20190604.0
balloob Jun 4, 2019
14c0ada
Update translations
balloob Jun 4, 2019
8b4ef3b
Guard against bad states in Mobile App/OwnTracks (#24292)
balloob Jun 4, 2019
d7c8adc
Run SSDP discovery in parallel (#24299)
balloob Jun 4, 2019
bf52aa8
Create progress file for pip installs (#24297)
pvizeli Jun 4, 2019
ac788a7
Upgrade Zeroconf to 0.23 (#24300)
balloob Jun 4, 2019
6d28008
Expose specific device_class for Velux covers (#24279)
gibman Jun 4, 2019
df1da75
Fix OwnTracks race condition (#24303)
balloob Jun 4, 2019
fbfaa41
address is deprecated in favor of addresses (#24302)
Kane610 Jun 4, 2019
2943ad1
Change meteoalertapi to version 0.1.3 (#24307)
rolfberkenbosch Jun 5, 2019
034bbb4
Create azure-pipelines-wheels.yml
pvizeli Jun 5, 2019
701d258
Update and rename azure-pipelines.yml to azure-pipelines-release.yml
pvizeli Jun 5, 2019
279192d
Rename azure-pipelines-release.yml to azure-pipelines.yml
pvizeli Jun 5, 2019
17b3d3a
Update azure-pipelines-wheels.yml for Azure Pipelines
pvizeli Jun 5, 2019
fccbd41
Update azure-pipelines-wheels.yml for Azure Pipelines
pvizeli Jun 5, 2019
bc15f11
Rename azure-pipelines.yml to azure-pipelines-release.yml
pvizeli Jun 5, 2019
bf9c2c7
Upgrade pytest and -cov (#24258)
scop Jun 5, 2019
408ae44
Add LCN scene platform (#24242)
alengwenus Jun 5, 2019
0ed9e18
Add support for learning new commands (#23888)
felipediel Jun 5, 2019
d31140f
Upgrade to newer version of rflink with improve error handling on inc…
Jun 5, 2019
4c6ddd4
SolarEdge Local Component (#23996)
drobtravels Jun 5, 2019
c311e48
Don't let zeroconf be smart with addresses (#24321)
Kane610 Jun 5, 2019
6d4545c
Push to version 0.7.9 of denonavr (#24260)
scarface-4711 Jun 5, 2019
607b44f
Update azure-pipelines-wheels.yml for Azure Pipelines
pvizeli Jun 5, 2019
f62d473
Update azure-pipelines-release.yml for Azure Pipelines
pvizeli Jun 5, 2019
96a51d1
Bump simplipy to 3.4.2 (#24326)
bachya Jun 5, 2019
859ae2f
Meteofrance fix 24244 (#24315)
victorcerutti Jun 6, 2019
f5db770
Only update media icon when necessary (#24324)
jjlawren Jun 6, 2019
6cc1bf3
components/cover: Typo in docstring. (#24329)
andre-richter Jun 6, 2019
9ca5bdd
Add exception handling for Netatmo climate (#24311)
cgtobi Jun 6, 2019
d261c6c
Initiate websession inside event loop (#24331)
balloob Jun 6, 2019
9fb1f2f
Remove deprecated AlarmControlPanel (#24322)
SukramJ Jun 6, 2019
ae1bcd5
Use node descriptor from Zigpy for ZHA (#24316)
dmulcahey Jun 6, 2019
2be4bd7
Add support for DoorLock cluster
presslab-us May 17, 2019
0268fe0
Add test for zha lock
presslab-us May 17, 2019
33506ed
Change lock_state report to REPORT_CONFIG_IMMEDIATE
presslab-us May 17, 2019
6ac908b
Update channel command wrapper to return the entire result
presslab-us May 23, 2019
7dbc056
Fix tests
presslab-us May 24, 2019
5986c99
Fix lint
presslab-us May 24, 2019
2eb7927
Merge branch 'zha-implement-closure' of https://github.com/presslab-u…
presslab-us Jun 6, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ omit =
homeassistant/components/abode/*
homeassistant/components/acer_projector/switch.py
homeassistant/components/actiontec/device_tracker.py
homeassistant/components/adguard/__init__.py
homeassistant/components/adguard/const.py
homeassistant/components/adguard/sensor.py
homeassistant/components/adguard/switch.py
homeassistant/components/ads/*
homeassistant/components/aftership/sensor.py
homeassistant/components/airvisual/sensor.py
Expand Down Expand Up @@ -172,6 +176,7 @@ omit =
homeassistant/components/esphome/camera.py
homeassistant/components/esphome/climate.py
homeassistant/components/esphome/cover.py
homeassistant/components/esphome/entry_data.py
homeassistant/components/esphome/fan.py
homeassistant/components/esphome/light.py
homeassistant/components/esphome/sensor.py
Expand Down Expand Up @@ -488,6 +493,8 @@ omit =
homeassistant/components/reddit/*
homeassistant/components/rejseplanen/sensor.py
homeassistant/components/remember_the_milk/__init__.py
homeassistant/components/repetier/__init__.py
homeassistant/components/repetier/sensor.py
homeassistant/components/remote_rpi_gpio/*
homeassistant/components/rest/binary_sensor.py
homeassistant/components/rest/notify.py
Expand Down Expand Up @@ -548,6 +555,7 @@ omit =
homeassistant/components/sochain/sensor.py
homeassistant/components/socialblade/sensor.py
homeassistant/components/solaredge/sensor.py
homeassistant/components/solaredge_local/sensor.py
homeassistant/components/solax/sensor.py
homeassistant/components/somfy_mylink/*
homeassistant/components/sonarr/sensor.py
Expand Down
7 changes: 7 additions & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ virtualization/Docker/* @home-assistant/docker
homeassistant/scripts/check_config.py @kellerza

# Integrations
homeassistant/components/adguard/* @frenck
homeassistant/components/airvisual/* @bachya
homeassistant/components/alarm_control_panel/* @colinodell
homeassistant/components/alpha_vantage/* @fabaff
Expand All @@ -30,6 +31,7 @@ homeassistant/components/asuswrt/* @kennedyshead
homeassistant/components/auth/* @home-assistant/core
homeassistant/components/automatic/* @armills
homeassistant/components/automation/* @home-assistant/core
homeassistant/components/awair/* @danielsjf
homeassistant/components/aws/* @awarecan @robbiet480
homeassistant/components/axis/* @kane610
homeassistant/components/azure_event_hub/* @eavanvalkenburg
Expand Down Expand Up @@ -149,6 +151,7 @@ homeassistant/components/mcp23017/* @jardiamj
homeassistant/components/mediaroom/* @dgomes
homeassistant/components/melissa/* @kennedyshead
homeassistant/components/met/* @danielhiversen
homeassistant/components/meteo_france/* @victorcerutti
homeassistant/components/meteoalarm/* @rolfberkenbosch
homeassistant/components/miflora/* @danielhiversen @ChristianKuehnel
homeassistant/components/mill/* @danielhiversen
Expand Down Expand Up @@ -193,13 +196,15 @@ homeassistant/components/qwikswitch/* @kellerza
homeassistant/components/raincloud/* @vanstinator
homeassistant/components/rainmachine/* @bachya
homeassistant/components/random/* @fabaff
homeassistant/components/repetier/* @MTrab
homeassistant/components/rfxtrx/* @danielhiversen
homeassistant/components/rmvtransport/* @cgtobi
homeassistant/components/roomba/* @pschmitt
homeassistant/components/ruter/* @ludeeus
homeassistant/components/scene/* @home-assistant/core
homeassistant/components/scrape/* @fabaff
homeassistant/components/script/* @home-assistant/core
homeassistant/components/sense/* @kbickar
homeassistant/components/sensibo/* @andrey-git
homeassistant/components/serial/* @fabaff
homeassistant/components/seventeentrack/* @bachya
Expand All @@ -211,6 +216,7 @@ homeassistant/components/sma/* @kellerza
homeassistant/components/smarthab/* @outadoc
homeassistant/components/smartthings/* @andrewsayre
homeassistant/components/smtp/* @fabaff
homeassistant/components/solaredge_local/* @drobtravels
homeassistant/components/solax/* @squishykid
homeassistant/components/sonos/* @amelchio
homeassistant/components/spaceapi/* @fabaff
Expand Down Expand Up @@ -274,6 +280,7 @@ homeassistant/components/yeelight/* @rytilahti @zewelor
homeassistant/components/yeelightsunflower/* @lindsaymarkward
homeassistant/components/yessssms/* @flowolf
homeassistant/components/yi/* @bachya
homeassistant/components/yr/* @danielhiversen
homeassistant/components/zeroconf/* @robbiet480 @Kane610
homeassistant/components/zha/* @dmulcahey @adminiuga
homeassistant/components/zone/* @home-assistant/core
Expand Down
168 changes: 168 additions & 0 deletions azure-pipelines-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
# https://dev.azure.com/home-assistant

trigger:
batch: true
tags:
include:
- '*'
pr: none
variables:
- name: versionBuilder
value: '3.2'
- group: docker
- group: github
- group: twine


jobs:


- job: 'VersionValidate'
condition: startsWith(variables['Build.SourceBranch'], 'refs/tags')
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.7'
inputs:
versionSpec: '3.7'
- script: |
setup_version="$(python setup.py -V)"
branch_version="$(Build.SourceBranchName)"

if [ "${setup_version}" != "${branch_version}" ]; then
echo "Version of tag ${branch_version} don't match with ${setup_version}!"
exit 1
fi
displayName: 'Check version of branch/tag'
- script: |
sudo apt-get install -y --no-install-recommends \
jq curl

release="$(Build.SourceBranchName)"
created_by="$(curl -s https://api.github.com/repos/home-assistant/home-assistant/releases/tags/${release} | jq --raw-output '.author.login')"

if [[ "${created_by}" =~ ^(balloob|pvizeli|fabaff|robbiet480)$ ]]; then
exit 0
fi

echo "${created_by} is not allowed to create an release!"
exit 1
displayName: 'Check rights'


- job: 'ReleasePython'
condition: and(startsWith(variables['Build.SourceBranch'], 'refs/tags'), succeeded('VersionValidate'))
dependsOn:
- 'VersionValidate'
pool:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.7'
inputs:
versionSpec: '3.7'
- script: pip install twine wheel
displayName: 'Install tools'
- script: python setup.py sdist bdist_wheel
displayName: 'Build package'
- script: |
export TWINE_USERNAME="$(twineUser)"
export TWINE_PASSWORD="$(twinePassword)"

twine upload dist/* --skip-existing
displayName: 'Upload pypi'


- job: 'ReleaseDocker'
condition: and(startsWith(variables['Build.SourceBranch'], 'refs/tags'), succeeded('VersionValidate'))
dependsOn:
- 'VersionValidate'
timeoutInMinutes: 240
pool:
vmImage: 'ubuntu-latest'
strategy:
maxParallel: 5
matrix:
amd64:
buildArch: 'amd64'
buildMachine: 'qemux86-64,intel-nuc'
i386:
buildArch: 'i386'
buildMachine: 'qemux86'
armhf:
buildArch: 'armhf'
buildMachine: 'qemuarm,raspberrypi'
armv7:
buildArch: 'armv7'
buildMachine: 'raspberrypi2,raspberrypi3,odroid-xu,tinker'
aarch64:
buildArch: 'aarch64'
buildMachine: 'qemuarm-64,raspberrypi3-64,odroid-c2,orangepi-prime'
steps:
- script: sudo docker login -u $(dockerUser) -p $(dockerPassword)
displayName: 'Docker hub login'
- script: sudo docker pull homeassistant/amd64-builder:$(versionBuilder)
displayName: 'Install Builder'
- script: |
set -e

sudo docker run --rm --privileged \
-v ~/.docker:/root/.docker \
-v /run/docker.sock:/run/docker.sock:rw \
homeassistant/amd64-builder:$(versionBuilder) \
--homeassistant $(Build.SourceBranchName) "--$(buildArch)" \
-r https://github.com/home-assistant/hassio-homeassistant \
-t generic --docker-hub homeassistant

sudo docker run --rm --privileged \
-v ~/.docker:/root/.docker \
-v /run/docker.sock:/run/docker.sock:rw \
homeassistant/amd64-builder:$(versionBuilder) \
--homeassistant-machine "$(Build.SourceBranchName)=$(buildMachine)" \
-r https://github.com/home-assistant/hassio-homeassistant \
-t machine --docker-hub homeassistant
displayName: 'Build Release'


- job: 'ReleaseHassio'
condition: and(startsWith(variables['Build.SourceBranch'], 'refs/tags'), succeeded('ReleaseDocker'))
dependsOn:
- 'ReleaseDocker'
pool:
vmImage: 'ubuntu-latest'
steps:
- script: |
sudo apt-get install -y --no-install-recommends \
git jq curl

git config --global user.name "Pascal Vizeli"
git config --global user.email "pvizeli@syshack.ch"
git config --global credential.helper store

echo "https://$(githubToken):x-oauth-basic@github.com" > $HOME/.git-credentials
displayName: 'Install requirements'
- script: |
set -e

version="$(Build.SourceBranchName)"

git clone https://github.com/home-assistant/hassio-version
cd hassio-version

dev_version="$(jq --raw-output '.homeassistant.default' dev.json)"
beta_version="$(jq --raw-output '.homeassistant.default' beta.json)"
stable_version="$(jq --raw-output '.homeassistant.default' stable.json)"

if [[ "$version" =~ b ]]; then
sed -i "s|$dev_version|$version|g" dev.json
sed -i "s|$beta_version|$version|g" beta.json
else
sed -i "s|$dev_version|$version|g" dev.json
sed -i "s|$beta_version|$version|g" beta.json
sed -i "s|$stable_version|$version|g" stable.json
fi

git commit -am "Bump Home Assistant $version"
git push
displayName: 'Update version files'
100 changes: 100 additions & 0 deletions azure-pipelines-wheels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# https://dev.azure.com/home-assistant

trigger:
batch: true
branches:
include:
- dev
paths:
include:
- requirements_all.txt
pr: none
variables:
- name: versionWheels
value: '0.7'
- group: wheels


jobs:

- job: 'Wheels'
condition: or(eq(variables['Build.SourceBranchName'], 'dev'), eq(variables['Build.SourceBranchName'], 'master'))
timeoutInMinutes: 360
pool:
vmImage: 'ubuntu-latest'
strategy:
maxParallel: 3
matrix:
amd64:
buildArch: 'amd64'
i386:
buildArch: 'i386'
armhf:
buildArch: 'armhf'
armv7:
buildArch: 'armv7'
aarch64:
buildArch: 'aarch64'
steps:
- script: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
qemu-user-static \
binfmt-support \
curl

sudo mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
sudo update-binfmts --enable qemu-arm
sudo update-binfmts --enable qemu-aarch64
displayName: 'Initial cross build'
- script: |
mkdir -p .ssh
echo -e "-----BEGIN RSA PRIVATE KEY-----\n$(wheelsSSH)\n-----END RSA PRIVATE KEY-----" >> .ssh/id_rsa
ssh-keyscan -H $(wheelsHost) >> .ssh/known_hosts
chmod 600 .ssh/*
displayName: 'Install ssh key'
- script: sudo docker pull homeassistant/$(buildArch)-wheels:$(versionWheels)
displayName: 'Install wheels builder'
- script: |
cp requirements_all.txt requirements_wheels.txt
if [[ "$(Build.Reason)" =~ (Schedule|Manual) ]]; then
touch requirements_diff.txt
else
curl -s -o requirements_diff.txt https://raw.githubusercontent.com/home-assistant/home-assistant/master/requirements_all.txt
fi

requirement_files="requirements_wheels.txt requirements_diff.txt"
for requirement_file in ${requirement_files}; do
sed -i "s|# pytradfri|pytradfri|g" ${requirement_file}
sed -i "s|# pybluez|pybluez|g" ${requirement_file}
sed -i "s|# bluepy|bluepy|g" ${requirement_file}
sed -i "s|# beacontools|beacontools|g" ${requirement_file}
sed -i "s|# RPi.GPIO|RPi.GPIO|g" ${requirement_file}
sed -i "s|# raspihats|raspihats|g" ${requirement_file}
sed -i "s|# rpi-rf|rpi-rf|g" ${requirement_file}
sed -i "s|# blinkt|blinkt|g" ${requirement_file}
sed -i "s|# fritzconnection|fritzconnection|g" ${requirement_file}
sed -i "s|# pyuserinput|pyuserinput|g" ${requirement_file}
sed -i "s|# evdev|evdev|g" ${requirement_file}
sed -i "s|# smbus-cffi|smbus-cffi|g" ${requirement_file}
sed -i "s|# i2csense|i2csense|g" ${requirement_file}
sed -i "s|# python-eq3bt|python-eq3bt|g" ${requirement_file}
sed -i "s|# pycups|pycups|g" ${requirement_file}
sed -i "s|# homekit|homekit|g" ${requirement_file}
sed -i "s|# decora_wifi|decora_wifi|g" ${requirement_file}
sed -i "s|# decora|decora|g" ${requirement_file}
sed -i "s|# PySwitchbot|PySwitchbot|g" ${requirement_file}
sed -i "s|# pySwitchmate|pySwitchmate|g" ${requirement_file}
sed -i "s|# face_recognition|face_recognition|g" ${requirement_file}
done
displayName: 'Prepare requirements files for Hass.io'
- script: |
sudo docker run --rm -v $(pwd):/data:ro -v $(pwd)/.ssh:/root/.ssh:rw \
homeassistant/$(buildArch)-wheels:$(versionWheels) \
--apk "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;linux-headers;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev" \
--index $(wheelsIndex) \
--requirement requirements_wheels.txt \
--requirement-diff requirements_diff.txt \
--upload rsync \
--remote wheels@$(wheelsHost):/opt/wheels
displayName: 'Run wheels build'
Loading