
On 29/08/2023 17:04, Tom Rini wrote:
Interesting. How exactly are you using these CI images? We have tools/buildman/requirements.txt now to cover the newly-added modules in CI, as we call pip on that. But, it's not being used in the prepopulate the pip cache stage in the Dockerfile. And, I'm not immune to the idea that we should instead be installing the distro package here.
I see in Dockerfile test/py/requirements.txt and doc/sphinx/requirements.txt, but not tools/buildman/requirements.txt, so whatever is mentioned there is not part of the image on CI runners.
Following is the part of *our own* .gitlab.yml file, which uses a public Docker image (docker.io/trini/u-boot-gitlab-ci-runner:jammy-20230624-20Jul2023, as of now):
verdin-am62: stage: build script: | ... tools/buildman/buildman -o /tmp -P -E "verdin-am62" -M ...
And this is how it fails in our CI without this change:
Building current source for 3 boards (3 threads, 14 jobs per thread) arm: + verdin-am62_r5 +binman: Unknown entry type 'ti-board-config' in node '/binman/board-cfg/ti-board-config' (expected etype/ti_board_config.py, error 'No module named 'jsonschema'' +make[1]: *** [Makefile:1108: .binman_stamp] Error 1 +make: *** [Makefile:177: sub-make] Error 2