Skip to content

Allow passing multiple branches to build via CLI #235

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Apr 11, 2025

Conversation

hugovk
Copy link
Member

@hugovk hugovk commented Dec 8, 2024

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 #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 hugovk mentioned this pull request Dec 8, 2024
@hugovk hugovk changed the title Allow passing multiple branches build via CLI Allow passing multiple branches to build via CLI Dec 8, 2024
@hugovk
Copy link
Member Author

hugovk commented Apr 11, 2025

Merge conflict fixed following refactor in #254.

Added f7e617d to use https://docs.python.org/3/library/argparse.html#deprecated, added in 3.13, to make the deprecation more visible.

@AA-Turner
Copy link
Member

We should just remove the singular variants of the flags. build_docs.py is only invoked by psf-salt, tests in python-docs-theme, and users with SSH access to the docs server. I added --language as a hot-fix in 6d53796 as the incorrect spelling of --language had spread, but was permitted due to allow_abbrev defaulting to True in ArgumentParser. See python/psf-salt#560 and python/python-docs-theme#228 to update usage to --languages.

For --version, it's not used externally, so we can just remove it.

A

hugovk and others added 2 commits April 11, 2025 17:27
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
@AA-Turner AA-Turner merged commit 2113fd7 into python:main Apr 11, 2025
5 checks passed
@hugovk hugovk deleted the version-filter branch April 11, 2025 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants