33How to update to a new Python version
44=====================================
55
6- We are currently in branch 3.10 , and we want to update the strings from 3.11 .
6+ We are currently in branch 3.11 , and we want to update the strings from 3.12 .
77
8+ #. Make sure you are in a clean state of the branch 3.11
89
9- #. Make sure you are in a clean state of the branch 3.10
10-
11- #. Create a new branch called ``3.11 ``
10+ #. Create a new branch called ``3.12 ``
1211
1312#. Initialize the submodules::
1413
1514 git submodule init
1615 git submodule update
1716
18- #. Fetch the `latest commit of 3.11 branch <https://github.com/python/cpython/commit/b3cafb60afeb2300002af9982d43703435b8302d >`_::
17+ #. Fetch the `latest commit of 3.12 branch <https://github.com/python/cpython/commit/0fb18b02c8ad56299d6a2910be0bab8ad601ef24 >`_::
1918
2019 cd cpython/
21- git fetch --depth 1 origin b3cafb60afeb2300002af9982d43703435b8302d
20+ git fetch --depth 1 origin 0fb18b02c8ad56299d6a2910be0bab8ad601ef24
2221
2322 .. note:: you could also base the hash on the 'git tag' from the desired
24- version: ``git checkout tags/v3.11 .0 -b 3.11 `` considering that
25- ``3.11 `` doesn't exist locally.
23+ version: ``git checkout tags/v3.12 .0 -b 3.12 `` considering that
24+ ``3.12 `` doesn't exist locally.
2625
2726#. Checkout that commit locally::
2827
29- git checkout b3cafb60afeb2300002af9982d43703435b8302d
28+ git checkout 0fb18b02c8ad56299d6a2910be0bab8ad601ef24
3029
3130#. Update the branch on the ``Makefile `` and check the ``requirements.txt `` from
32- the cpython repository , to see if upgrades on the modules like sphinx is
31+ `` ./ cpython/Doc `` directory , to see if upgrades on the modules like sphinx is
3332 needed.
3433
3534#. Commit the update of the submodule change::
@@ -40,10 +39,16 @@ We are currently in branch 3.10, and we want to update the strings from 3.11.
4039 .. note:: This is important, so the later ``make build`` step will not reset
4140 the cpython submodule to the previous hash on the old branch.
4241
42+ #. Create a virtual environment and install the dependencies of the project::
43+
44+ python -m venv env
45+ source env/bin/activate # Windows: env\Scripts\activate.bat
46+ pip install -r requirements.txt
47+
4348#. Verify that the docs build with the new versions you changed from
4449 ``requirements.txt `` mainly the sphinx version::
4550
46- make html
51+ make build
4752
4853 .. note ::
4954
@@ -54,28 +59,21 @@ We are currently in branch 3.10, and we want to update the strings from 3.11.
5459
5560#. Clean possible garbage (form previous builds)::
5661
57- rm -rf _build ../python-docs-es-pot cpython/Doc/CONTRIBUTING.rst cpython/Doc/upgrade-python-version.rst
62+ rm -rf _build ../python-docs-es-pot cpython/Doc/CONTRIBUTING.rst cpython/Doc/upgrade-python-version.rst reviewers-guide.rst
5863
5964 .. note::
6065
6166 The 'python-docs-es-pot' is a temporary directory that is created
6267 in the next step. It's included here because it might be a leftover
6368 from previous attempts on your machine.
6469
65- #. Create a virtual environment and install the dependencies of the project::
66-
67- python -m venv env
68- source env/bin/activate # Windows: env\Scripts\activate.bat
69- pip install -r requirements.txt
70-
71-
7270#. Create the .po files from the new source code. This will generate all the .po files for version 3.11::
7371
7472 SPHINX_GETTEXT=True sphinx-build -j auto -b gettext -d _build/doctrees . ../python-docs-es-pot
7573
7674 .. note::
7775
78- In ``../python-docs-es-pot`` directory, we will have the new .pot files with new strings from 3.11 branch.
76+ In ``../python-docs-es-pot`` directory, we will have the new .pot files with new strings from 3.12 branch.
7977 All these strings will be *untranslated* at this point.
8078
8179#. Now, we update our translated files form the source language (English) with new strings::
@@ -85,8 +83,8 @@ We are currently in branch 3.10, and we want to update the strings from 3.11.
8583#. At this point, all the ``.po `` files will have a different comment on each translation phrase,
8684 for example::
8785
88- -#: ../python-docs-es/cpython/Doc/whatsnew/3.11 .rst:3
89- +#: ../Doc/whatsnew/3.11 .rst:3
86+ -#: ../python-docs-es/cpython/Doc/whatsnew/3.12 .rst:3
87+ +#: ../Doc/whatsnew/3.12 .rst:3
9088
9189 As you can see, it added the path of the local repository, but you can
9290 remove it from it with this regular expression::
@@ -115,10 +113,16 @@ We are currently in branch 3.10, and we want to update the strings from 3.11.
115113 of the new branch is done. So prepare a cup of any hot beverage
116114 and fix them.
117115
116+ **Once the process is completely and you are happy with the results,
117+ there are a few extra steps to finish the process **
118118
119- Once the process is completely and you are happy with the results,
120- there are a few extra steps to finish the process::
119+ #. Upgrade GitHub Actions to use Python 3.12, by updating Python version to 3.12 in the ``.github/workflows/main.yml `` file.
121120
122- #. Upgrade GitHub Actions to use Python 3.11
121+ #. Update the *Read the Docs * project to use 3.12 in the build and also as default branch/version.
122+
123+ #. Commit all the newly created files locally.
124+
125+ #. Create branch 3.12 in the repository in order to merge changes there.
126+
127+ #. Inside the github project settings, set 3.12 branch as the default branch for the repository.
123128
124- #. Update Read the Docs project to use 3.11 in the build and also as default branch/version
0 commit comments