Skip to content

Commit

Permalink
Merge pull request kedro-org#607 from quantumblacklabs/release/0.16.0
Browse files Browse the repository at this point in the history
Bump version to 0.16.0
  • Loading branch information
limdauto committed May 20, 2020
2 parents b8bd47c + 7f73874 commit c19ca9e
Show file tree
Hide file tree
Showing 424 changed files with 14,648 additions and 22,196 deletions.
300 changes: 159 additions & 141 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,168 +1,182 @@
version: 2

images:
- &py35 quantumblacklabs/kedro_builder:3.5
- &py36 quantumblacklabs/kedro_builder:3.6
- &py37 quantumblacklabs/kedro_builder:3.7

utils:
setup_conda: &setup_conda
name: Activate conda environment
command: |
echo ". /home/circleci/miniconda/etc/profile.d/conda.sh" >> $BASH_ENV
echo "conda deactivate; conda activate kedro_builder" >> $BASH_ENV
setup_requirements: &setup_requirements
name: Install PIP dependencies
command: |
# echo python version for debugging
echo "Python version: $(python --version 2>&1)"
# Install pip setuptools
make install-pip-setuptools
# Install requirements
pip install -r requirements.txt -U
# venv is required for some pre-commit hooks
conda install -y virtualenv
# Install test requirements
pip install -r test_requirements.txt -U
setup_pre_commit: &setup_pre_commit
name: Install pre-commit hooks
command: |
pre-commit install --install-hooks
pre-commit install --hook-type pre-push
linters: &linters
name: Run pylint and flake8
command: |
make lint
unit_tests: &unit_tests
name: Run tests
command: |
make test
e2e_tests: &e2e_tests
name: Run all end to end tests
command: |
make e2e-tests
build_docs: &build_docs # NOTE: doesn't work on python 3.5
name: Build documentation
command: |
make build-docs
check_legal: &check_legal
name: Check for legal compliance
command: |
make legal
pip_compile: &pip_compile
name: pip-compile requirements file
command: |
make pip-compile
steps_unit_tests: &steps_unit_tests
version: 2.1

executors:
py36:
docker:
- image: 350138855857.dkr.ecr.eu-west-2.amazonaws.com/kedro-builder:3.6
py37:
docker:
- image: 350138855857.dkr.ecr.eu-west-2.amazonaws.com/kedro-builder:3.7
py38:
docker:
- image: 350138855857.dkr.ecr.eu-west-2.amazonaws.com/kedro-builder:3.8


commands:
setup_conda:
description: Activate conda environment
steps:
- run:
name: Run conda.sh
command: echo ". /home/circleci/miniconda/etc/profile.d/conda.sh" >> $BASH_ENV
- run:
name: Activate conda environment
command: echo "conda deactivate; conda activate kedro_builder" >> $BASH_ENV

setup_requirements:
description: Install PIP dependencies
steps:
- run:
name: Install pip setuptools
command: make install-pip-setuptools
- run:
name: Install requirements
command: pip install -r requirements.txt -U
- run:
name: Install venv for some pre-commit hooks
command: conda install -y virtualenv
- run:
name: Install test requirements
command: pip install -r test_requirements.txt -U
- run:
# Since recently Spark installation for some reason does not have enough permissions to execute
# /home/circleci/miniconda/envs/kedro_builder/lib/python3.X/site-packages/pyspark/bin/spark-class.
# So fixing it manually here.
name: Fix Spark permissions
command: sudo chmod -R u+x /home/circleci/miniconda/envs/kedro_builder/lib/
- run:
name: Print Python environment
command: make print-python-env
- run:
name: Pip freeze
command: pip freeze

setup_pre_commit:
description: Install pre-commit hooks
steps:
- run:
name: Install pre-commit hooks
command: pre-commit install --install-hooks
- run:
name: Run pre-commit hooks
command: pre-commit install --hook-type pre-push

unit_tests:
description: Run unit tests
steps:
- checkout
- run: *setup_conda
- run: *setup_requirements
- run: *unit_tests
- setup_conda
- setup_requirements
- run:
name: Run unit tests
command: make test

