Skip to content

Generate and lint documentation for master by @coderabbitai[bot] #181

Generate and lint documentation for master by @coderabbitai[bot]

Generate and lint documentation for master by @coderabbitai[bot] #181

Workflow file for this run

---
name: CI-DOCS
description: "Continuous Integration workflow for Testing Documentation Building."
run-name: Generate and lint documentation for ${{ github.ref_name }} by @${{ github.actor }}
#
# Jobs included:
# - DOCS: Builds and lints documentation
#
# Required Secrets:
# - DOCS_BUILD_REF: Automatic
permissions: {}
on: # yamllint disable-line rule:truthy
push:
branches: ["main", "master", "stable"]
tags: ["v*"]
pull_request:
types: [opened, reopened, ready_for_review]
branches: ["feature-*", "patch-*", "HOTFIX-*"]
pull_request_target:
types: [opened, edited, reopened, ready_for_review]
branches: ["main", "master", "stable"]
jobs:
DOCS:
permissions:
actions: read
contents: read
statuses: write
packages: none
pull-requests: read
security-events: none
environment: ${{ (github.ref == 'refs/heads/stable' || startsWith(github.ref, 'refs/tags/v')) && 'Deployment' || (github.ref == 'refs/heads/master') && 'Testing' || 'Experimenting' }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["${{ vars.PYTHON_OLD_MIN }}", "${{ vars.PYTHON_DEFAULT }}", "${{ vars.PYTHON_EXPERIMENTAL }}"]
env:
OS: ${{ matrix.os }}
PYTHON_VERSION: ${{ matrix.python-version }}
LANG: "en_US.utf-8"
LC_CTYPE: "en_US.utf-8"
DOCS_BUILD_REF: ${{ github.sha }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
with:
python-version: ${{ matrix.python-version }}
- name: Fix braindead windows ${{ matrix.python-version }} on ${{ matrix.os }}
uses: ./.github/actions/upgrade-windows-pip
- name: Install dependencies for python ${{ matrix.python-version }} on ${{ matrix.os }}
run: |
pip install --upgrade "pip>=24.3.1" "setuptools>=75.0" "wheel>=0.44" "build>=1.2.1";
pip install -r ./requirements.txt ;
pip install -r ./tests/requirements.txt || true ;
- name: Pre-Clean
id: clean-prep
run: make -j1 -f Makefile clean ;
- name: Pre-build for Python ${{ matrix.python-version }} on ${{ matrix.os }}
run: make -j1 -f Makefile build ;
if: ${{ success() }}
- name: Generate documentation with py${{ matrix.python-version }} on ${{ matrix.os }}
run: make -j1 -f Makefile build-docs 2>&1 >> $GITHUB_STEP_SUMMARY ;
if: ${{ !cancelled() }}
- name: Lint documentation
run: |
pip install --upgrade sphinx-lint
sphinx-lint docs/ 2>&1 >> $GITHUB_STEP_SUMMARY || true ;
if: ${{ !cancelled() }}
- name: Upload Docs Artifact with Python ${{ matrix.python-version }} on ${{ matrix.os }}
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: Multicast-Documentation-${{ github.sha }}-${{ matrix.os }}-${{ matrix.python-version }}
path: ./docs/www/
if-no-files-found: ignore
- name: Post-purge
id: post-uninstall
run: make -j1 -f Makefile purge || true ;
if: ${{ !cancelled() }}
- name: Post-Clean
id: post-end
run: make -j1 -f Makefile clean || true ;
if: ${{ !cancelled() }}