[LTP] [PATCH v4 0/4] Support for Patchwork CI
Andrea Cervesato
andrea.cervesato@suse.de
Fri Apr 11 10:01:55 CEST 2025
Add support for patch-series validation in the patchwork ML.
We use Github to schedule a trigger every 30 minutes, checking for new
patche-series in parchwork which has not been tested yet.
The way we decide if a patch-series has been tested in patchwork, is
by looking at its status (in particular, if it's "Needs Review / ACK"),
as well as checking if test report has been uploaded to any of the
series patches.
All communication to Patchwrok is done via REST API, using curl and js
tools.
First, we create a script called patchwork-ci.sh that provides all the
commands to read new untested patch-series, set their status and testing
report. Then, we create a scheduled workflow in Gitlab, checking every
30 minutes if there are new untested patch-series. At the end, we
trigger the main build workflow, used to validate LTP commits in our
Github mainline. All the times we trigger the build workflow, we also
provide the patch-series ID, that will be fetched and applied on the
current branch before running the tests.
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
Changes in v4:
- make use of secrets to apply patches in order to set state to
needs-review-ack
- check for curl failures and eventually exit 1
- use a different format for stored file in 'patchwork-ci.sh verify'
command
- define PATCHWORK_CI_FILE
- some symbols like . are not supported by patchwork checks, so slurmify
the string before sending checks context
- Link to v3: https://lore.kernel.org/r/20250411-patchwork_ci-v3-0-c9bb90c6961b@suse.com
Changes in v3:
- secrets are not supported by if: statement, so we remove it
- Link to v2: https://lore.kernel.org/r/20250410-patchwork_ci-v2-0-288f4be835ff@suse.com
Changes in v2:
- check for secrets.PATCHWORK_TOKEN before sending tests results
- v2 to re-trigger lore after missing 3/4 patch
- Link to v1: https://lore.kernel.org/r/20250410-patchwork_ci-v1-0-def85825f46a@suse.com
---
Andrea Cervesato (4):
ci: install dependences for patchwork-ci script
ci: add patchwork-ci script
ci: add ci-patchwork-trigger workflow
ci: apply patchwork series in ci-docker-build workflow
.github/workflows/ci-docker-build.yml | 31 ++++-
.github/workflows/ci-patchwork-trigger.yml | 63 ++++++++++
ci/alpine-runtime.sh | 2 +
ci/alpine.sh | 2 +
ci/debian.i386.sh | 2 +
ci/debian.sh | 28 +++--
ci/fedora.sh | 2 +
ci/patchwork-ci.sh | 184 +++++++++++++++++++++++++++++
ci/tumbleweed.sh | 2 +
9 files changed, 302 insertions(+), 14 deletions(-)
---
base-commit: 8000c950d6ba61a541a9278cdda6d68141c2fc0d
change-id: 20250410-patchwork_ci-7dc4ae02c40d
Best regards,
--
Andrea Cervesato <andrea.cervesato@suse.com>
More information about the ltp
mailing list