diff options
-rw-r--r-- | .gitlab-ci.yml | 15 | ||||
-rw-r--r-- | NEWS | 5 | ||||
-rwxr-xr-x | setup.py | 6 | ||||
-rw-r--r-- | tests/format/junctions.py | 9 | ||||
-rw-r--r-- | tox.ini | 36 |
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 @@ -2,6 +2,11 @@ (unreleased) ============ +Core +---- + + o BuildStream now requires Python >= 3.6. + ================== buildstream 1.93.1 @@ -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)) @@ -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 |