summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2020-04-04 06:22:17 +0000
committerJürg Billeter <j@bitron.ch>2020-04-04 06:22:17 +0000
commit8ffc2226426775da5852835fea66a71aba725e09 (patch)
treec9f96688cc9477c3cf6c8c30423cb958813f0d53
parent340fd4ec493723ca17885de8e14e859b96f712ff (diff)
parent868b22eb0ff798820f954285758c89384e8d7ad3 (diff)
downloadbuildstream-8ffc2226426775da5852835fea66a71aba725e09.tar.gz
Merge branch 'juerg/python-3.6' into 'master'
Require Python >= 3.6 See merge request BuildStream/buildstream!1850
-rw-r--r--.gitlab-ci.yml15
-rw-r--r--NEWS5
-rwxr-xr-xsetup.py6
-rw-r--r--tests/format/junctions.py9
-rw-r--r--tox.ini36
5 files changed, 33 insertions, 38 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 66c212b5f..b6dd45ed9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -29,7 +29,7 @@ variables:
INTEGRATION_CACHE: "${CI_PROJECT_DIR}/cache/integration-cache"
PYTEST_ARGS: "--color=yes --integration -n 2"
TEST_COMMAND: "tox -- ${PYTEST_ARGS}"
- TOXENV: py35, py36, py37, py38, py35-plugins, py36-plugins, py37-plugins, py38-plugins
+ TOXENV: py36, py37, py38, py36-plugins, py37-plugins, py38-plugins
COVERAGE_PREFIX: "${CI_JOB_NAME}."
@@ -63,10 +63,6 @@ variables:
paths:
- .coverage-reports
-tests-debian-9:
- image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-debian:9-${DOCKER_IMAGE_VERSION}
- <<: *tests
-
tests-debian-10:
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-debian:10-${DOCKER_IMAGE_VERSION}
<<: *tests
@@ -235,7 +231,7 @@ tests-no-usedevelop:
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:31-${DOCKER_IMAGE_VERSION}
<<: *tests
variables:
- TOXENV: py35-nocover,py36-nocover,py37-nocover,py38-nocover
+ TOXENV: py36-nocover,py37-nocover,py38-nocover
# Run type checkers
@@ -249,8 +245,6 @@ mypy:
# Lint separately from testing
lint:
- # We can't use the default debian:9 based image here since that comes with
- # Python 3.5, and Black requires Python >= 3.6.
image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:31-${DOCKER_IMAGE_VERSION}
stage: test
@@ -402,8 +396,8 @@ overnight-randomized:
- chown -R buildstream:buildstream .
# Don't run tests multiprocessed here, the randomized order doesn't like that
- - su buildstream -c "tox -e py35-randomized,py36-randomized,py37-randomized,py38-randomized -- --color=yes --integration"
- - su buildstream -c "tox -e py35-randomized-external,py36-randomized-external,py37-randomized-external,py38-randomized-external -- --color=yes --integration"
+ - su buildstream -c "tox -e py36-randomized,py37-randomized,py38-randomized -- --color=yes --integration"
+ - su buildstream -c "tox -e py36-randomized-external,py37-randomized-external,py38-randomized-external -- --color=yes --integration"
# We need to override the exclusion from the template in order to run on schedules
except: []
@@ -454,7 +448,6 @@ coverage:
dependencies:
- tests-buildbox-run
- tests-centos-7.6
- - tests-debian-9
- tests-debian-10
- tests-fedora-30
- tests-fedora-31
diff --git a/NEWS b/NEWS
index 91824bcc6..d1767f9ce 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,11 @@
(unreleased)
============
+Core
+----
+
+ o BuildStream now requires Python >= 3.6.
+
==================
buildstream 1.93.1
diff --git a/setup.py b/setup.py
index 2d24fd533..ac6ba21fb 100755
--- a/setup.py
+++ b/setup.py
@@ -35,10 +35,10 @@ import versioneer # noqa
# Python requirements
##################################################################
REQUIRED_PYTHON_MAJOR = 3
-REQUIRED_PYTHON_MINOR = 5
+REQUIRED_PYTHON_MINOR = 6
if sys.version_info[0] != REQUIRED_PYTHON_MAJOR or sys.version_info[1] < REQUIRED_PYTHON_MINOR:
- print("BuildStream requires Python >= 3.5")
+ print("BuildStream requires Python >= 3.6")
sys.exit(1)
try:
@@ -333,9 +333,9 @@ setup(name='BuildStream',
'License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)',
'Operating System :: POSIX',
'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
'Topic :: Software Development :: Build Tools'
],
description='A framework for modelling build pipelines in YAML',
diff --git a/tests/format/junctions.py b/tests/format/junctions.py
index 581e7442f..70572ee3e 100644
--- a/tests/format/junctions.py
+++ b/tests/format/junctions.py
@@ -56,8 +56,7 @@ def test_junction_missing_project_conf(cli, datafiles):
# TODO: see if datafiles can tidy this concat up
- # py3.5 requires this str conversion.
- os.remove(str(project / "base" / "project.conf"))
+ os.remove(project / "base" / "project.conf")
# Note that both 'foo' and 'base' projects have a 'target.bst'. The
# 'app.bst' in 'foo' depends on the 'target.bst' in 'base', i.e.:
@@ -94,8 +93,7 @@ def test_workspaced_junction_missing_project_conf(cli, datafiles):
print(result)
result.assert_success()
- # py3.5 requires this str conversion.
- os.remove(str(workspace_dir / "project.conf"))
+ os.remove(workspace_dir / "project.conf")
result = cli.run(project=project, args=["build", "app.bst"])
result.assert_main_error(ErrorDomain.LOAD, LoadErrorReason.INVALID_JUNCTION)
@@ -360,8 +358,7 @@ def test_git_missing_project_conf(cli, tmpdir, datafiles):
project = datafiles / "foo"
# See test_junction_missing_project_conf for some more background.
- # py3.5 requires this str conversion.
- os.remove(str(datafiles / "base" / "project.conf"))
+ os.remove(datafiles / "base" / "project.conf")
# Create the repo from 'base' subdir
repo = create_repo("git", str(tmpdir))
diff --git a/tox.ini b/tox.ini
index fab130566..61f283635 100644
--- a/tox.ini
+++ b/tox.ini
@@ -2,7 +2,7 @@
# Tox global configuration
#
[tox]
-envlist = py{35,36,37,38}
+envlist = py{36,37,38}
skip_missing_interpreters = true
isolated_build = true
@@ -18,26 +18,26 @@ BST_PLUGINS_EXPERIMENTAL_VERSION = 1.93.1.1
[testenv]
usedevelop =
# This is required by Cython in order to get coverage for cython files.
- py{35,36,37,38}-!nocover: True
+ py{36,37,38}-!nocover: True
commands =
# Running with coverage reporting enabled
- py{35,36,37,38}-!plugins-!nocover: pytest --basetemp {envtmpdir} --cov=buildstream --cov-config .coveragerc {posargs}
+ py{36,37,38}-!plugins-!nocover: pytest --basetemp {envtmpdir} --cov=buildstream --cov-config .coveragerc {posargs}
# Running with coverage reporting disabled
- py{35,36,37,38}-!plugins-nocover: pytest --basetemp {envtmpdir} {posargs}
+ py{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}
+ py{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}
+ py{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}
+ py{36,37,38}-!nocover: mkdir -p .coverage-reports
+ py{36,37,38}-!nocover: mv {envtmpdir}/.coverage {toxinidir}/.coverage-reports/.coverage.{env:COVERAGE_PREFIX:}{envname}
deps =
- py{35,36,37,38}: -rrequirements/requirements.txt
- py{35,36,37,38}: -rrequirements/dev-requirements.txt
+ py{36,37,38}: -rrequirements/requirements.txt
+ py{36,37,38}: -rrequirements/dev-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,deb]
+ py{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,deb]
# Only require coverage and pytest-cov when using it
!nocover: -rrequirements/cov-requirements.txt
@@ -66,17 +66,17 @@ passenv =
# These keys are not inherited by any other sections
#
setenv =
- py{35,36,37,38}: COVERAGE_FILE = {envtmpdir}/.coverage
- py{35,36,37,38}: BST_TEST_HOME = {envtmpdir}
- py{35,36,37,38}: BST_TEST_XDG_CACHE_HOME = {envtmpdir}/cache
- py{35,36,37,38}: BST_TEST_XDG_CONFIG_HOME = {envtmpdir}/config
- py{35,36,37,38}: BST_TEST_XDG_DATA_HOME = {envtmpdir}/share
+ py{36,37,38}: COVERAGE_FILE = {envtmpdir}/.coverage
+ py{36,37,38}: BST_TEST_HOME = {envtmpdir}
+ py{36,37,38}: BST_TEST_XDG_CACHE_HOME = {envtmpdir}/cache
+ py{36,37,38}: BST_TEST_XDG_CONFIG_HOME = {envtmpdir}/config
+ py{36,37,38}: BST_TEST_XDG_DATA_HOME = {envtmpdir}/share
# This is required to get coverage for Cython
- py{35,36,37,38}-!nocover: BST_CYTHON_TRACE = 1
+ py{36,37,38}-!nocover: BST_CYTHON_TRACE = 1
randomized: PYTEST_ADDOPTS="--random-order-bucket=global"
whitelist_externals =
- py{35,36,37,38}:
+ py{36,37,38}:
mv
mkdir