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