gitlab-ci: Add pickman tests to CI

Add pickman test suite to the existing tool test job alongside binman,
buildman, dtoc and patman tests.

Series-to: concept
Cover-letter:
pickman: Refine the feature set
This series adds a few more features and tweaks to make pickman work
better in practice.

The main issue is that the branch logic is not correct, so it selects
the wrong branch once one has already been applied.

Other improvements in this series:
- stop polling if an error occurs
- allow using a config file for the gitlab credentials (so we can set up
  a 'pickman' user), along with a command to check gitlab access
- add the Claude log to the merge request, when it responds to comments
- maintain comments in a database so we know what was addressed
- add a command to figure out how many merges are pending and to show
  the next 10
- measure test coverage, improve it (not 100%) and add to CI
END

Co-developed-by: Claude Opus 4.5 <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>
This commit is contained in:
Simon Glass
2025-12-16 14:21:47 -07:00
parent 90b21b0bed
commit 84e7f0fdef
2 changed files with 8 additions and 2 deletions

View File

@@ -273,7 +273,7 @@ Build tools-only and envtools:
make mrproper; make mrproper;
make tools-only_config envtools -j$(nproc) make tools-only_config envtools -j$(nproc)
Run binman, buildman, dtoc, hwids_to_dtsi, Kconfig and patman test suites: Run binman, buildman, dtoc, hwids_to_dtsi, Kconfig, patman and pickman suites:
extends: .test_suites extends: .test_suites
script: script:
- git config --global user.name "GitLab CI Runner"; - git config --global user.name "GitLab CI Runner";
@@ -284,7 +284,7 @@ Run binman, buildman, dtoc, hwids_to_dtsi, Kconfig and patman test suites:
. /tmp/venv/bin/activate; . /tmp/venv/bin/activate;
pip install -r test/py/requirements.txt -r tools/binman/requirements.txt pip install -r test/py/requirements.txt -r tools/binman/requirements.txt
-r tools/buildman/requirements.txt -r tools/patman/requirements.txt -r tools/buildman/requirements.txt -r tools/patman/requirements.txt
-r tools/u_boot_pylib/requirements.txt; -r tools/pickman/requirements.txt -r tools/u_boot_pylib/requirements.txt;
export UBOOT_TRAVIS_BUILD_DIR=/tmp/tools-only; export UBOOT_TRAVIS_BUILD_DIR=/tmp/tools-only;
export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt"; export PYTHONPATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt";
export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}"; export PATH="${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}";
@@ -299,6 +299,8 @@ Run binman, buildman, dtoc, hwids_to_dtsi, Kconfig and patman test suites:
./tools/buildman/buildman -t; ./tools/buildman/buildman -t;
./tools/dtoc/dtoc -t; ./tools/dtoc/dtoc -t;
./tools/patman/patman test; ./tools/patman/patman test;
./tools/pickman/pickman test;
./tools/pickman/pickman test -T;
python3 ./test/scripts/test_hwids_to_dtsi.py; python3 ./test/scripts/test_hwids_to_dtsi.py;
python3 -m pytest ./test/scripts/test_release_version.py; python3 -m pytest ./test/scripts/test_release_version.py;
make testconfig make testconfig

View File

@@ -0,0 +1,4 @@
# Requirements for pickman
# Install with: pip install -r tools/pickman/requirements.txt
python-gitlab