diff --git a/.github/common.env b/.github/common.env index de24cb564..11ff253f6 100644 --- a/.github/common.env +++ b/.github/common.env @@ -1,6 +1,6 @@ # Shared common variables -CI_IMAGE_VERSION=master-2310077904 +CI_IMAGE_VERSION=master-2779642792 CI_TOXENV_MAIN=py310,py311,py312,py313,py314 CI_TOXENV_PLUGINS=py310-plugins,py311-plugins,py312-plugins,py313-plugins,py314-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 c0590e786..5dd7ac1d9 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:42-${CI_IMAGE_VERSION:-latest} + image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:44-${CI_IMAGE_VERSION:-latest} command: tox -vvvvv -- --color=yes --integration environment: TOXENV: ${CI_TOXENV_ALL} @@ -30,13 +30,9 @@ services: <<: *tests-template image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-debian:13-${CI_IMAGE_VERSION:-latest} - fedora-42: + fedora-44: <<: *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} + image: registry.gitlab.com/buildstream/buildstream-docker-images/testsuite-fedora:44-${CI_IMAGE_VERSION:-latest} ubuntu-22.04: <<: *tests-template diff --git a/.github/run-ci.sh b/.github/run-ci.sh index 8118d0abd..f3690320e 100755 --- a/.github/run-ci.sh +++ b/.github/run-ci.sh @@ -102,7 +102,7 @@ function runServiceTest() { if [ -z "${test_names}" ]; then - for test_name in mypy debian-12 debian-13 fedora-42 fedora-43 fedora-missing-deps ubuntu-22.04; do + for test_name in mypy debian-12 debian-13 fedora-44 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 07faedc0a..790215866 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,8 +38,7 @@ jobs: test-name: - debian-12 - debian-13 - - fedora-42 - - fedora-43 + - fedora-44 - fedora-missing-deps - ubuntu-22.04 - lint diff --git a/tests/integration/interactive_build.py b/tests/integration/interactive_build.py index 580d698eb..9a63ecfa8 100644 --- a/tests/integration/interactive_build.py +++ b/tests/integration/interactive_build.py @@ -36,6 +36,13 @@ def build_session(integration_cache, datafiles, element_name): project = str(datafiles) + # Interactive tests need a usable TERM so tools like click's pager (less) + # run interactively. Containers used for CI often leave TERM unset even + # when pexpect allocates a PTY. + env = os.environ.copy() + if not env.get("TERM") or env["TERM"] == "dumb": + env["TERM"] = "xterm" + # Spawn interactive session using `configured()` context manager in order # to get the same config file as the `cli` fixture. with runcli.configured(project, config={"sourcedir": integration_cache.sources}) as config_file: @@ -50,6 +57,7 @@ def build_session(integration_cache, datafiles, element_name): "build", element_name, ], + env=env, timeout=PEXPECT_TIMEOUT_SHORT, ) yield session