https://github.com/python/cpython/commit/e5b5a1580411fb9587af8974db68f0857033ba14
commit: e5b5a1580411fb9587af8974db68f0857033ba14
branch: main
author: Stan Ulbrych <[email protected]>
committer: encukou <[email protected]>
date: 2026-01-13T10:18:48+01:00
summary:

gh-141004: GHA: Run `check-c-api-docs` check on docs-only PRs (GH-143573)

Co-authored-by: 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) 
<[email protected]>

files:
A .github/workflows/reusable-check-c-api-docs.yml
M .github/workflows/build.yml

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 6769cdd4531a0c..5fd5778e28fdbb 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -142,9 +142,14 @@ jobs:
       - name: Check for unsupported C global variables
         if: github.event_name == 'pull_request'  # $GITHUB_EVENT_NAME
         run: make check-c-globals
-      - name: Check for undocumented C APIs
-        run: make check-c-api-docs
 
+  check-c-api-docs:
+    name: C API Docs
+    needs: build-context
+    if: >-
+      needs.build-context.outputs.run-tests == 'true'
+      || needs.build-context.outputs.run-docs == 'true'
+    uses: ./.github/workflows/reusable-check-c-api-docs.yml
 
   build-windows:
     name: >-
@@ -685,6 +690,7 @@ jobs:
     - check-docs
     - check-autoconf-regen
     - check-generated-files
+    - check-c-api-docs
     - build-windows
     - build-windows-msi
     - build-macos
@@ -721,6 +727,12 @@ jobs:
             '
             || ''
           }}
+          ${{
+            !fromJSON(needs.build-context.outputs.run-tests)
+            && !fromJSON(needs.build-context.outputs.run-docs)
+            && 'check-c-api-docs,'
+            || ''
+          }}
           ${{ !fromJSON(needs.build-context.outputs.run-windows-tests) && 
'build-windows,' || '' }}
           ${{ !fromJSON(needs.build-context.outputs.run-ci-fuzz) && 'cifuzz,' 
|| '' }}
           ${{ !fromJSON(needs.build-context.outputs.run-macos) && 
'build-macos,' || '' }}
diff --git a/.github/workflows/reusable-check-c-api-docs.yml 
b/.github/workflows/reusable-check-c-api-docs.yml
new file mode 100644
index 00000000000000..bab1ca67d538ad
--- /dev/null
+++ b/.github/workflows/reusable-check-c-api-docs.yml
@@ -0,0 +1,25 @@
+name: Reusable C API Docs Check
+
+on:
+  workflow_call:
+
+permissions:
+  contents: read
+
+env:
+  FORCE_COLOR: 1
+
+jobs:
+  check-c-api-docs:
+    name: 'Check if all C APIs are documented'
+    runs-on: ubuntu-latest
+    timeout-minutes: 5
+    steps:
+      - uses: actions/checkout@v4
+        with:
+          persist-credentials: false
+      - uses: actions/setup-python@v5
+        with:
+          python-version: '3.x'
+      - name: Check for undocumented C APIs
+        run: python Tools/check-c-api-docs/main.py

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to