steps_linters: &steps_linters
lint:
description: Run linters
steps:
- checkout
- run: *setup_conda
- run: *setup_requirements
- run: *setup_pre_commit
- run: *linters
- run: *check_legal
- setup_conda
- setup_requirements
- setup_pre_commit
- run:
name: Run linters
command: make lint
- run:
name: Check legal headers
command: make legal

steps_e2e_tests: &steps_e2e_tests
e2e_tests:
description: Run all end to end tests
steps:
- checkout
- run: *setup_conda
- run: *setup_requirements
- run: *e2e_tests
- setup_conda
- setup_requirements
- run:
name: Run e2e tests
command: make e2e-tests

steps_build_docs: &steps_build_docs # NOTE: requires python3.6+
build_docs:
description: Build docs
steps:
- checkout
- run: *setup_conda
- run: *setup_requirements
- run: *build_docs
- setup_conda
- setup_requirements
- run:
name: Build docs
command: make build-docs

steps_pip_compile: &steps_pip_compile
pip_compile:
description: Pip-compile requirements file
steps:
- checkout
- run: *setup_conda
- run: *setup_requirements
- run: *pip_compile
- setup_conda
- setup_requirements
- run:
name: Pip-compile requirements file
command: make pip-compile

jobs:
unit_tests_35:
docker:
- image: *py35
<<: *steps_unit_tests

linters_35:
docker:
- image: *py35
<<: *steps_linters

e2e_tests_35:
docker:
- image: *py35
<<: *steps_e2e_tests

unit_tests_36:
docker:
- image: *py36
<<: *steps_unit_tests
executor: py36
steps: [unit_tests]

linters_36:
docker:
- image: *py36
<<: *steps_linters
executor: py36
steps: [lint]

e2e_tests_36:
docker:
- image: *py36
<<: *steps_e2e_tests
executor: py36
steps: [e2e_tests]

docs_36:
docker:
- image: *py36
<<: *steps_build_docs
executor: py36
steps: [build_docs]

unit_tests_37:
docker:
- image: *py37
<<: *steps_unit_tests
executor: py37
steps: [unit_tests]

linters_37:
docker:
- image: *py37
<<: *steps_linters
executor: py37
steps: [lint]

e2e_tests_37:
docker:
- image: *py37
<<: *steps_e2e_tests
executor: py37
steps: [e2e_tests]

docs_37:
docker:
- image: *py37
<<: *steps_build_docs
executor: py37
steps: [build_docs]

pip_compile:
docker:
- image: *py37
<<: *steps_pip_compile
unit_tests_38:
executor: py38
steps:
- checkout
- setup_conda
- setup_requirements
- run:
name: Run unit tests without Spark
command: make test-no-spark

linters_38:
executor: py38
steps: [lint]

e2e_tests_38:
executor: py38
steps: [e2e_tests]

pip_compile_36:
executor: py36
steps: [pip_compile]

pip_compile_37:
executor: py37
steps: [pip_compile]

pip_compile_38:
executor: py38
steps: [pip_compile]

all_circleci_checks_succeeded:
docker:
Expand All @@ -177,9 +191,6 @@ workflows:
version: 2
regular:
jobs:
- unit_tests_35
- linters_35
- e2e_tests_35
- unit_tests_36
- linters_36
- e2e_tests_36
Expand All @@ -188,12 +199,14 @@ workflows:
- linters_37
- e2e_tests_37
- docs_37
- pip_compile
- unit_tests_38
- linters_38
- e2e_tests_38
- pip_compile_36
- pip_compile_37
- pip_compile_38
- all_circleci_checks_succeeded:
requires:
- unit_tests_35
- linters_35
- e2e_tests_35
- unit_tests_36
- linters_36
- e2e_tests_36
Expand All @@ -202,4 +215,9 @@ workflows:
- linters_37
- e2e_tests_37
- docs_37
- pip_compile
- unit_tests_38
- linters_38
- e2e_tests_38
- pip_compile_36
- pip_compile_37
- pip_compile_38
8 changes: 0 additions & 8 deletions .coveragerc

This file was deleted.

7 changes: 0 additions & 7 deletions .flake8

This file was deleted.

Loading

0 comments on commit c19ca9e

Please sign in to comment.