[LTP] [PATCH v3] ci: enable doc testing for new patchwork patches

Andrea Cervesato andrea.cervesato@suse.de
Thu Dec 18 11:30:07 CET 2025


From: Andrea Cervesato <andrea.cervesato@suse.com>

Run documentation build in the ci-patchwork-trigger GitHub
workflow when new patchwork patches arrive in the ML.

Acked-by: Cyril Hrubis <chrubis@suse.cz>
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
 .github/workflows/ci-patchwork-trigger.yml | 29 +++++++++++++++----------
 .github/workflows/ci-sphinx-doc.yml        | 35 ++++++++++++++++++++++++++++++
 2 files changed, 53 insertions(+), 11 deletions(-)

diff --git a/.github/workflows/ci-patchwork-trigger.yml b/.github/workflows/ci-patchwork-trigger.yml
index 0938aed5ad0df8af8e2e575283b56475ff219ff3..240bc9edc137dbc6eb3b4b0474dc7779809e7bb4 100644
--- a/.github/workflows/ci-patchwork-trigger.yml
+++ b/.github/workflows/ci-patchwork-trigger.yml
@@ -43,6 +43,11 @@ jobs:
               return;
             }
 
+            const workflows = [
+              'ci-docker-build.yml',
+              'ci-sphinx-doc.yml'
+            ];
+
             for (const data of lines) {
               const [series_id, series_mbox] = data.split('|');
               if (series_id.length === 0 || series_mbox.length === 0) {
@@ -50,16 +55,18 @@ jobs:
                 continue;
               }
 
-              const response = await github.rest.actions.createWorkflowDispatch({
-                owner: context.repo.owner,
-                repo: context.repo.repo,
-                ref: context.ref,
-                workflow_id: 'ci-docker-build.yml',
-                inputs: {
-                  SERIES_ID: series_id,
-                  SERIES_MBOX: series_mbox,
-                }
-              });
+              for (const workflow in workflows) {
+                const response = await github.rest.actions.createWorkflowDispatch({
+                  owner: context.repo.owner,
+                  repo: context.repo.repo,
+                  ref: context.ref,
+                  workflow_id: workflow,
+                  inputs: {
+                    SERIES_ID: series_id,
+                    SERIES_MBOX: series_mbox,
+                  }
+                });
 
-              console.log(response);
+                console.log(response);
+              };
             }
diff --git a/.github/workflows/ci-sphinx-doc.yml b/.github/workflows/ci-sphinx-doc.yml
index 457aa5a2355d1d93db243090ca31b1c634338b25..b225d32a6ba448fef2fb103cf7f891557be27a05 100644
--- a/.github/workflows/ci-sphinx-doc.yml
+++ b/.github/workflows/ci-sphinx-doc.yml
@@ -9,6 +9,16 @@ on:
     - master
   pull_request:
     paths: ['doc/**']
+  workflow_dispatch:
+    inputs:
+      SERIES_ID:
+        description: LTP patch series ID
+        required: false
+        default: ''
+      SERIES_MBOX:
+        description: LTP patch series URL
+        required: false
+        default: ''
 
 permissions: {}
 
@@ -26,11 +36,36 @@ jobs:
           sudo apt update
           sudo apt install autoconf make python3-virtualenv
 
+      - name: Apply Patchwork series
+        if: inputs.SERIES_ID != '' && inputs.SERIES_MBOX != ''
+        env:
+          PATCHWORK_TOKEN: ${{ secrets.PATCHWORK_TOKEN }}
+        run: |
+          git config --global user.name 'GitHub CI'
+          git config --global user.email 'github@example.com'
+          git config --global --add safe.directory "$GITHUB_WORKSPACE"
+
+          git checkout -b review_patch_series_"${{ inputs.SERIES_ID }}"
+          curl -k "${{ inputs.SERIES_MBOX }}" | git am
+
+          ./ci/tools/patchwork.sh state "${{ inputs.SERIES_ID }}" "needs-review-ack"
+
       - name: Run configure
         run: |
           cd "$GITHUB_WORKSPACE/ltp/"
           make autotools && ./configure
 
+      - name: Send results to Patchwork
+        if: always() && inputs.SERIES_ID != '' && inputs.SERIES_MBOX != ''
+        env:
+          PATCHWORK_TOKEN: ${{ secrets.PATCHWORK_TOKEN }}
+        run: |
+          ./ci/tools/patchwork.sh check \
+            "${{ inputs.SERIES_ID }}" \
+            "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
+            "${{ matrix.container }}" \
+            "${{ job.status }}"
+
       - name: Install sphinx dependencies
         run: |
           cd "$GITHUB_WORKSPACE/ltp/doc/"

---
base-commit: 89d95c6aec39356317338931652a857660873158
change-id: 20251218-ci_enable_sphinx_doc-166e987d08b3

Best regards,
-- 
Andrea Cervesato <andrea.cervesato@suse.com>



More information about the ltp mailing list