Delete config.yml (#25181)
parent
8a6515936d
commit
91d065314c
|
@ -1,272 +0,0 @@
|
|||
# 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>>
|
||||
no_output_timeout: 15m
|
||||
- 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 homeassistant tests script
|
||||
|
||||
- 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}
|
||||
no_output_timeout: 15m
|
||||
|
||||
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
|
Loading…
Reference in New Issue