You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by ju...@apache.org on 2024/11/22 13:45:23 UTC
(buildstream) 03/03: Add support for Python 3.13
This is an automated email from the ASF dual-hosted git repository.
juergbi pushed a commit to branch juerg/python-3.13
in repository https://gitbox.apache.org/repos/asf/buildstream.git
commit 68b56b2c41c41667a3764d5674922a37a2e4c7ce
Author: Jürg Billeter <j...@bitron.ch>
AuthorDate: Fri Nov 22 14:17:58 2024 +0100
Add support for Python 3.13
---
.github/common.env | 4 ++--
.github/compose/ci.docker-compose.yml | 5 +++++
.github/workflows/ci.yml | 1 +
.github/workflows/release.yml | 1 +
setup.py | 1 +
tox.ini | 40 +++++++++++++++++------------------
6 files changed, 30 insertions(+), 22 deletions(-)
diff --git a/.github/common.env b/.github/common.env
index b7e088416..c7f3f9f2b 100644
--- a/.github/common.env
+++ b/.github/common.env
@@ -1,6 +1,6 @@
# Shared common variables
CI_IMAGE_VERSION=master-1408971201
-CI_TOXENV_MAIN=py39,py310,py311,py312
-CI_TOXENV_PLUGINS=py39-plugins,py310-plugins,py311-plugins,py312-plugins
+CI_TOXENV_MAIN=py39,py310,py311,py312,py313
+CI_TOXENV_PLUGINS=py39-plugins,py310-plugins,py311-plugins,py312-plugins,py313-plugins
CI_TOXENV_ALL="${CI_TOXENV_MAIN},${CI_TOXENV_PLUGINS}"
diff --git a/.github/compose/ci.docker-compose.yml b/.github/compose/ci.docker-compose.yml
index bba3d3d88..3f3d36913 100644
--- a/.github/compose/ci.docker-compose.yml
+++ b/.github/compose/ci.docker-compose.yml
@@ -109,3 +109,8 @@ services:
<<: *tests-template
image: quay.io/pypa/manylinux_2_28_x86_64
command: .github/wheel-helpers/test-wheel-manylinux.sh cp312 /opt/python/cp312-cp312/bin/python3
+
+ wheels-manylinux_2_28-cp313:
+ <<: *tests-template
+ image: quay.io/pypa/manylinux_2_28_x86_64
+ command: .github/wheel-helpers/test-wheel-manylinux.sh cp313 /opt/python/cp313-cp313/bin/python3
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 041584264..1afc46548 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -146,6 +146,7 @@ jobs:
- wheels-manylinux_2_28-cp310
- wheels-manylinux_2_28-cp311
- wheels-manylinux_2_28-cp312
+ - wheels-manylinux_2_28-cp313
steps:
- uses: actions/checkout@v3
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 712be2834..303e0251a 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -90,6 +90,7 @@ jobs:
- wheels-manylinux_2_28-cp310
- wheels-manylinux_2_28-cp311
- wheels-manylinux_2_28-cp312
+ - wheels-manylinux_2_28-cp313
steps:
- uses: actions/checkout@v3
diff --git a/setup.py b/setup.py
index e86194a1e..17707454c 100755
--- a/setup.py
+++ b/setup.py
@@ -371,6 +371,7 @@ setup(
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.13",
"Topic :: Software Development :: Build Tools",
],
description="A framework for modelling build pipelines in YAML",
diff --git a/tox.ini b/tox.ini
index c8544a1c8..c996db41b 100644
--- a/tox.ini
+++ b/tox.ini
@@ -16,7 +16,7 @@
# Tox global configuration
#
[tox]
-envlist = py{39,310,311,312}
+envlist = py{39,310,311,312,313}
skip_missing_interpreters = true
isolated_build = true
@@ -33,30 +33,30 @@ BST_PLUGINS_VERSION = db71610b7ae9884f6d8cbe0d3cc5a1c657c19edb # 2.2.0
[testenv]
usedevelop =
# This is required by Cython in order to get coverage for cython files.
- py{39,310,311,312}-!nocover: True
+ py{39,310,311,312,313}-!nocover: True
commands =
# Running with coverage reporting enabled
- py{39,310,311,312}-!plugins-!nocover: pytest --basetemp {envtmpdir} --cov=buildstream --cov-config .coveragerc {posargs}
+ py{39,310,311,312,313}-!plugins-!nocover: pytest --basetemp {envtmpdir} --cov=buildstream --cov-config .coveragerc {posargs}
# Running with coverage reporting disabled
- py{39,310,311,312}-!plugins-nocover: pytest --basetemp {envtmpdir} {posargs}
+ py{39,310,311,312,313}-!plugins-nocover: pytest --basetemp {envtmpdir} {posargs}
# Running external plugins tests with coverage reporting enabled
- py{39,310,311,312}-plugins-!nocover: pytest --basetemp {envtmpdir} --cov=buildstream --cov-config .coveragerc --plugins {posargs}
+ py{39,310,311,312,313}-plugins-!nocover: pytest --basetemp {envtmpdir} --cov=buildstream --cov-config .coveragerc --plugins {posargs}
# Running external plugins tests with coverage disabled
- py{39,310,311,312}-plugins-nocover: pytest --basetemp {envtmpdir} --plugins {posargs}
+ py{39,310,311,312,313}-plugins-nocover: pytest --basetemp {envtmpdir} --plugins {posargs}
commands_post:
- py{39,310,311,312}-!nocover: mkdir -p .coverage-reports
- py{39,310,311,312}-!nocover: mv {envtmpdir}/.coverage {toxinidir}/.coverage-reports/.coverage.{env:COVERAGE_PREFIX:}{envname}
+ py{39,310,311,312,313}-!nocover: mkdir -p .coverage-reports
+ py{39,310,311,312,313}-!nocover: mv {envtmpdir}/.coverage {toxinidir}/.coverage-reports/.coverage.{env:COVERAGE_PREFIX:}{envname}
deps =
- py{39,310,311,312}: -rrequirements/requirements.txt
- py{39,310,311,312}: -rrequirements/dev-requirements.txt
- py{39,310,311,312}: git+https://github.com/apache/buildstream-plugins.git@{env:BST_PLUGINS_VERSION:{[config]BST_PLUGINS_VERSION}}
+ py{39,310,311,312,313}: -rrequirements/requirements.txt
+ py{39,310,311,312,313}: -rrequirements/dev-requirements.txt
+ py{39,310,311,312,313}: git+https://github.com/apache/buildstream-plugins.git@{env:BST_PLUGINS_VERSION:{[config]BST_PLUGINS_VERSION}}
# Install local sample plugins for testing pip plugin origins
- py{39,310,311,312}: {toxinidir}/tests/plugins/sample-plugins
+ py{39,310,311,312,313}: {toxinidir}/tests/plugins/sample-plugins
# Install external plugins for plugin tests
- py{39,310,311,312}-plugins: git+https://gitlab.com/buildstream/buildstream-plugins-community.git@{env:BST_PLUGINS_COMMUNITY_VERSION:{[config]BST_PLUGINS_COMMUNITY_VERSION}}#egg=bst_plugins_community[deb]
+ py{39,310,311,312,313}-plugins: git+https://gitlab.com/buildstream/buildstream-plugins-community.git@{env:BST_PLUGINS_COMMUNITY_VERSION:{[config]BST_PLUGINS_COMMUNITY_VERSION}}#egg=bst_plugins_community[deb]
# Only require coverage and pytest-cov when using it
!nocover: -rrequirements/cov-requirements.txt
@@ -84,21 +84,21 @@ passenv =
# These keys are not inherited by any other sections
#
setenv =
- py{39,310,311,312}: COVERAGE_FILE = {envtmpdir}/.coverage
- py{39,310,311,312}: BST_TEST_HOME = {envtmpdir}
- py{39,310,311,312}: BST_TEST_XDG_CACHE_HOME = {envtmpdir}/cache
- py{39,310,311,312}: BST_TEST_XDG_CONFIG_HOME = {envtmpdir}/config
- py{39,310,311,312}: BST_TEST_XDG_DATA_HOME = {envtmpdir}/share
+ py{39,310,311,312,313}: COVERAGE_FILE = {envtmpdir}/.coverage
+ py{39,310,311,312,313}: BST_TEST_HOME = {envtmpdir}
+ py{39,310,311,312,313}: BST_TEST_XDG_CACHE_HOME = {envtmpdir}/cache
+ py{39,310,311,312,313}: BST_TEST_XDG_CONFIG_HOME = {envtmpdir}/config
+ py{39,310,311,312,313}: BST_TEST_XDG_DATA_HOME = {envtmpdir}/share
# This is required to run tests with python 3.7
py37: SETUPTOOLS_ENABLE_FEATURES = "legacy-editable"
# This is required to get coverage for Cython
- py{39,310,311,312}-!nocover: BST_CYTHON_TRACE = 1
+ py{39,310,311,312,313}-!nocover: BST_CYTHON_TRACE = 1
randomized: PYTEST_ADDOPTS="--random-order-bucket=global"
allowlist_externals =
- py{39,310,311,312}:
+ py{39,310,311,312,313}:
mv
mkdir