Skip to content

build(deps): update setproctitle requirement from >=1.1 to >=1.3.7 in /requirements #1044

build(deps): update setproctitle requirement from >=1.1 to >=1.3.7 in /requirements

build(deps): update setproctitle requirement from >=1.1 to >=1.3.7 in /requirements #1044

Workflow file for this run

---
name: Pages
on:
push:
branches: [master]
pull_request:
branches: [master]
release:
types: [created]
branches: [master]
env:
FORCE_COLOR: '1' # Make tools pretty.
PIP_DISABLE_PIP_VERSION_CHECK: '1'
PIP_NO_PYTHON_VERSION_WARNING: '1'
PYTHON_LATEST: '3.12'
# Same policy as the CI/CD workflow: a new push to a pull request supersedes
# the docs build of the commit it replaces, while `push` and `release` runs --
# the ones that seed the cache and publish the site -- always run to
# completion.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
build:
name: Build docs
runs-on: ubuntu-latest
steps:
# Checkout first: the pip cache key below hashes the requirements files,
# which have to be on disk before `setup-python` runs.
- uses: actions/checkout@v4
with:
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
- uses: actions/setup-python@v5
with:
# Pin the interpreter -- the step used to take whatever the runner
# image shipped -- and cache the wheels. Sphinx and its extensions
# were previously downloaded from PyPI on every single run.
python-version: ${{ env.PYTHON_LATEST }}
cache: pip
cache-dependency-path: |
requirements/*.txt
requirements/extras/*.txt
# Sphinx builds incrementally: given its doctree cache and the HTML tree
# it wrote last time, it only re-reads and re-writes the documents whose
# sources changed -- including the `faust` modules autodoc imports, which
# it records as dependencies. Restoring both turns the ~2 minute
# from-scratch build into the delta for this branch. A Sphinx upgrade or
# a conf.py change invalidates the environment on its own, so a full
# rebuild still happens whenever the build itself changes.
#
# Saving is restricted to master pushes on purpose. The primary key
# covers the package sources, so nearly every pull request misses it and
# would write a fresh multi-megabyte entry; against the repository-wide
# 10 GB cache budget that churn would evict the pip caches every few
# days. Pull requests read the newest master entry instead -- usually
# only a commit or two behind -- and write nothing.
- name: Restore the Sphinx build cache
id: sphinx-cache
# Releases are what gets published: build those from scratch rather
# than on top of a doctree cache.
if: github.event_name != 'release'
uses: actions/cache/restore@v4
with:
path: |
docs/_build/doctrees
Documentation
key: >-
sphinx-${{ runner.os }}-py${{ env.PYTHON_LATEST }}-${{ hashFiles(
'docs/**', 'faust/**/*.py', 'requirements/docs.txt',
'requirements/requirements.txt', 'README.md', 'CHANGELOG.md') }}
restore-keys: |
sphinx-${{ runner.os }}-py${{ env.PYTHON_LATEST }}-
# `make docs` builds into docs/_build/html and then moves the result to
# Documentation/ (which is what the cache holds), so put the previous
# output back where Sphinx expects to find it before building.
- name: Seed the Sphinx output directory from the cache
run: |
if [ -d Documentation ]; then
mkdir -p docs/_build
rm -rf docs/_build/html
mv Documentation docs/_build/html
fi
- name: Install runtime dependencies
# The docs import faust for autodoc but never touch the compiled
# accelerators, so skip building the C extensions here.
env:
NO_CYTHON: '1'
run: |
pip install .
pip install -r requirements/docs.txt
- name: Install doc build deps and build with Sphinx
run: make docs
- name: Save the Sphinx build cache
if: >-
github.event_name == 'push'
&& github.ref == 'refs/heads/master'
&& steps.sphinx-cache.outputs.cache-hit != 'true'
uses: actions/cache/save@v4
with:
path: |
docs/_build/doctrees
Documentation
key: ${{ steps.sphinx-cache.outputs.cache-primary-key }}
- name: Upload artifacts
uses: actions/upload-pages-artifact@v3
with:
# Upload built docs
path: ./Documentation
deploy:
name: Deploy docs
if: github.event_name == 'release' && github.event.action == 'created'
needs: build
runs-on: ubuntu-latest
# Grant GITHUB_TOKEN the permissions required to make a Pages deployment
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/deploy-pages@v4
id: deployment
name: Deploy to GitHub Pages