Uh oh!
There was an error while loading. Please reload this page.
ci: Add Fedora 44, remove other Fedora images - #2179
Conversation
59a7551 to
85b4ae6Compare3a57cb8 to
451ea79CompareUh oh!
There was an error while loading. Please reload this page.
0b2c2cb to
eee9baeCompare| x-tests-env: &tests-env | ||
| TOXENV: ${CI_TOXENV_ALL} | ||
| # Interactive tests (pexpect) need a usable TERM so pagers like less |
There was a problem hiding this comment.
Can't we set this in the pexpect tests themselves? I'm afraid that setting this globally will affect other tests as well.
There was a problem hiding this comment.
@abderrahim ok, I have proposed another way, please check; CI has passed at https://github.com/jjardon/buildstream-1/actions/runs/32643806433?pr=1
Fedora 42 is EOL for a while, python 3.14 is already tested with F44
Interactive tests allocate a PTY via pexpect but inherit the process environment. When TERM is unset or "dumb" (common in CI containers), click.echo_via_pager does not run an interactive less; the test still sends "q" as if a pager were active, which is then read as choice "quit". This happened in the new fedora 44 image, for example Ensure a usable TERM in the build_session fixture so pager-driven tests behave like a normal interactive terminal.
Uh oh!
There was an error while loading. Please reload this page.
| # 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() |
There was a problem hiding this comment.
Rather than forcing the test environment to be something that Buildstream expects, would it be better to adjust Buildstream to handle this? We want Buildstream to work in as many environments as possible right?
Fedora 42 is EOL for a while, python 3.14 is already tested with F44
Depends on https://gitlab.com/BuildStream/buildstream-docker-images/-/merge_requests/239
Tested succesfully at jjardon#1
Fixes#2180