summaryrefslogtreecommitdiff
path: root/tox.ini
diff options
context:
space:
mode:
authorBenjamin Schubert <bschubert15@bloomberg.net>2019-12-06 09:58:07 +0000
committerBenjamin Schubert <contact@benschubert.me>2020-01-13 17:32:08 +0000
commit2d2bd16a1f931b4aece069baf94257df22e869cc (patch)
tree469db8d136752eb17b651b67492dd85a69ce99e4 /tox.ini
parentd2cf34b9f8f0230b002e1213b8783f00326439b8 (diff)
downloadbuildstream-2d2bd16a1f931b4aece069baf94257df22e869cc.tar.gz
tox.ini: Add a external plugins environment test and run it in CI
This runs two versions of the plugins: - The latest stable is not allowed failures and is run on every platform - The master version is allowed failure, and only runs on a single architecture This also adds a new entrypoint to register source tests to run against BuildStream.
Diffstat (limited to 'tox.ini')
-rw-r--r--tox.ini16
1 files changed, 14 insertions, 2 deletions
diff --git a/tox.ini b/tox.ini
index ab7830fff..ea45c1acc 100644
--- a/tox.ini
+++ b/tox.ini
@@ -6,6 +6,10 @@ envlist = py{35,36,37,38}
skip_missing_interpreters = true
isolated_build = true
+# Configuration variables to share accross environments
+[config]
+BST_PLUGINS_EXPERIMENTAL_VERSION = 0.13.0
+
#
# Defaults for all environments
#
@@ -18,9 +22,13 @@ usedevelop =
commands =
# Running with coverage reporting enabled
- py{35,36,37,38}-!nocover: pytest --basetemp {envtmpdir} --cov=buildstream --cov-config .coveragerc {posargs}
+ py{35,36,37,38}-!plugins-!nocover: pytest --basetemp {envtmpdir} --cov=buildstream --cov-config .coveragerc {posargs}
# Running with coverage reporting disabled
- py{35,36,37,38}-nocover: pytest --basetemp {envtmpdir} {posargs}
+ py{35,36,37,38}-!plugins-nocover: pytest --basetemp {envtmpdir} {posargs}
+ # Running external plugins tests with coverage reporting enabled
+ py{35,36,37,38}-plugins-!nocover: pytest --basetemp {envtmpdir} --cov=buildstream --cov-config .coveragerc --plugins {posargs}
+ # Running external plugins tests with coverage disabled
+ py{35,36,37,38}-plugins-nocover: pytest --basetemp {envtmpdir} --plugins {posargs}
commands_post:
py{35,36,37,38}-!nocover: mkdir -p .coverage-reports
py{35,36,37,38}-!nocover: mv {envtmpdir}/.coverage {toxinidir}/.coverage-reports/.coverage.{env:COVERAGE_PREFIX:}{envname}
@@ -29,6 +37,9 @@ deps =
py{35,36,37,38}: -rrequirements/dev-requirements.txt
py{35,36,37,38}: -rrequirements/plugin-requirements.txt
+ # Install external plugins for plugin tests
+ py{35,36,37,38}-plugins: git+https://gitlab.com/buildstream/bst-plugins-experimental.git@{env:BST_PLUGINS_EXPERIMENTAL_VERSION:{[config]BST_PLUGINS_EXPERIMENTAL_VERSION}}#egg=bst_plugins_experimental[ostree]
+
# Only require coverage and pytest-cov when using it
!nocover: -rrequirements/cov-requirements.txt
@@ -51,6 +62,7 @@ passenv =
REMOTE_EXECUTION_SERVICE
SOURCE_CACHE_SERVICE
SSL_CERT_FILE
+ BST_PLUGINS_EXPERIMENTAL_VERSION
#
# These keys are not inherited by any other sections
#