Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
614 commits
Select commit Hold shift + click to select a range
22d93a7
Don't use room setpoint override in climate.opentherm_gw (#22656)
mvn23 Apr 2, 2019
5613e8b
Hass.io discovery flow deconz (#22623)
pvizeli Apr 3, 2019
3453d67
Person schema for merge_packages #21307 (#21703)
kellerza Apr 3, 2019
4f24351
Cast: Fix next/previous track (#22634)
emontnemery Apr 3, 2019
e736521
Fix regression from PR #22396 (#22661)
emontnemery Apr 3, 2019
f294152
Person tests - split from #21703 (#22663)
kellerza Apr 3, 2019
6a41171
Fix trusted networks auth provider warning message (#22671)
awarecan Apr 3, 2019
a7d49e4
Rebrand Cisco Spark notify to be Cisco Webex Teams (#21938)
fbradyirl Apr 3, 2019
7c5846a
Fix #22648 - Utility_meter would try to cancel a non existing task (#…
dgomes Apr 3, 2019
58a8964
Update uvloop to 0.12.2 (#22681)
pvizeli Apr 3, 2019
7066fb0
Fix ffmpeg default extra options (#22682)
pvizeli Apr 3, 2019
b1cca25
Deal with cover assumed state (#22673)
balloob Apr 3, 2019
b797b15
Add mobile_app notify platform (#22580)
robbiet480 Apr 3, 2019
625c8e0
Shutdown ZHAGateway on hass closing. (#22646)
Adminiuga Apr 3, 2019
048b100
Clean up docstrings (#22679)
cgtobi Apr 3, 2019
b4fc1d7
Fix trend binary sensor and tests (#22686)
awarecan Apr 3, 2019
3872ac9
Fix citybikes (#22683)
MartinHjelmare Apr 3, 2019
14da2fd
Google Assistant: Add support for open/close binary sensors (#22674)
balloob Apr 3, 2019
51c7cbc
Add mobile_app notify platform (#22580)
robbiet480 Apr 3, 2019
81a659b
Hass.io discovery flow deconz (#22623)
pvizeli Apr 3, 2019
e90d980
Don't use room setpoint override in climate.opentherm_gw (#22656)
mvn23 Apr 2, 2019
167d8cb
Fix #22648 - Utility_meter would try to cancel a non existing task (#…
dgomes Apr 3, 2019
9eb4f89
Fix trusted networks auth provider warning message (#22671)
awarecan Apr 3, 2019
7cf92c2
Deal with cover assumed state (#22673)
balloob Apr 3, 2019
836aab2
Fix ffmpeg default extra options (#22682)
pvizeli Apr 3, 2019
2e8c690
A very basic Circleci setup (#22503)
awarecan Mar 28, 2019
273007f
Fix Circleci config (#22509)
awarecan Mar 28, 2019
5dd444f
Set up Circleci workflow (#22519)
awarecan Mar 29, 2019
2c10563
Config CircleCI workflow (#22590)
awarecan Apr 1, 2019
b30c140
Require static-check success first for rest of workflow (#22635)
awarecan Apr 2, 2019
685de23
Run PyLint under Python 3.5 (#22642)
balloob Apr 2, 2019
63d8dd9
Bumped version to 0.91.0
balloob Apr 3, 2019
9864413
Update light/services.yaml (#22662)
emontnemery Apr 3, 2019
360caa3
Merge pull request #22688 from home-assistant/rc
balloob Apr 3, 2019
a85bcce
Fix connection loss issues for Harmony (#22687)
ehendrix23 Apr 4, 2019
6aac49d
Remove aws_* notify platforms (#22698)
awarecan Apr 4, 2019
cfe4cf3
Add manifests (#22699)
balloob Apr 4, 2019
d81a627
Add a .codecov.yml to control coverage statuses and enable notificati…
robbiet480 Apr 4, 2019
a5a926b
Raise ConfigEntryNotReady for MQTT connection exception (#22540)
aav7fl Apr 4, 2019
8e39939
Add device_class_power to sensor (#22691)
Apr 4, 2019
afac099
Remove all config deprecations invalidated in 0.91 (#22704)
rohankapoorcom Apr 4, 2019
0c28416
Validate manifests in CI (#22708)
balloob Apr 4, 2019
d5307c0
Generate codeowners based on manifests (#22705)
balloob Apr 4, 2019
f956440
Activate codeowners-mention via GitHub actions
robbiet480 Apr 4, 2019
704983a
Fix hassio CODEOWNER to be the actual team name, hass-io
robbiet480 Apr 4, 2019
d231d59
Remove deprecated Insteon components (#22710)
balloob Apr 4, 2019
beb6ddf
Change URL handling (#22713)
pvizeli Apr 4, 2019
754c4d2
Allow users to set encoding of mikrotik connection (#22715)
robbiet480 Apr 4, 2019
5d7c29d
Only post coverage comment if coverage changes (#22721)
MartinHjelmare Apr 4, 2019
172ede2
Add 10 additional language options to DarkSky (#22719)
VirtualL Apr 4, 2019
e29eb4f
fix device class lookup for binary sensors (#22724)
dmulcahey Apr 4, 2019
9bb88a6
Fix ingress routing with / (#22728)
pvizeli Apr 4, 2019
07d739c
Add N26 component (#22684)
markusressel Apr 4, 2019
0438dff
Bump aioambient to 0.2.0 (#22736)
bachya Apr 4, 2019
96adbfd
Fix incorrect "Unavailable" Ambient sensors (#22734)
bachya Apr 4, 2019
b9ec623
Bump pywebpush to latest 1.9.2 (#22737)
perosb Apr 4, 2019
b50afec
Support multiple deCONZ gateways (#22449)
Kane610 Apr 5, 2019
6996fec
Fix tado turn on off (#22291)
Apr 5, 2019
eadc1e0
add device class signal strength (#22738)
Apr 5, 2019
b130c43
Update pywebpush version in manifest.json
robbiet480 Apr 5, 2019
be579b7
Update PR template requirements to point to the manifest (#22751)
rohankapoorcom Apr 5, 2019
6c5f0b7
It doesnt count as a fail if you catch it within 2 minutes
robbiet480 Apr 5, 2019
d15eedc
Generate requirements_* from manifests (#22718)
rohankapoorcom Apr 5, 2019
8b77298
More fallout from #22737 and b130c433c94873c65701074a237d2af86a63a0fe
robbiet480 Apr 5, 2019
563e4fb
Add deprecation warning to embedded broker (#22753)
emontnemery Apr 5, 2019
a75b151
fix flaky test (#22748)
hunterjm Apr 5, 2019
8c657d4
use the input stream codec as the template for the output streams (#2…
hunterjm Apr 5, 2019
82a1c0d
Update Foscam stream for newer models (#22744)
CWhits Apr 5, 2019
71e120c
Fix chunk streaming (#22730)
pvizeli Apr 5, 2019
876b5fb
fixes configuration flow #22706 (#22754)
fredrike Apr 5, 2019
8eb93a8
Change URL handling (#22713)
pvizeli Apr 4, 2019
193b608
fix device class lookup for binary sensors (#22724)
dmulcahey Apr 4, 2019
ec07aff
Fix ingress routing with / (#22728)
pvizeli Apr 4, 2019
79facb8
Fix chunk streaming (#22730)
pvizeli Apr 5, 2019
bab966f
Fix incorrect "Unavailable" Ambient sensors (#22734)
bachya Apr 4, 2019
74a7d41
Bump aioambient to 0.2.0 (#22736)
bachya Apr 4, 2019
dc185b9
Update Foscam stream for newer models (#22744)
CWhits Apr 5, 2019
5252c92
use the input stream codec as the template for the output streams (#2…
hunterjm Apr 5, 2019
e9d55bf
fixes configuration flow #22706 (#22754)
fredrike Apr 5, 2019
cd3f51f
Bumped version to 0.91.1
balloob Apr 5, 2019
4b877dd
Cleanup cookie handling (#22757)
pvizeli Apr 5, 2019
9198047
Cleanup cookie handling (#22757)
pvizeli Apr 5, 2019
5e7fdb4
Fix yeelight recorder warning (#22756)
zewelor Apr 5, 2019
9eb3272
Fix yeelight recorder warning (#22756)
zewelor Apr 5, 2019
c209236
Merge pull request #22755 from home-assistant/rc
pvizeli Apr 5, 2019
323dc5b
Improve exception handling in ADS integration (#22627)
carstenschroeder Apr 5, 2019
879967b
Correctly load Mopar's config (#22771)
rohankapoorcom Apr 5, 2019
b3e60df
Add google hangouts manual authentication option (#22158)
teliov Apr 5, 2019
008b641
Axis - support stream (#22593)
Kane610 Apr 5, 2019
7a33dc5
update core dependencies due to pywebpush update (#22767)
perosb Apr 5, 2019
d1bf470
deCONZ multiple gateways fixup (#22774)
Kane610 Apr 5, 2019
144632a
Fix konnected unique_id computation for switches (#22777)
heythisisnate Apr 5, 2019
8dfbfae
ZHA Light debug logging. (#22776)
Adminiuga Apr 5, 2019
192ed90
make the custom polling actually request state (#22778)
dmulcahey Apr 5, 2019
a44966f
Correctly load Mopar's config (#22771)
rohankapoorcom Apr 5, 2019
dbe53a3
Fix konnected unique_id computation for switches (#22777)
heythisisnate Apr 5, 2019
f004f44
make the custom polling actually request state (#22778)
dmulcahey Apr 5, 2019
a69b1a3
ZHA Light debug logging. (#22776)
Adminiuga Apr 5, 2019
2b490e4
Add optional rtsp_port for Foscam (#22786)
CWhits Apr 6, 2019
8b3cf2d
Update homeassistant-pyozw 0.1.4 (#22794)
pvizeli Apr 6, 2019
6351c5c
Add OASA Telematics greek public transport sensor component (#22196)
panosmz Apr 6, 2019
a747eaa
Remove pycryptodome requirement for Android TV (#22552)
JeffLIrion Apr 6, 2019
87cabc9
Update version of python_awair to 0.0.4 (#22809)
ahayworth Apr 7, 2019
55619da
Remove unused group status (#22791)
emontnemery Apr 7, 2019
353fca3
Raise severity of MQTT callback deprecation warning (#22792)
emontnemery Apr 7, 2019
8c17b2f
Bump raincloud dependency to fix broken integration: Fixes #22422 (#2…
vanstinator Apr 7, 2019
c8eebb6
Add HmIP-SMO to Homematic IP (#22802)
Apr 7, 2019
3ce6be6
Add a new mobile_app webhook command to get config (#22813)
robbiet480 Apr 7, 2019
6492809
Fix for optional values in the update_location webhook call (#22817)
robbiet480 Apr 7, 2019
83fb363
Sort configuration schema. (#22835)
emontnemery Apr 7, 2019
842534d
Use dict[key] for required config keys and keys with default values. …
emontnemery Apr 7, 2019
bb5c18f
Use relative imports in yeelight (#22839)
zewelor Apr 7, 2019
a91e79e
Improve yeelight imports (#22804)
zewelor Apr 7, 2019
f62d1d8
Optimize yeelight signal handling (#22806)
zewelor Apr 7, 2019
439197e
Use dict[key] for required config keys and keys with default values. …
emontnemery Apr 7, 2019
a4e7708
Use dict[key] for required config keys and keys with default values. …
emontnemery Apr 7, 2019
b1213b7
Use dict[key] for required config keys and keys with default values. …
emontnemery Apr 7, 2019
2a62906
Use dict[key] for required config keys and keys with default values. …
emontnemery Apr 7, 2019
dbb42e5
Use dict[key] for required config keys and keys with default values. …
emontnemery Apr 7, 2019
58220a9
Use dict[key] for required config keys and keys with default values. …
emontnemery Apr 7, 2019
fa2e07d
Use dict[key] for required config keys and keys with default values. …
emontnemery Apr 7, 2019
02b7fd9
Fix for rate limits should be optional (#22823)
robbiet480 Apr 7, 2019
c7a49e0
Fix glances docker container errors (#22846)
roblandry Apr 7, 2019
3fde1d3
coerce duration and lookback to int so they can be used in template a…
hunterjm Apr 7, 2019
abe85c7
Fix flaky test (#22850)
awarecan Apr 7, 2019
e407226
Fix yeelight possible array change during iteration (#22849)
zewelor Apr 7, 2019
a40a0c4
Bump aioambient to 0.3.0 (#22855)
bachya Apr 7, 2019
3086e1d
get temp and color for light during init and poll (#22847)
dmulcahey Apr 8, 2019
8bebd85
Fix manifest codeowners (#22871)
cdce8p Apr 8, 2019
4982c0b
Added REQUIREMENTS back to Ambient (#22875)
bachya Apr 8, 2019
2d287d2
Fix content_type handling ingress (#22864)
pvizeli Apr 8, 2019
d8119b2
Fix tado turn on off (#22291)
Apr 5, 2019
ed9d1e7
Add new mobile_app webhook command: get_zones (#22604)
robbiet480 Apr 1, 2019
7a8aa79
Add optional rtsp_port for Foscam (#22786)
CWhits Apr 6, 2019
abb531c
Improve yeelight imports (#22804)
zewelor Apr 7, 2019
82f6bed
Add a new mobile_app webhook command to get config (#22813)
robbiet480 Apr 7, 2019
474fc21
Fix for optional values in the update_location webhook call (#22817)
robbiet480 Apr 7, 2019
f51e8c3
coerce duration and lookback to int so they can be used in template a…
hunterjm Apr 7, 2019
236e484
Fix for rate limits should be optional (#22823)
robbiet480 Apr 7, 2019
c5d4b7c
Use relative imports in yeelight (#22839)
zewelor Apr 7, 2019
3f15b6b
Fix yeelight possible array change during iteration (#22849)
zewelor Apr 7, 2019
3a79e37
Fix content_type handling ingress (#22864)
pvizeli Apr 8, 2019
3f73973
Bumped version to 0.91.2
pvizeli Apr 8, 2019
137d804
Minor sensor fixes (#22884)
robbiet480 Apr 8, 2019
a04d44d
Minor sensor fixes (#22884)
robbiet480 Apr 8, 2019
8f9c200
Merge pull request #22883 from home-assistant/rc
pvizeli Apr 8, 2019
a4ffc9e
add myself as codeowner (#22885)
fbradyirl Apr 8, 2019
a0d6e08
Bump pypi module version for enigma2 (#22886)
fbradyirl Apr 8, 2019
45a4359
Fix position of add_entities of binary sensor (#22866)
AZDane Apr 8, 2019
8cc5cc7
Add zwave network key validator (#22785)
cgtobi Apr 8, 2019
d8c7160
force_update=False (not None) (#22867)
akasma74 Apr 8, 2019
36c135c
Stream support for Doorbird component (#22876)
oblogic7 Apr 8, 2019
c9ec166
Add MQTT climate two-point target temperature support (#22860)
OttoWinter Apr 8, 2019
6c53528
Update harmony manifest to match REQUIREMENTS in module (#22826)
rohankapoorcom Apr 8, 2019
5727bee
Add ESPHome Cover position/tilt support (#22858)
OttoWinter Apr 8, 2019
49a2f5a
Use dict[key] for required config keys and keys with default values. …
emontnemery Apr 8, 2019
55c8417
fix aiohttp ServerDisconnectedError in Daikin (#22880)
fredrike Apr 8, 2019
d577955
Fix Sonos handling of unsupported favorites (#22906)
amelchio Apr 9, 2019
38f063a
Fix HEOS discovery could result in multiple config entries (#22903)
andrewsayre Apr 9, 2019
1a05f7b
Initial Fibaro HC Climate support (#20256)
pbalogh77 Apr 9, 2019
590eead
Test fixes (#22911)
balloob Apr 9, 2019
43487aa
Stream Timestamp Fixes (#22912)
hunterjm Apr 9, 2019
6ee23bd
Add Somfy MyLink support for Covers (#22514)
bendews Apr 9, 2019
75bed93
Add cloudhook and remote UI vals to get_config (#22921)
robbiet480 Apr 9, 2019
64ea131
Fix ZHA Light color conversion. (#22909)
Adminiuga Apr 9, 2019
fd8d974
More Mobile app sensor fixes (#22914)
robbiet480 Apr 9, 2019
d48fe4c
Added features to Concord232 Alarm Panel (#22892)
AZDane Apr 9, 2019
88694c9
Camera component for BOM integration (#22816)
Apr 9, 2019
f81ce0b
Add 'Assumed State' property to Somfy MyLink covers (#22922)
bendews Apr 9, 2019
a48c0f2
Logi Circle public API refactor and config flow (#20624)
evanjd Apr 9, 2019
34bb31f
Add amcrest binary_sensors (#22703)
pnbruckner Apr 9, 2019
0d2646b
Update translations
balloob Apr 9, 2019
4110bd0
Add support for when device is not logged in to HEOS (#22913)
andrewsayre Apr 9, 2019
cac00f5
Test for circular dependencies using manifests (#22908)
balloob Apr 9, 2019
4803f31
bump raincloudy to 0.0.7 (#22935)
vanstinator Apr 9, 2019
58ec77b
Binary sensors for netgear_lte (#22902)
amelchio Apr 9, 2019
c82d2cb
Cherry pick test fix (#22939)
awarecan Apr 9, 2019
6244a39
Hide unsupported Sonos favorites (#22940)
amelchio Apr 9, 2019
c4e31bc
Add linked battery sensor to HomeKit (#22788)
adrum Apr 9, 2019
8582e39
Remove introduction component (#22944)
balloob Apr 9, 2019
e48ef7f
Fix broken platform components (#22943)
balloob Apr 9, 2019
37f3ecc
Bugfix: pass protocol out of header to application layer (#22955)
pvizeli Apr 10, 2019
51e6d53
Add color setting trait (#22894)
balloob Apr 10, 2019
6d24120
Fix HomeKit fan speed conversion (#22951)
cdce8p Apr 10, 2019
a833736
Add sms_total sensor to netgear_lte (#22954)
amelchio Apr 10, 2019
5d3aac8
Use ConfigEntryNotReady when setting up Daikin (#22901)
fredrike Apr 10, 2019
bbedf09
Add functionality to the version sensor (#22896)
mgiako Apr 10, 2019
bc5f0ff
Use dict[key] for required config keys and keys with default values o…
emontnemery Apr 10, 2019
fa8a4de
Upgrade pytest to 4.4.0 (#22822)
scop Apr 10, 2019
7058249
Uprade asynctest to 0.12.3 (#22824)
scop Apr 10, 2019
6156bb4
Upgrade Sphinx to 2.0.1 (#22960)
fabaff Apr 10, 2019
3d5ee0e
Upgrade youtube_dl to 2019.04.07 (#22961)
fabaff Apr 10, 2019
6912711
Update ordering (#22963)
fabaff Apr 10, 2019
f4309df
Add missing attribution (#22964)
fabaff Apr 10, 2019
be51a3a
Upgrade ruamel.yaml to 0.15.91 (#22965)
fabaff Apr 10, 2019
9e56283
Fix position of add_entities of binary sensor (#22866)
AZDane Apr 8, 2019
f531ca6
Set pytz>=2019.01 (#22966)
fabaff Apr 10, 2019
a267df2
More Mobile app sensor fixes (#22914)
robbiet480 Apr 9, 2019
e7a17b7
Add cloudhook and remote UI vals to get_config (#22921)
robbiet480 Apr 9, 2019
eab575e
Bugfix: pass protocol out of header to application layer (#22955)
pvizeli Apr 10, 2019
984af45
Bumped version to 0.91.3
pvizeli Apr 10, 2019
536356c
Merge pull request #22969 from home-assistant/rc
pvizeli Apr 10, 2019
fc7a187
Update uvloop 0.12.2
pvizeli Apr 10, 2019
7624d0e
Check for supported features in media_player services (#22878)
andrewsayre Apr 10, 2019
72af427
Add ESPHome climate support (#22859)
OttoWinter Apr 10, 2019
6463b81
Fix deCONZ change entity_id bug (#22974)
Kane610 Apr 10, 2019
38d92b2
Fix optimistic mode and add tests (#22899)
emontnemery Apr 10, 2019
7862fdd
Fix myq increasing number of network connections (#22432)
ehendrix23 Apr 10, 2019
153c695
Add watchdog reset to on_connect in Ambient (#22956)
bachya Apr 10, 2019
c81b195
Updated frontend to 20190410.0
balloob Apr 10, 2019
e9d9861
Update translations
balloob Apr 10, 2019
373b200
Catch connection reset (#22982)
balloob Apr 10, 2019
c2cfc4a
Stream support for Netatmo cameras (#22952)
cgtobi Apr 10, 2019
f33bf71
Google Assistant: Migrate light setting trait to use HSV color spectr…
balloob Apr 11, 2019
f5c6771
Make inlined JSON example valid
robbiet480 Apr 11, 2019
8a81286
Bump pyubee version to support more models and detect model automatic…
mzdrale Apr 11, 2019
6ba9ccf
Load requirements and dependencies from manifests. Fallback to curren…
rohankapoorcom Apr 11, 2019
d078e50
Add device HmIP-MIOB to Homematic IP Cloud (#22975)
Apr 11, 2019
02347df
Prevent the projector to toogle on/off (#22985)
stbkde Apr 11, 2019
ac7f1a7
Fix test failed in py35 (#23002)
awarecan Apr 11, 2019
8bfe77a
Add aftership package details and add/remove services (#22275)
iantrich Apr 11, 2019
7e39e14
Merge remote-tracking branch 'origin/master' into dev
balloob Apr 11, 2019
7303d56
Mobile App: Remove component loading support (#23025)
robbiet480 Apr 12, 2019
57f1770
Specify configurator as dependency (#23030)
balloob Apr 12, 2019
c94b031
Fix unnecessary hass.components interaction (#23029)
balloob Apr 12, 2019
6c51592
Instituto Geográfico Nacional Sismología (Earthquakes) Feed platform …
exxamalte Apr 12, 2019
3d441df
Update HAP-python to 2.5.0 (#23031)
adrum Apr 12, 2019
7d46ed0
Remove expired 17track.net packages from entity registry (#23001)
bachya Apr 12, 2019
c8375be
Replace get_platform (#23014)
cgarwood Apr 12, 2019
f7d4c48
Convert service helper to use async_get_integration (#23023)
balloob Apr 12, 2019
2c07bfb
Remove dependencies and requirements (#23024)
cgtobi Apr 12, 2019
f269135
Migrate check-config to use get_integration (#23026)
balloob Apr 12, 2019
0a3e11a
Move Broadlink services to component (#21465)
elupus Apr 12, 2019
51508d6
Bandage telegram bot (#23022)
dgomes Apr 12, 2019
05f267d
Update RainMachine sensors in parallel (#23057)
bachya Apr 12, 2019
b767232
Only load stream when av package available (#23058)
balloob Apr 13, 2019
3f69d02
Convert translation helper to use async_get_integration (#23054)
balloob Apr 13, 2019
73a473a
Allow aws credential skip validation (#22991)
awarecan Apr 13, 2019
18cf827
Upgrade python-slugify to 3.0.2 (#22997)
BKPepe Apr 13, 2019
2f17529
Add Satel_integra switchable outputs and multiple partitions (#21992)
c-soft Apr 13, 2019
479511e
Bugfix ZHA device_removed() handler. (#23074)
Adminiuga Apr 13, 2019
2527731
Fix websocket connection sensor (#22923)
Swamp-Ig Apr 13, 2019
7a6950f
Validate data packet format on config validation (#23062)
elupus Apr 13, 2019
fc48113
Create decorator to check service permissions (#22667)
bachya Apr 13, 2019
e834345
Validate component usage (#23037)
balloob Apr 13, 2019
46ee7d7
Fix test (#23081)
bachya Apr 13, 2019
8c89e26
HEOS confirm discovered devices before adding (#23063)
andrewsayre Apr 13, 2019
39264af
Add missing async for tplink's async_setup_platform methods (#23066)
rytilahti Apr 13, 2019
0a0975b
Add support for Stiebel Eltron heat pumps (#21199)
fucm Apr 13, 2019
56b08a6
Ensure OpenUV service checks permissions (#22668)
bachya Apr 13, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
270 changes: 270 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,270 @@
# Python CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-python/ for more details
#
version: 2.1

executors:

python:
parameters:
tag:
type: string
default: latest
docker:
- image: circleci/python:<< parameters.tag >>
- image: circleci/buildpack-deps:stretch
working_directory: ~/repo

commands:

docker-prereqs:
description: Set up docker prerequisite requirement
steps:
- run: sudo apt-get update && sudo apt-get install -y --no-install-recommends
libudev-dev libavformat-dev libavcodec-dev libavdevice-dev libavutil-dev
libswscale-dev libswresample-dev libavfilter-dev

install-requirements:
description: Set up venv and install requirements python packages with cache support
parameters:
python:
type: string
default: latest
all:
description: pip install -r requirements_all.txt
type: boolean
default: false
test:
description: pip install -r requirements_test.txt
type: boolean
default: false
test_all:
description: pip install -r requirements_test_all.txt
type: boolean
default: false
steps:
- restore_cache:
keys:
- v1-<< parameters.python >>-{{ checksum "homeassistant/package_constraints.txt" }}-<<# parameters.all >>{{ checksum "requirements_all.txt" }}<</ parameters.all>>-<<# parameters.test >>{{ checksum "requirements_test.txt" }}<</ parameters.test>>-<<# parameters.test_all >>{{ checksum "requirements_test_all.txt" }}<</ parameters.test_all>>
- run:
name: install dependencies
command: |
python3 -m venv venv
. venv/bin/activate
pip install -q -U pip
pip install -q -U setuptools
<<# parameters.all >>pip install -q --progress-bar off -r requirements_all.txt -c homeassistant/package_constraints.txt<</ parameters.all>>
<<# parameters.test >>pip install -q --progress-bar off -r requirements_test.txt -c homeassistant/package_constraints.txt<</ parameters.test>>
<<# parameters.test_all >>pip install -q --progress-bar off -r requirements_test_all.txt -c homeassistant/package_constraints.txt<</ parameters.test_all>>
- save_cache:
paths:
- ./venv
key: v1-<< parameters.python >>-{{ checksum "homeassistant/package_constraints.txt" }}-<<# parameters.all >>{{ checksum "requirements_all.txt" }}<</ parameters.all>>-<<# parameters.test >>{{ checksum "requirements_test.txt" }}<</ parameters.test>>-<<# parameters.test_all >>{{ checksum "requirements_test_all.txt" }}<</ parameters.test_all>>

install:
description: Install Home Assistant
steps:
- run:
name: install
command: |
. venv/bin/activate
pip install -q --progress-bar off -e .

jobs:

static-check:
executor:
name: python
tag: 3.5.5-stretch

steps:
- checkout
- docker-prereqs
- install-requirements:
python: 3.5.5-stretch
test: true

- run:
name: run static check
command: |
. venv/bin/activate
flake8

- run:
name: run static type check
command: |
. venv/bin/activate
TYPING_FILES=$(cat mypyrc)
mypy $TYPING_FILES

- install

- run:
name: validate manifests
command: |
. venv/bin/activate
python -m script.hassfest validate

- run:
name: run gen_requirements_all
command: |
. venv/bin/activate
python script/gen_requirements_all.py validate

pre-install-all-requirements:
executor:
name: python
tag: 3.5.5-stretch

steps:
- checkout
- docker-prereqs
- install-requirements:
python: 3.5.5-stretch
all: true
test: true

pylint:
executor:
name: python
tag: 3.5.5-stretch
parallelism: 2

steps:
- checkout
- docker-prereqs
- install-requirements:
python: 3.5.5-stretch
all: true
test: true
- install

- run:
name: run pylint
command: |
. venv/bin/activate
PYFILES=$(circleci tests glob "homeassistant/**/*.py" | circleci tests split)
pylint ${PYFILES}

pre-test:
parameters:
python:
type: string
executor:
name: python
tag: << parameters.python >>

steps:
- checkout
- docker-prereqs
- install-requirements:
python: << parameters.python >>
test_all: true

test:
parameters:
python:
type: string
executor:
name: python
tag: << parameters.python >>
parallelism: 2

steps:
- checkout
- docker-prereqs
- install-requirements:
python: << parameters.python >>
test_all: true
- install

- run:
name: run tests with code coverage
command: |
. venv/bin/activate
CC_SWITCH="--cov --cov-report="
TESTFILES=$(circleci tests glob "tests/**/test_*.py" | circleci tests split --split-by=timings)
pytest --timeout=9 --durations=10 --junitxml=test-reports/homeassistant/results.xml -qq -o junit_family=xunit2 -o junit_suite_name=homeassistant -o console_output_style=count -p no:sugar $CC_SWITCH -- ${TESTFILES}
script/check_dirty
codecov

- store_test_results:
path: test-reports

- store_artifacts:
path: htmlcov
destination: cov-reports

- store_artifacts:
path: test-reports
destination: test-reports

# This job use machine executor, e.g. classic CircleCI VM because we need both lokalise-cli and a Python runtime.
# Classic CircleCI included python 2.7.12 and python 3.5.2 managed by pyenv, the Python version may need change if
# CircleCI changed its VM in future.
upload-translations:
machine: true

steps:
- checkout

- run:
name: upload english translations
command: |
pyenv versions
pyenv global 3.5.2
docker pull lokalise/lokalise-cli@sha256:2198814ebddfda56ee041a4b427521757dd57f75415ea9693696a64c550cef21
script/translations_upload

workflows:
version: 2
build:
jobs:
- static-check
- pre-install-all-requirements:
requires:
- static-check
- pylint:
requires:
- pre-install-all-requirements
- pre-test:
name: pre-test 3.5.5
requires:
- static-check
python: 3.5.5-stretch
- pre-test:
name: pre-test 3.6
requires:
- static-check
python: 3.6-stretch
- pre-test:
name: pre-test 3.7
requires:
- static-check
python: 3.7-stretch
- test:
name: test 3.5.5
requires:
- pre-test 3.5.5
python: 3.5.5-stretch
- test:
name: test 3.6
requires:
- pre-test 3.6
python: 3.6-stretch
- test:
name: test 3.7
requires:
- pre-test 3.7
python: 3.7-stretch
# CircleCI does not allow failure yet
# - test:
# name: test 3.8
# python: 3.8-rc-stretch
- upload-translations:
requires:
- static-check
filters:
branches:
only: dev
15 changes: 15 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
codecov:
branch: dev
coverage:
status:
project:
default:
target: 90
threshold: 0.09
notify:
# Notify codecov room in Discord. The webhook URL (encrypted below) ends in /slack which is why we configure a Slack notification.
slack:
default:
url: "secret:TgWDUM4Jw0w7wMJxuxNF/yhSOHglIo1fGwInJnRLEVPy2P2aLimkoK1mtKCowH5TFw+baUXVXT3eAqefbdvIuM8BjRR4aRji95C6CYyD0QHy4N8i7nn1SQkWDPpS8IthYTg07rUDF7s5guurkKv2RrgoCdnnqjAMSzHoExMOF7xUmblMdhBTWJgBpWEhASJy85w/xxjlsE1xoTkzeJu9Q67pTXtRcn+5kb5/vIzPSYg="
comment:
require_changes: yes
Loading