Revision ff4bb90d1135f1b57db3e4f6e4a2173894aa1b73 authored by st-- on 01 December 2020, 12:56:56 UTC, committed by GitHub on 01 December 2020, 12:56:56 UTC
* Replace len(inducing_variable) with inducing_variable.num inducing property (#1594). Adds support for inducing variables with dynamically changing shape. Change usage from `len(inducing_variable)` to `inducing_variable.num_inducing` instead. Resolves #1578. * HeteroskedasticTFPConditional should construct tensors at class-construction, not at module-import time (#1598)
config.yml
runtest: &runtest
steps:
- checkout
- run:
name: Install GPflow
command: |
pip install -U pip
pip install --use-feature=2020-resolver -e .
pip install --use-feature=2020-resolver -r tests_requirements.txt
- run:
name: Run tests
command: |
pytest -v -W ignore::UserWarning --durations=10 -m "${PYTEST_FILTER}" --cov=./gpflow ./tests
- run:
name: Upload coverage report
command: |
bash <(curl -s https://codecov.io/bash) -t "${CODECOV_TOKEN}"
version: 2.1
jobs:
verify-install:
docker:
- image: circleci/python:3.6-buster
steps:
- checkout
- run:
name: Check installed dependencies are compatible
command: |
pip install --use-feature=2020-resolver --progress-bar=off -e .
pip check -vvv
python -c "import gpflow"
type-check:
docker:
- image: circleci/python:3.6-buster
steps:
- checkout
- run:
name: Install type checker
command: pip install mypy
- run:
name: Run type checker
command: mypy .
unit-test:
<<: *runtest
docker:
- image: circleci/python:3.6-buster
environment:
PYTEST_FILTER: not notebooks
notebook-test:
<<: *runtest
docker:
- image: circleci/python:3.6-buster
environment:
PYTEST_FILTER: notebooks
format-checker:
docker:
- image: circleci/python:3.6-buster
steps:
- checkout
- run:
name: Install black and isort
command: |
pip install black==19.10b0 isort
- run:
name: Run format check
command: |
make format-check
trigger-docs-generation:
docker:
- image: circleci/python:3.6-buster
environment:
ORGANIZATION: GPflow
PROJECT: docs
BRANCH: << pipeline.git.branch >>
steps:
- run:
name: Trigger the Build Job in Docs repo
# Compiled documentation for readthedocs are built and stored in the https://github.com/GPflow/docs/ repository
# For configuration of the doc build, see https://github.com/GPflow/docs/blob/develop/.circleci/config.yml
command: |
BUILD_INFO=$(curl -X POST -H -d \
"{}" \
"https://circleci.com/api/v1/project/$ORGANIZATION/$PROJECT/tree/$BRANCH?circle-token=$DOCS_TOKEN")
deploy:
docker:
- image: circleci/python:3.6-buster
steps:
- checkout
- run:
name: Verify git tag vs. VERSION
command: |
VERSION="v$(cat VERSION | tr -d '\t\r\n ')"
if [ "$VERSION" != "$CIRCLE_TAG" ]; then
echo "The package version ($VERSION) and the latest tag version ($CIRCLE_TAG) are different"
exit 1
fi
- run:
name: Install twine
command: |
pip install twine
- run:
name: Init .pypirc
command: |
echo -e "[pypi]" >> ~/.pypirc
echo -e "username = artemav" >> ~/.pypirc
echo -e "password = $PYPI_PASSWORD" >> ~/.pypirc
- run:
name: Create pip package
command: |
python setup.py bdist_wheel sdist
- run:
name: Upload to PyPI
command: |
twine upload dist/*
workflows:
version: 2.1
build_test_and_deploy:
jobs:
- verify-install:
filters:
tags:
only: /^v[0-9]+(\.[0-9]+)*(-rc[0-9]+)?/
- type-check:
filters:
tags:
only: /^v[0-9]+(\.[0-9]+)*(-rc[0-9]+)?/
- format-checker:
filters:
tags:
only: /^v[0-9]+(\.[0-9]+)*(-rc[0-9]+)?/
- unit-test:
requires:
- format-checker
filters:
tags:
only: /^v[0-9]+(\.[0-9]+)*(-rc[0-9]+)?/
- notebook-test:
requires:
- format-checker
filters:
tags:
only: /^v[0-9]+(\.[0-9]+)*(-rc[0-9]+)?/
- trigger-docs-generation:
requires:
- unit-test
- notebook-test
filters:
branches:
only:
- master
- develop
- deploy:
requires:
- unit-test
- notebook-test
filters:
tags:
only: /^v[0-9]+(\.[0-9]+)*(-rc[0-9]+)?/
branches:
ignore: /.*/

Computing file changes ...