- 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: >-
- check-docs
- check-autoconf-regen
- check-generated-files
+ - check-c-api-docs
- build-windows
- build-windows-msi
- build-macos
'
|| ''
}}
+ ${{
+ !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,' || '' }}
--- /dev/null
+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