You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by "Brijesh-Thakkar (via GitHub)" <gi...@apache.org> on 2026/10/22 11:28:04 UTC
[PR] tools/ci: remove legacy testrun Python pins [nuttx]
Brijesh-Thakkar opened a new pull request, #20882:
URL: https://github.com/apache/nuttx/pull/20882
## Summary
Remove the Python pins that were only needed by `tools/ci/testrun`, which was
deleted in 179bf35fdd ("tools/ci: remove obsolete testrun harness"):
* `pexpect==4.8.0`
* `pytest==6.2.5`
* `pytest-json==0.4.0`
* `pytest-ordering==0.6`
* `pytest-repeat==0.9.1`
They are removed from `tools/ci/docker/linux/Dockerfile` (together with the
`# Install pytest` comment, which sat above unrelated packages) and from the
`python_tools()` list in `tools/ci/platforms/{linux,ubuntu,darwin,darwin_arm64}.sh`.
All other packages are kept.
CI now uses NTFC. `.github/workflows/build.yml` installs `ntfc==0.0.3`, which
pulls in its own pytest and pexpect. The `pytest==6.2.5` pin already had no
effect, since that install upgrades pytest to 9.1.1 at job time.
No other code in nuttx or nuttx-apps imports these packages. The remaining
mentions are `pytest.debug.log` file names in the `citest*/run.sh` scripts,
one sentence in `Documentation/testing/ntfc.rst`, and the `pkill -f pytest`
watchdog line in `build.yml` (see the note below).
Part of #17717
## Impact
No functional CI change expected. Versions resolved after `pip install ntfc==0.0.3`
(ubuntu:22.04, Python 3.10.12, `pip3 install` lines of the Dockerfile in order):
| package | before (CI today) | after this PR |
|-----------------|-------------------|---------------|
| pytest | 9.1.1 | 9.1.1 |
| pexpect | 4.8.0 | 4.9.0 |
| pytest-repeat | 0.9.1 | 0.9.4 |
| pytest-ordering | 0.6 | 0.6 (via ntfc)|
| pytest-json | 0.4.0 | removed |
`attrs`, `py` and `toml` (dependencies of the old pytest/pytest-json) also
disappear from the image. Local setups using `tools/ci/platforms/*.sh` no
longer install packages that nothing uses.
## Testing
Resolved versions (method): in a bare `ubuntu:22.04` container I ran the
`pip3 install` lines of the Dockerfile in order, then `pip install
--default-timeout=100 --retries 10 ntfc==0.0.3`, once with and once without
the five pins, and compared `pip3 freeze`. pip reported no resolver warnings.
Without the pins the only differences are the ones in the table above plus
`attrs`, `py` and `toml`.
Functional check: `sim:citest` with NTFC 0.0.3, nuttx-ntfc-testing tag
`release-0.0.2`, gcc-12.5.0, built with `./tools/ci/cibuild.sh -c -A -N -R -S`
on `/sim/*/*/*/citest`, once in a venv matching "before" and once matching
"after":
| run | passed | failed | skipped | pytest time |
|--------|--------|--------|---------|-------------|
| before | 1221 | 0 | 306 | 1089.9 s |
| after | 1221 | 0 | 306 | 1106.6 s |
The per-test results of the two runs are identical (1527 test ids).
Static checks: `./tools/checkpatch.sh -g upstream/master..HEAD` passes and the
four platform scripts pass `bash -n`.
The Dockerfile change is built by `docker_linux.yml` on this PR but not
published until merge (it only pushes from master). Until then the build jobs
keep using the published image.
Caveats:
* The host Python was 3.14, CI uses 3.10 (the freezes above were taken on
3.10).
* Only `sim:citest` was run. The QEMU targets (arm64, x86_64, rv-virt,
sabre-6quad) were not and are left to CI.
## Note for maintainers (not changed in this PR)
The watchdog in `build.yml`, `( sleep 7200 ; echo Killing pytest after
timeout... ; pkill -f pytest )&`, never matches the NTFC process: `ntfc` calls
`pytest.main()` in-process and its command line is `.../bin/ntfc test ...`. In
my runs `pgrep -f pytest` matched only the `bash -c` wrapper and the
watchdog subshell, because the script text passed to `bash -c` contains the
word "pytest". On a timeout it would therefore kill the whole step, not
pytest. I did not exercise the timeout itself. Happy to send a follow-up if
you'd like it changed (e.g. `pkill -f "ntfc test"`). The same pattern is in
the nuttx-apps `build.yml`.
Generated-by: Claude Code (analysis, test runs and drafting); reviewed and tested by me.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] tools/ci: remove legacy testrun Python pins [nuttx]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #20882:
URL: https://github.com/apache/nuttx/pull/20882#issuecomment-6352810840
<!-- membrowse-pr-comment -->
## <img src="https://membrowse.com/membrowse-logo.svg" height="24" align="top"> MemBrowse Memory Report · [Explore what changed →](https://membrowse.com/public/apache/nuttx?commit_sha=b069c2a9def03dbd1c56da37790a0060824fb3cd)
*No memory changes detected for:*
- [arduino-mega2560](https://membrowse.com/public/apache/nuttx/target/arduino-mega2560/compare?head=b069c2a9def03dbd1c56da37790a0060824fb3cd&base=b01e7e760c612c24a14a738de37e3221190636ac)
- [esp32-devkitc](https://membrowse.com/public/apache/nuttx/target/esp32-devkitc/compare?head=b069c2a9def03dbd1c56da37790a0060824fb3cd&base=b01e7e760c612c24a14a738de37e3221190636ac)
- [hifive1-revb](https://membrowse.com/public/apache/nuttx/target/hifive1-revb/compare?head=b069c2a9def03dbd1c56da37790a0060824fb3cd&base=b01e7e760c612c24a14a738de37e3221190636ac)
- [mirtoo](https://membrowse.com/public/apache/nuttx/target/mirtoo/compare?head=b069c2a9def03dbd1c56da37790a0060824fb3cd&base=b01e7e760c612c24a14a738de37e3221190636ac)
- [qemu-armv8a](https://membrowse.com/public/apache/nuttx/target/qemu-armv8a/compare?head=b069c2a9def03dbd1c56da37790a0060824fb3cd&base=b01e7e760c612c24a14a738de37e3221190636ac)
- [qemu-intel64](https://membrowse.com/public/apache/nuttx/target/qemu-intel64/compare?head=b069c2a9def03dbd1c56da37790a0060824fb3cd&base=b01e7e760c612c24a14a738de37e3221190636ac)
- [rx65n-rsk2mb](https://membrowse.com/public/apache/nuttx/target/rx65n-rsk2mb/compare?head=b069c2a9def03dbd1c56da37790a0060824fb3cd&base=b01e7e760c612c24a14a738de37e3221190636ac)
- [s698pm-dkit](https://membrowse.com/public/apache/nuttx/target/s698pm-dkit/compare?head=b069c2a9def03dbd1c56da37790a0060824fb3cd&base=b01e7e760c612c24a14a738de37e3221190636ac)
- [stm32-nucleo-f103rb](https://membrowse.com/public/apache/nuttx/target/stm32-nucleo-f103rb/compare?head=b069c2a9def03dbd1c56da37790a0060824fb3cd&base=b01e7e760c612c24a14a738de37e3221190636ac)
---
<sub>Catch memory regressions in CI with [MemBrowse](https://membrowse.com). Free for open source.</sub>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] tools/ci: remove legacy testrun Python pins [nuttx]
Posted by "acassis (via GitHub)" <gi...@apache.org>.
acassis merged PR #20882:
URL: https://github.com/apache/nuttx/pull/20882
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org