From 533a612d80d6a1ba01a73b7c4d114f2dcc0e0abc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Billeter?= Date: Fri, 17 Oct 2025 10:29:03 +0200 Subject: [PATCH 1/5] ci: Drop Fedora 41 Fedora 41 and 42 use the same version of Python. --- .github/compose/ci.docker-compose.yml | 6 +----- .github/run-ci.sh | 2 +- .github/workflows/ci.yml | 1 - 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/compose/ci.docker-compose.yml b/.github/compose/ci.docker-compose.yml index 7c07df6..45046df 100644 --- a/.github/compose/ci.docker-compose.yml +++ b/.github/compose/ci.docker-compose.yml @@ -1,7 +1,7 @@ version: '3.4' x-tests-template: &tests-template - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:41-${CI_IMAGE_VERSION:-latest} + image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:42-${CI_IMAGE_VERSION:-latest} command: tox -vvvvv -- --color=yes --integration environment: TOXENV: ${CI_TOXENV_ALL} @@ -26,10 +26,6 @@ services: <<: *tests-template image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-debian:11-${CI_IMAGE_VERSION:-latest} - fedora-41: - <<: *tests-template - image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:41-${CI_IMAGE_VERSION:-latest} - fedora-42: <<: *tests-template image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:42-${CI_IMAGE_VERSION:-latest} diff --git a/.github/run-ci.sh b/.github/run-ci.sh index 1c9ebcc..0217d83 100755 --- a/.github/run-ci.sh +++ b/.github/run-ci.sh @@ -67,7 +67,7 @@ function runTest() { if [ -z "${test_names}" ]; then - for test_name in "mypy debian-11 fedora-41 fedora-42 fedora-missing-deps ubuntu-22.04"; do + for test_name in "mypy debian-11 fedora-42 fedora-missing-deps ubuntu-22.04"; do if ! runTest "${test_name}"; then echo "Tests failed" exit 1 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c12ad1b..a38e376 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,6 @@ jobs: # "../compose/ci.docker-compose.yml" test-name: - debian-11 - - fedora-41 - fedora-42 - fedora-missing-deps - ubuntu-22.04 From 7a66f81e9bcfabb8c170e10c4a8f595bba501b1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Billeter?= Date: Fri, 17 Oct 2025 10:24:36 +0200 Subject: [PATCH 2/5] ci: Update Ubuntu images from 22.04 to 24.04 Match the main BuildStream repository. --- .github/workflows/ci.yml | 10 ++++++++-- .github/workflows/merge.yml | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a38e376..5762246 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,7 +26,7 @@ concurrency: jobs: tests: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 continue-on-error: ${{ matrix.allow-failure || false }} strategy: @@ -48,6 +48,9 @@ jobs: allow-failure: true steps: + - name: Disable AppArmor restriction for bubblewrap + run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 + - name: Check out repository uses: actions/checkout@v2 # BuildStream requires tags to be able to find its version. @@ -59,8 +62,11 @@ jobs: ${GITHUB_WORKSPACE}/.github/run-ci.sh ${{ matrix.test-name }} docs: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: + - name: Disable AppArmor restriction for bubblewrap + run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 + - name: Check out repository uses: actions/checkout@v2 # BuildStream requires tags to be able to find its version. diff --git a/.github/workflows/merge.yml b/.github/workflows/merge.yml index 67ef1a4..c40ede3 100644 --- a/.github/workflows/merge.yml +++ b/.github/workflows/merge.yml @@ -8,8 +8,11 @@ on: jobs: build: name: Build documentation - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: + - name: Disable AppArmor restriction for bubblewrap + run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 + - name: Checkout code uses: actions/checkout@v2 # BuildStream requires tags to be able to find its version. @@ -40,9 +43,12 @@ jobs: publish: needs: build - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: + - name: Disable AppArmor restriction for bubblewrap + run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 + - name: Download artifact uses: actions/download-artifact@v4 with: From 6df7b929bdeb299ac47ff0a6a1a46749c46bcde3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Billeter?= Date: Fri, 17 Oct 2025 10:34:15 +0200 Subject: [PATCH 3/5] tox.ini: Test with latest BuildStream release 2.6.0 --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index e483d1f..46e7102 100644 --- a/tox.ini +++ b/tox.ini @@ -58,7 +58,7 @@ setenv = py{39,310,311,312,313}: XDG_CACHE_HOME = {envtmpdir}/cache py{39,310,311,312,313}: XDG_CONFIG_HOME = {envtmpdir}/config py{39,310,311,312,313}: XDG_DATA_HOME = {envtmpdir}/share - !master: BST_VERSION = 2.5.0.dev1 + !master: BST_VERSION = 2.6.0 master: BST_VERSION = master allowlist_externals = From 5bb2a27773fce47dfb283aa61849a41cbf3fae03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Billeter?= Date: Fri, 17 Oct 2025 10:26:26 +0200 Subject: [PATCH 4/5] Add support for Python 3.14 --- .github/common.env | 4 ++-- setup.py | 1 + tox.ini | 10 +++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/common.env b/.github/common.env index c43a36c..d5d6c82 100644 --- a/.github/common.env +++ b/.github/common.env @@ -1,5 +1,5 @@ # Shared common variables CI_IMAGE_VERSION=master-1869708273 -CI_TOXENV_ALL=py39,py310,py311,py312,py313 -CI_TOXENV_MASTER=py39-bst-master,py310-bst-master,py311-bst-master,py312-bst-master,py313-bst-master +CI_TOXENV_ALL=py39,py310,py311,py312,py313,py314 +CI_TOXENV_MASTER=py39-bst-master,py310-bst-master,py311-bst-master,py312-bst-master,py313-bst-master,py314-bst-master diff --git a/setup.py b/setup.py index 55bc4d7..576c4e6 100755 --- a/setup.py +++ b/setup.py @@ -58,6 +58,7 @@ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Software Development :: Build Tools", ], description="A collection of plugins for BuildStream.", diff --git a/tox.ini b/tox.ini index 46e7102..21b65b8 100644 --- a/tox.ini +++ b/tox.ini @@ -16,7 +16,7 @@ # Tox global configuration # [tox] -envlist = py{39,310,311,312,313}-{bst-fixed,bst-master} +envlist = py{39,310,311,312,313,314}-{bst-fixed,bst-master} skip_missing_interpreters = true # @@ -55,14 +55,14 @@ passenv = # These keys are not inherited by any other sections # setenv = - py{39,310,311,312,313}: XDG_CACHE_HOME = {envtmpdir}/cache - py{39,310,311,312,313}: XDG_CONFIG_HOME = {envtmpdir}/config - py{39,310,311,312,313}: XDG_DATA_HOME = {envtmpdir}/share + py{39,310,311,312,313,314}: XDG_CACHE_HOME = {envtmpdir}/cache + py{39,310,311,312,313,314}: XDG_CONFIG_HOME = {envtmpdir}/config + py{39,310,311,312,313,314}: XDG_DATA_HOME = {envtmpdir}/share !master: BST_VERSION = 2.6.0 master: BST_VERSION = master allowlist_externals = - py{39,310,311,312,313}: + py{39,310,311,312,313,314}: mv mkdir ./tests/bzr_wrapper From a4195a8630a22ad20e075881d66e0a4785ee5bdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Billeter?= Date: Fri, 17 Oct 2025 10:32:04 +0200 Subject: [PATCH 5/5] ci: Add Debian 12 and 13 and Fedora 43 and update images Debian 12 extends test coverage to Python 3.11. It is supported until June 10, 2028, which covers the full upstream Python 3.11 support period. Debian 13 provides long-term test coverage of Python 3.13. It is supported until June 30, 2030, which covers the full upstream Python 3.13 support period. Fedora 43 extends test coverage to Python 3.14. --- .github/common.env | 2 +- .github/compose/ci.docker-compose.yml | 12 ++++++++++++ .github/run-ci.sh | 2 +- .github/workflows/ci.yml | 3 +++ tox.ini | 4 ++-- 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/.github/common.env b/.github/common.env index d5d6c82..70890b4 100644 --- a/.github/common.env +++ b/.github/common.env @@ -1,5 +1,5 @@ # Shared common variables -CI_IMAGE_VERSION=master-1869708273 +CI_IMAGE_VERSION=master-2106151116 CI_TOXENV_ALL=py39,py310,py311,py312,py313,py314 CI_TOXENV_MASTER=py39-bst-master,py310-bst-master,py311-bst-master,py312-bst-master,py313-bst-master,py314-bst-master diff --git a/.github/compose/ci.docker-compose.yml b/.github/compose/ci.docker-compose.yml index 45046df..ce8b3f5 100644 --- a/.github/compose/ci.docker-compose.yml +++ b/.github/compose/ci.docker-compose.yml @@ -26,10 +26,22 @@ services: <<: *tests-template image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-debian:11-${CI_IMAGE_VERSION:-latest} + debian-12: + <<: *tests-template + image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-debian:12-${CI_IMAGE_VERSION:-latest} + + debian-13: + <<: *tests-template + image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-debian:13-${CI_IMAGE_VERSION:-latest} + fedora-42: <<: *tests-template image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:42-${CI_IMAGE_VERSION:-latest} + fedora-43: + <<: *tests-template + image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:43-${CI_IMAGE_VERSION:-latest} + ubuntu-22.04: <<: *tests-template image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-ubuntu:22.04-${CI_IMAGE_VERSION:-latest} diff --git a/.github/run-ci.sh b/.github/run-ci.sh index 0217d83..a8e302f 100755 --- a/.github/run-ci.sh +++ b/.github/run-ci.sh @@ -67,7 +67,7 @@ function runTest() { if [ -z "${test_names}" ]; then - for test_name in "mypy debian-11 fedora-42 fedora-missing-deps ubuntu-22.04"; do + for test_name in "mypy debian-11 debian-12 debian-13 fedora-42 fedora-43 fedora-missing-deps ubuntu-22.04"; do if ! runTest "${test_name}"; then echo "Tests failed" exit 1 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5762246..2341374 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,10 @@ jobs: # "../compose/ci.docker-compose.yml" test-name: - debian-11 + - debian-12 + - debian-13 - fedora-42 + - fedora-43 - fedora-missing-deps - ubuntu-22.04 - lint diff --git a/tox.ini b/tox.ini index 21b65b8..8c71bf6 100644 --- a/tox.ini +++ b/tox.ini @@ -27,7 +27,7 @@ skip_missing_interpreters = true [testenv] commands = bst --version - ./tests/bzr_wrapper {envdir}/bin + {toxinidir}/tests/bzr_wrapper {envdir}/bin pytest --basetemp {envtmpdir} {posargs} deps = -rrequirements/test-requirements.txt @@ -65,7 +65,7 @@ allowlist_externals = py{39,310,311,312,313,314}: mv mkdir - ./tests/bzr_wrapper + {toxinidir}/tests/bzr_wrapper # # Code formatters