docsbuild-scripts icon indicating copy to clipboard operation
docsbuild-scripts copied to clipboard

Allow passing multiple branches to build via CLI

Open hugovk opened this issue 1 year ago • 0 comments

A full set of Python 3.9-3.13 security+bugfix releases were made last week:

https://discuss.python.org/t/python-3-13-1-3-12-8-3-11-11-3-10-16-and-3-9-21-are-now-available/73214

The bugfix branches (3.12 and 3.13) are automatically built on cron.

The security branches (3.9-3.11) need manual rebuilds. We also have the final 3.8 to manually run. It's taken 16 and 13 hours for a full build of the first two so far (3.11 and 3.10; see https://github.com/python/docsbuild-scripts/issues/216).

We will certainly have big omnibus security releases in the future and instead of having to run each one separately:

/srv/docsbuild/venv/bin/python /srv/docsbuild/scripts/build_docs.py --branch 3.11
/srv/docsbuild/venv/bin/python /srv/docsbuild/scripts/build_docs.py --branch 3.10
/srv/docsbuild/venv/bin/python /srv/docsbuild/scripts/build_docs.py --branch 3.9
/srv/docsbuild/venv/bin/python /srv/docsbuild/scripts/build_docs.py --branch 3.8

It would be useful to pass all branch versions, in a similar way we can with --languages:

/srv/docsbuild/venv/bin/python /srv/docsbuild/scripts/build_docs.py --branch 3.11 3.10 3.9 3.8

This PR does that.

I added unit tests for the Version.filter method I changed, along with coverage. We can use coverage to guide adding more tests in the future.


I also added --branches as a new name for this argument and kept the old --branch so as not to break any other scripts, but we could change it later.

We could also make it's use more explicitly deprecated, like print a warning if --branch is used? Maybe it's safe to rename it right away?

hugovk avatar Dec 08 '24 19:12 hugovk