From 782fa232a786d065055614ff2957746bd1cc1dac Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Wed, 26 Nov 2025 09:22:39 +0200 Subject: [PATCH 1/2] Remove manual step to edit pre-release page --- run_release.py | 18 ------------------ tests/test_run_release.py | 40 --------------------------------------- 2 files changed, 58 deletions(-) diff --git a/run_release.py b/run_release.py index fce4b906..a941279d 100755 --- a/run_release.py +++ b/run_release.py @@ -1110,23 +1110,6 @@ def purge_the_cdn(db: ReleaseShelf) -> None: raise RuntimeError("Failed to purge the python.org/downloads CDN") -def modify_the_prereleases_page(db: ReleaseShelf) -> None: - if db["release"].is_final: - if not ask_question( - "Have you already removed the release from https://www.python.org/download/pre-releases/ ?" - ): - raise ReleaseException( - "The release has not been removed from the pre-releases page" - ) - else: - if not ask_question( - "Have you already added the release to https://www.python.org/download/pre-releases/ ?" - ): - raise ReleaseException( - "The release has not been added to the pre-releases page" - ) - - def modify_the_docs_by_version_page(db: ReleaseShelf) -> None: if db["release"].is_final: version = db["release"] @@ -1478,7 +1461,6 @@ def _api_key(api_key: str) -> str: Task(remove_temporary_branch, "Removing temporary release branch"), Task(run_add_to_python_dot_org, "Add files to python.org download page"), Task(purge_the_cdn, "Purge the CDN of python.org/downloads"), - Task(modify_the_prereleases_page, "Modify the pre-release page"), Task(modify_the_docs_by_version_page, "Update docs by version page"), Task(announce_release, "Announce the release"), ] diff --git a/tests/test_run_release.py b/tests/test_run_release.py index 0bb87c04..7c7a5998 100644 --- a/tests/test_run_release.py +++ b/tests/test_run_release.py @@ -147,46 +147,6 @@ def test_check_doc_unreleased_version_waived(monkeypatch, tmp_path: Path) -> Non run_release.check_doc_unreleased_version(cast(ReleaseShelf, db)) -@pytest.mark.parametrize( - ["tag", "expected"], - [ - ("3.14.0a7", "Have you already added the release to "), - ("3.13.3", "Have you already removed the release from "), - ], -) -def test_modify_the_prerelease_page_yes( - capsys, monkeypatch, tag: str, expected: str -) -> None: - # Arrange - db = {"release": Tag(tag)} - - # Act - with fake_answers(monkeypatch, ["yes"]): - run_release.modify_the_prereleases_page(cast(ReleaseShelf, db)) - - # Assert - assert expected in capsys.readouterr().out - - -@pytest.mark.parametrize( - ["tag", "expected"], - [ - ("3.14.0a7", "The release has not been added to the pre-releases page"), - ("3.13.3", "The release has not been removed from the pre-releases page"), - ], -) -def test_modify_the_prerelease_page_no(monkeypatch, tag: str, expected: str) -> None: - # Arrange - db = {"release": Tag(tag)} - - # Act - with ( - fake_answers(monkeypatch, ["no"]), - pytest.raises(run_release.ReleaseException, match=expected), - ): - run_release.modify_the_prereleases_page(cast(ReleaseShelf, db)) - - def test_modify_the_docs_by_version_page_prerelease(capsys) -> None: # Arrange db = {"release": Tag("3.14.0a7")} From 241c53b9c3d93ffcc1ef357de6350e884b03d68f Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com> Date: Wed, 26 Nov 2025 09:25:48 +0200 Subject: [PATCH 2/2] Remove manual step to edit docs page --- run_release.py | 17 --------------- tests/test_run_release.py | 44 --------------------------------------- 2 files changed, 61 deletions(-) diff --git a/run_release.py b/run_release.py index a941279d..032c5b3d 100755 --- a/run_release.py +++ b/run_release.py @@ -9,7 +9,6 @@ import argparse import asyncio import contextlib -import datetime as dt import functools import getpass import json @@ -1110,21 +1109,6 @@ def purge_the_cdn(db: ReleaseShelf) -> None: raise RuntimeError("Failed to purge the python.org/downloads CDN") -def modify_the_docs_by_version_page(db: ReleaseShelf) -> None: - if db["release"].is_final: - version = db["release"] - date = dt.datetime.now().strftime("%d %B %Y") - if not ask_question( - "Have you already added the docs to https://www.python.org/doc/versions/ ?\n" - "For example:\n" - f"* `Python {version} `_, " - f"documentation released on {date}." - ): - raise ReleaseException( - "The docs have not been added to the docs by version page" - ) - - def announce_release(db: ReleaseShelf) -> None: if not ask_question( "Have you announced the release at https://discuss.python.org/c/core-dev/23 " @@ -1461,7 +1445,6 @@ def _api_key(api_key: str) -> str: Task(remove_temporary_branch, "Removing temporary release branch"), Task(run_add_to_python_dot_org, "Add files to python.org download page"), Task(purge_the_cdn, "Purge the CDN of python.org/downloads"), - Task(modify_the_docs_by_version_page, "Update docs by version page"), Task(announce_release, "Announce the release"), ] automata = ReleaseDriver( diff --git a/tests/test_run_release.py b/tests/test_run_release.py index 7c7a5998..47864f52 100644 --- a/tests/test_run_release.py +++ b/tests/test_run_release.py @@ -147,50 +147,6 @@ def test_check_doc_unreleased_version_waived(monkeypatch, tmp_path: Path) -> Non run_release.check_doc_unreleased_version(cast(ReleaseShelf, db)) -def test_modify_the_docs_by_version_page_prerelease(capsys) -> None: - # Arrange - db = {"release": Tag("3.14.0a7")} - - # Act - run_release.modify_the_docs_by_version_page(cast(ReleaseShelf, db)) - - # Assert - assert capsys.readouterr().out == "" - - -def test_modify_the_docs_by_version_page_final_no(capsys, monkeypatch) -> None: - # Arrange - db = {"release": Tag("3.13.3")} - - # Act - with ( - fake_answers(monkeypatch, ["no"]), - pytest.raises(run_release.ReleaseException), - ): - run_release.modify_the_docs_by_version_page(cast(ReleaseShelf, db)) - - # Assert - assert ( - "* `Python 3.13.3 `_, documentation released on" - in capsys.readouterr().out - ) - - -def test_modify_the_docs_by_version_page_final_yes(capsys, monkeypatch) -> None: - # Arrange - db = {"release": Tag("3.13.3")} - - # Act - with fake_answers(monkeypatch, ["yes"]): - run_release.modify_the_docs_by_version_page(cast(ReleaseShelf, db)) - - # Assert - assert ( - "* `Python 3.13.3 `_, documentation released on" - in capsys.readouterr().out - ) - - def test_update_whatsnew_toctree(tmp_path: Path) -> None: # Arrange # Only first beta triggers update