cpython/.github/workflows/doc.yml
Petr Viktorin 7b0351cf6a
[3.10] gh-129641: Docs GHA build: use upload-artifact@v4 & Python 3.12 (#129642)
* [3.10] gh-129641: Switch Docs GHA build to actions/upload-artifact@v4

Add options for backwards compatibility, from the docs at:
https://github.com/actions/upload-artifact?tab=readme-ov-file#breaking-changes

* Python Tutorial typo fix (#128077)

Backported form commit: 5a584c8f54

This is a trivial change meant to trigger a Docs build.

* Use Python 3.12 for the 3.10 docs build

The pinned version of Sphinx requires `imghdr`, removed in Python 3.13.

---------

Co-authored-by: shallow-beach <96891913+shallow-beach@users.noreply.github.com>
2025-02-13 01:31:51 +00:00

80 lines
2.1 KiB
YAML

name: Docs
on:
#push:
# branches:
# - master
# - 3.9
# - 3.8
# - 3.7
# paths:
# - 'Doc/**'
pull_request:
branches:
- master
- 3.10
- 3.9
- 3.8
- 3.7
paths:
- 'Doc/**'
- 'Misc/**'
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build_doc:
name: 'Docs'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Register Sphinx problem matcher
run: echo "::add-matcher::.github/problem-matchers/sphinx.json"
- name: 'Set up Python'
uses: actions/setup-python@v4
with:
python-version: '3.12'
cache: 'pip'
cache-dependency-path: 'Doc/requirements.txt'
- name: 'Install build dependencies'
run: make -C Doc/ venv
- name: 'Build HTML documentation'
run: make -C Doc/ SPHINXOPTS="-q" SPHINXERRORHANDLING="-W --keep-going" html
- name: 'Upload'
uses: actions/upload-artifact@v4
with:
name: doc-html
path: Doc/build/html
include-hidden-files: true
overwrite: true
# Run "doctest" on HEAD as new syntax doesn't exist in the latest stable release
doctest:
name: 'Doctest'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Register Sphinx problem matcher
run: echo "::add-matcher::.github/problem-matchers/sphinx.json"
- uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ubuntu-doc-${{ hashFiles('Doc/requirements.txt') }}
restore-keys: |
ubuntu-doc-
- name: 'Install Dependencies'
run: sudo ./.github/workflows/posix-deps-apt.sh && sudo apt-get install wamerican
- name: 'Configure CPython'
run: ./configure --with-pydebug
- name: 'Build CPython'
run: make -j4
- name: 'Install build dependencies'
run: make -C Doc/ PYTHON=../python venv
# Use "xvfb-run" since some doctest tests open GUI windows
- name: 'Run documentation doctest'
run: xvfb-run make -C Doc/ PYTHON=../python SPHINXOPTS="-q" SPHINXERRORHANDLING="-W --keep-going" doctest