ci: add documentation checks #10
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Automatic documentation checks | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review] | |
workflow_call: | |
inputs: | |
python-version: | |
description: 'Version of the Python interpreter to use (defaults to 3.10)' | |
required: false | |
type: string | |
default: '3.10' | |
woke-target: | |
description: 'Target to run for the inclusive language check (default: "woke")' | |
required: false | |
type: string | |
default: 'woke' | |
linkcheck-target: | |
description: 'Target to run for the link check (default: "linkcheck")' | |
required: false | |
type: string | |
default: 'linkcheck' | |
pa11y-target: | |
description: 'Target to run for the accessibility check (default: "pa11y")' | |
required: false | |
type: string | |
default: 'pa11y' | |
outputs: | |
spellcheck-result: | |
description: "Result of the spelling check" | |
value: ${{ jobs.docchecks.outputs.result_spelling }} | |
woke-result: | |
description: "Result of the inclusive language check" | |
value: ${{ jobs.docchecks.outputs.result_woke }} | |
linkcheck-result: | |
description: "Result of the link check" | |
value: ${{ jobs.docchecks.outputs.result_links }} | |
pa11y-result: | |
description: "Result of the pa11y check" | |
value: ${{ jobs.docchecks.outputs.result_pa11y }} | |
jobs: | |
docchecks: | |
name: Run documentation checks | |
runs-on: ubuntu-22.04 | |
outputs: | |
result_spelling: ${{ steps.spellcheck-step.outcome }} | |
result_woke: ${{ steps.woke-step.outcome }} | |
result_links: ${{ steps.linkcheck-step.outcome }} | |
result_pa11y: ${{ steps.pa11y-step.outcome }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ inputs.python-version }} | |
- name: Inclusive Language Check | |
id: woke-step | |
if: success() || failure() | |
uses: canonical/documentation-workflows/inclusive-language@main | |
with: | |
working-directory: doc/sphinx | |
install-target: install | |
woke-target: woke | |
makefile: Makefile | |
- name: Accessibility Check | |
id: pa11y-step | |
continue-on-error: true | |
if: success() || failure() | |
uses: canonical/documentation-workflows/pa11y@main | |
with: | |
working-directory: doc/sphinx | |
install-target: install | |
pa11y-target: pa11y | |
makefile: Makefile | |
- name: Link Check | |
id: linkcheck-step | |
if: success() || failure() | |
uses: canonical/documentation-workflows/linkcheck@main | |
with: | |
working-directory: doc/sphinx | |
install-target: install | |
linkcheck-target: linkcheck | |
makefile: Makefile | |
- name: Spell Check | |
id: spellcheck-step | |
if: success() || failure() | |
uses: canonical/documentation-workflows/spellcheck@main | |
with: | |
working-directory: doc/sphinx | |
install-target: install | |
spelling-target: spelling | |
makefile: Makefile | |
- if: ${{ failure() && runner.debug }} | |
name: Setup upterm session | |
uses: mxschmitt/action-tmate@v3 | |
with: | |
limit-access-to-actor: true |