| Message ID | 20251217022823.392557-1-sjg@u-boot.org |
|---|---|
| Headers |
Return-Path: <concept-bounces+u-boot-concept=u-boot.org@u-boot.org> X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1765938517; bh=ss4SaZibUA4lB4QbN9QzmWizOhWOx7u9AwUwdTPow0A=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=SyZRpAri4rtenwXWyMIH30T+TP5f+vsj83XhrcqheBq6iX6a+SXUQbLKf/0rxbwlN Xqk73jtZXe6roPFtkBwfiBHyHx7ehQVM3V5dDkRSuKO1y1YKShDhqXUvv8p8fDDeI1 OJhKszppbX0K5/mzKdVSxQousVZc3FyUCjp+wpa4PnF+lf7hl3rQj/zIkccaCO61qy wHmmTZshgUqw7cGBt4XQh5g72Jm8sbyWw8tGci9XSwqdTKJJ/FXeGO8YPGLGhHMLFC 1XbsC62MZoce4DpWnefe+KDqxBoJFXixbukE3cpY8xL+Qa8B4iyYPPZWBTf5ufo85P HzJFab0d3eyeA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 0941E68BAD for <u-boot-concept@u-boot.org>; Tue, 16 Dec 2025 19:28:37 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id F1HkB3Xqw_4Q for <u-boot-concept@u-boot.org>; Tue, 16 Dec 2025 19:28:36 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1765938516; bh=ss4SaZibUA4lB4QbN9QzmWizOhWOx7u9AwUwdTPow0A=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=OltBvjWe63FxDgeUEGtmAxUrCEzEhGrrhxkJzBKKD3Bwp5IioGcIBwDEnvuB0eeO3 2f12RTxit4yI541494KdsftLRqVk2k6CMyqzkpbMq3B0YAHf5yK9Fnuvws2izZv0VX i+qAc4P54A0P+PlJ8Yn9+C5CbHpvAtVyrO4oHM3l9vijq5y4yw51816PI7GcFDIs8m DOb/LZDi2jsIX2tuTB4hHhSmIDyU4+zgZmhguo/GvDUgWkWYQE9YVyFtTmEo2ZbuUP MbDG3ftssQKXswMz+ACwBOodu5bUQtUzmjo0oKkz4UftKOhuAnOuRTmLY+Nljt+pmx bw4XkC6icbdOA== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id EBDD368AEE for <u-boot-concept@u-boot.org>; Tue, 16 Dec 2025 19:28:36 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1765938514; bh=5sbo13GkaJseKVtsCuYOjyz9/rQ5KZkRYXiIH2je/k8=; h=From:To:Cc:Subject:Date:From; b=FPvrmJKwYtaWS52irEFZidJXoYUHVPJXOIK2SnDYu3qGMIscF4AD3xpxM5luqS/UY 3jDQVfXshYlkf96tZeJcEBg/Y6BFWbXnvyKg1bs1EIDqCwF9CXAreky4prOtImLf4j dYzErHDt0MUSiKwFWhL6vf8HPbvQqaVS7ZZ6k5N1tA+64pCyz6MInvY48BwEeY738Q iDrKq5YVMOG7rLMJsmNefcFlcQIyIaBv/cobNwvSjW/DmU0iUz0g5clGlRoCrVya4S JRbnb54mtxFpWeeBroCTUBy2FYe8WoMp2e0neRqQ3JDZlEg1VAWrmlpO5pPSE2PQho Q/W/CKvvxTsOw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 714F268AEE; Tue, 16 Dec 2025 19:28:34 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id fL-upRQatUm9; Tue, 16 Dec 2025 19:28:34 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1765938510; bh=Op5SidvIwuhAehGNt8FrxDxlxyJDVHQRWESMIuu90uU=; h=From:To:Cc:Subject:Date:From; b=G+m63nZf7LK0gxbMIJ9XRMAOoVHryuK35+OaLz+RuPFSrkkGmGuHMVPtEvfrrurCU CQr/rZCiuD5sU5DIvkl2WnL6guX7WJPDB/Sz9N7dsZSaKRd6QcO+jwAEZNl2JsbH4n YYPH/REV5aWGhPjx9uEX5dHcYWku1rYXhgX3jK2inAYfVLAOYIHIOq5FHpPmJG+fg7 IRCNqQaGjcyij95EkD+bzSAdbJbylw0IcF9uA+H/Og8jHJESQgI4Cf615XDohg5S+s 7pkhHLpD1OBbVHHzjpPvC+g9ktobySLDmUOQV1lPbfDoSslcK/3amU3ZJhzJ5lb0cy xHPlrlnOlXwCw== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 0D9E06884F; Tue, 16 Dec 2025 19:28:29 -0700 (MST) From: Simon Glass <sjg@u-boot.org> To: U-Boot Concept <concept@u-boot.org> Date: Tue, 16 Dec 2025 19:27:49 -0700 Message-ID: <20251217022823.392557-1-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Message-ID-Hash: SW44YUDHMXCMUGJVVAM4DXLZRTDYAV7F X-Message-ID-Hash: SW44YUDHMXCMUGJVVAM4DXLZRTDYAV7F X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Simon Glass <simon.glass@canonical.com> X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 00/24] pickman: Refine the feature set List-Id: Discussion and patches related to U-Boot Concept <concept.u-boot.org> Archived-At: <https://lists.u-boot.org/archives/list/concept@u-boot.org/message/SW44YUDHMXCMUGJVVAM4DXLZRTDYAV7F/> List-Archive: <https://lists.u-boot.org/archives/list/concept@u-boot.org/> List-Help: <mailto:concept-request@u-boot.org?subject=help> List-Owner: <mailto:concept-owner@u-boot.org> List-Post: <mailto:concept@u-boot.org> List-Subscribe: <mailto:concept-join@u-boot.org> List-Unsubscribe: <mailto:concept-leave@u-boot.org> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit |
| Series |
pickman: Refine the feature set
|
|
Message
Simon Glass
Dec. 17, 2025, 2:27 a.m. UTC
From: Simon Glass <simon.glass@canonical.com>
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
Simon Glass (24):
pickman: Add terminal.capture() to tests for silent output
pickman: Move imports to top of control.py
pickman: Fix pylint warnings
pickman: Complete database.py coverage
pickman: Add test coverage support
pickman: Add tests to improve control.py coverage
pickman: Improve testing with write_history()
pickman: Extract prepare_apply() from do_apply()
pickman: Extract execute_apply() from do_apply()
pickman: Use named tuples for MR data
pickman: Fix ancestor check in process_merged_mrs
pickman: Fix merge selection to follow first-parent chain
pickman: Add next-merges command
pickman: Fix parse_mr_description to ignore short numbers
pickman: Add database tracking for comment processing
pickman: Add a way to update a gitlab merge-request
pickman: Improve review handling with comment tracking
pickman: Add count-merges command
pickman: Stop poll on errors
pickman: Add config-file support for GitLab token
pickman: Add check-gitlab command
pickman: Skip push pipeline for MR branches
gitlab-ci: Run lab tests automatically for MR pipelines
gitlab-ci: Add pickman tests to CI
.gitlab-ci.yml | 8 +-
tools/pickman/README.rst | 63 +-
tools/pickman/__main__.py | 83 +-
tools/pickman/agent.py | 19 +-
tools/pickman/control.py | 467 ++++++++---
tools/pickman/database.py | 63 +-
tools/pickman/ftest.py | 1320 ++++++++++++++++++++++++++++++-
tools/pickman/gitlab_api.py | 218 ++++-
tools/pickman/requirements.txt | 4 +
tools/u_boot_pylib/test_util.py | 8 +-
10 files changed, 2088 insertions(+), 165 deletions(-)
create mode 100644 tools/pickman/requirements.txt