Skip to content

Commit

Permalink
Merge pull request #1987 from effigies/rtd/speed-up-build
Browse files Browse the repository at this point in the history
chore(rtd): Speed up doc build with uv
  • Loading branch information
effigies authored Dec 12, 2024
2 parents 46d2399 + 294adbd commit 85ee481
Showing 1 changed file with 24 additions and 8 deletions.
32 changes: 24 additions & 8 deletions readthedocs.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,36 @@
version: 2

build:
os: ubuntu-22.04
apt_packages:
- jq
os: ubuntu-lts-latest
tools:
python: "3.11"
python: latest
jobs:
# The *_create_environment and post_install steps replace RTD's virtual environment
# steps with uv, a much faster alternative to virtualenv+pip.
pre_create_environment:
# Install jq and uv
- asdf plugin add jq https://github.com/lsanwick/asdf-jq.git
- asdf plugin add uv https://github.com/asdf-community/asdf-uv.git
- asdf install jq latest
- asdf install uv latest
- asdf global jq latest
- asdf global uv latest
# Turn `python -m virtualenv` into `python -c pass`
- truncate --size 0 $( dirname $( uv python find ) )/../lib/python3*/site-packages/virtualenv/__main__.py
post_create_environment:
- uv venv $READTHEDOCS_VIRTUALENV_PATH
# Turn `python -m pip` into `python -c pass`
- truncate --size 0 $( ls -d $READTHEDOCS_VIRTUALENV_PATH/lib/python3* )/site-packages/pip.py
# post_install replaces the top-level {python: {install: [{requirements: requirements.txt}]}}
post_install:
# Use a cache dir in the same mount to halve the install time
- VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH uv pip install --cache-dir $READTHEDOCS_VIRTUALENV_PATH/../../uv_cache -r requirements.txt
# Normal pre-build step to inject schema.json into the source directory
# so schema.json is hosted alongside the specification documents
pre_build:
- bst -v export --output src/schema.json
- tools/no-bad-schema-paths.sh src/schema.json # README.md might need fixing

mkdocs:
configuration: mkdocs.yml
fail_on_warning: true

python:
install:
- requirements: requirements.txt

0 comments on commit 85ee481

Please sign in to comment.