Skip to content

Commit ce2b350

Browse files
authored
Merge branch '3.12' into distributing-python-modules
2 parents 412bb10 + e43a7c9 commit ce2b350

File tree

127 files changed

+3514
-3163
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+3514
-3163
lines changed

.github/workflows/main.yml

Lines changed: 58 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,39 +6,86 @@ on:
66
- 3.*
77
pull_request:
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
test:
1114
name: Test
1215
runs-on: ubuntu-22.04
1316
steps:
17+
# Obtención del código
1418
- uses: actions/checkout@v4
19+
with:
20+
submodules: 'true'
21+
# Necesario para que tj-actions/changed-files se ejecute
22+
# dentro de un tiempo adecuado
23+
fetch-depth: 2
24+
25+
# Instalación de dependencias
1526
- name: Preparar Python v3.11
16-
uses: actions/setup-python@v4
27+
uses: actions/setup-python@v5
1728
with:
1829
python-version: "3.11"
1930
cache: "pip"
20-
- name: Sincronizar con CPython
21-
run: |
22-
git submodule update --init --depth=1 cpython
23-
- name: Instalar dependencias
31+
- name: Configura dpkg/apt para ejecutarse de manera eficiente
32+
uses: abbbi/github-actions-tune@v1
33+
- name: Deshabilita triggers de postgresql-common
34+
run: sudo sed -i '/postgresql-common/d' /var/lib/dpkg/triggers/File
35+
- name: Instalar dependencias de sistema
2436
run: |
2537
sudo apt-get update
26-
sudo apt-get install -y hunspell hunspell-es gettext language-pack-es
38+
sudo apt-get install -y hunspell hunspell-es gettext language-pack-es locales-all
39+
- name: Instalar dependencias de Python
40+
run: |
2741
python -m pip install -r requirements.txt
42+
- name: Listar paquetes y versiones
43+
run: |
2844
pip list
2945
pospell --version
3046
powrap --version
47+
48+
# Cálculo de los archivos .po a verificar.
49+
# En el caso de un PR, sólo se chequean los .po que se están editando,
50+
# mientras que en caseo de un push a las ramas 3.* queremos revisar
51+
# todos los archivos
52+
- name: Obtiene la lista de archivos .po con cambios (sólo en PRs)
53+
if: github.event_name == 'pull_request'
54+
id: changed-po-files
55+
uses: tj-actions/changed-files@v41
56+
with:
57+
files: |
58+
**/*.po
59+
- name: Calcula lista de archivos .po a revisar
60+
id: po-files-to-check
61+
env:
62+
PO_FILES_TO_CHECK: ${{ steps.changed-po-files.conclusion == 'skipped' && '**/*.po' || steps.changed-po-files.outputs.all_changed_files }}
63+
run: |
64+
echo "po_files_to_check=$PO_FILES_TO_CHECK" >> $GITHUB_OUTPUT
65+
echo "any_po_files_to_check=`test -n \"$PO_FILES_TO_CHECK\" && echo true || echo false`" >> $GITHUB_OUTPUT
66+
- name: Muestra outputs de steps anteriores para debugueo
67+
env:
68+
CHANGED_PO_FILES: ${{ toJson(steps.changed-po-files) }}
69+
PO_FILES_TO_CHECK: ${{ toJson(steps.po-files-to-check) }}
70+
run: |
71+
echo "steps.changed-po-files=$PO_FILES_TO_CHECK"
72+
echo "steps.po-files-to-change.$CHANGED_PO_FILES"
73+
74+
# Chequeos a realizar
3175
- name: TRANSLATORS
3276
run: |
3377
diff -Naur TRANSLATORS <(LANG=es python scripts/sort.py < TRANSLATORS)
3478
- name: Powrap
35-
run: powrap --check --quiet **/*.po
79+
if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true'
80+
run: powrap --check --quiet ${{ steps.po-files-to-check.outputs.po_files_to_check }}
3681
- name: Sphinx lint
37-
run: |
38-
sphinx-lint */*.po
82+
if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true'
83+
run: sphinx-lint ${{ steps.po-files-to-check.outputs.po_files_to_check }}
3984
- name: Pospell
40-
run: |
41-
python scripts/check_spell.py
85+
if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true'
86+
run: python scripts/check_spell.py ${{ steps.po-files-to-check.outputs.po_files_to_check }}
87+
88+
# Construcción de la documentación
4289
- name: Construir documentación
4390
run: |
4491
# FIXME: Relative paths for includes in 'cpython'

.github/workflows/pr-comment.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Agrega comentario a PR
2+
3+
on:
4+
pull_request_target:
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
define-comment:
11+
name: Entradas sin traducción
12+
runs-on: ubuntu-22.04
13+
outputs:
14+
any_changed: ${{ steps.changed-files.outputs.any_changed }}
15+
comment: ${{ steps.create-pr-comment.outputs.comment }}
16+
steps:
17+
- uses: actions/checkout@v4
18+
with:
19+
ref: ${{ github.event.pull_request.head.sha }}
20+
persist-credentials: false
21+
- name: Preparar Python v3.11
22+
uses: actions/setup-python@v5
23+
with:
24+
python-version: "3.11"
25+
cache: "pip"
26+
# checkout these files from the base branch to guarantee they haven't been
27+
# modified by the PR
28+
- uses: actions/checkout@v4
29+
with:
30+
path: base-branch
31+
sparse-checkout-cone-mode: false
32+
sparse-checkout: |
33+
requirements.txt
34+
scripts/list_missing_entries.py
35+
- name: Instalar dependencias
36+
run: |
37+
python -m pip install -r base-branch/requirements.txt
38+
- name: Obtiene lista de archivos con cambios
39+
id: changed-files
40+
uses: tj-actions/changed-files@v41
41+
with:
42+
files: |
43+
**/*.po
44+
- name: Calcular entradas faltantes
45+
if: steps.changed-files.outputs.any_changed == 'true'
46+
id: create-pr-comment
47+
env:
48+
CHANGED_PO_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
49+
run: |
50+
{
51+
echo 'comment<<EOF'
52+
python base-branch/scripts/list_missing_entries.py --github $CHANGED_PO_FILES
53+
echo EOF
54+
} >> "$GITHUB_OUTPUT"
55+
56+
write-comment:
57+
runs-on: ubuntu-22.04
58+
needs: [define-comment]
59+
if: needs.define-comment.outputs.any_changed == 'true'
60+
permissions:
61+
issues: write
62+
pull-requests: write
63+
steps:
64+
- name: Agregar comentario con entradas faltantes
65+
uses: thollander/actions-comment-pull-request@v2
66+
with:
67+
message: ${{ needs.define-comment.outputs.comment }}
68+
comment_tag: missing-entries

.github/workflows/stale.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: 'Cierra issues y PRs antiguos'
2+
on:
3+
schedule:
4+
- cron: '30 1 * * *'
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
stale:
11+
runs-on: ubuntu-latest
12+
permissions:
13+
issues: write
14+
pull-requests: write
15+
steps:
16+
- uses: actions/stale@v9
17+
with:
18+
stale-pr-label: 'needs decision'
19+
stale-issue-label: 'stale'
20+
days-before-issue-stale: 10
21+
# don't close issues, lest we miss translations
22+
days-before-issue-close: -1
23+
days-before-pr-stale: 7
24+
days-before-pr-close: 21
25+
stale-issue-message: "Este issue lleva un tiempo sin actualizaciones. ¿Estás trabajando todavía?\nSi necesitas ayuda :sos: no dudes en contactarnos en nuestro [grupo de Telegram](https://t.me/python_docs_es)."
26+
stale-pr-message: "Este PR lleva un tiempo sin actualizaciones. Vamos a pedir a un admin de nuestro equipo que decida si alguien más puede finalizarlo o si tenemos que cerrarlo.\nPor favor, avisanos en caso de que aún puedas terminarlo."
27+
include-only-assigned: true

.overrides/faq.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -204,9 +204,9 @@ repositorio principal de la traducción). Se hace de la siguiente manera::
204204

205205
Luego nos vamos a nuestra rama local, confirmamos e impactamos esos cambios::
206206

207-
git checkout 3.11
208-
git merge upstream/3.11
209-
git push origin 3.11
207+
git checkout 3.12
208+
git merge upstream/3.12
209+
git push origin 3.12
210210

211211
¡Eso es todo!
212212

.overrides/progress.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ y otras estadísticas.
1010

1111
.. note::
1212

13-
Estas listas se actualiza automáticamente cuando Pull Requests se *mergean* a la rama ``3.11``.
13+
Estas listas se actualiza automáticamente cuando Pull Requests se *mergean* a la rama ``3.12``.
1414

1515

1616
En progreso

.overrides/upgrade-python-version.rst

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,32 @@
33
How 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

TRANSLATORS

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Albert Calvo (@albertcalv)
1010
Alcides Rivarola (@alcides29)
1111
Alejando J. Cura (@alecu)
1212
Alexander Mejía
13+
Alfonso Areiza Guerra @Alfareiza
1314
Alfonso Reyes (@mxarc)
1415
Alfonso Trigo (@alftri)
1516
Alvar Maciel (@alvarmaciel @amaciel)
@@ -42,6 +43,7 @@ Carlos Bernad (@carlos-bernad)
4243
Carlos Enrique Carrasco Varas (@KrlitosForever)
4344
Carlos Joel Delgado Pizarro (@c0x6a)
4445
Carlos Martel Lamas (@Letram)
46+
Carlos Mena Pérez (@carlosm00)
4547
Catalina Arrey Amunátegui (@CatalinaArrey)
4648
Claudia Millán Nebot (@clacri @cheshireminima)
4749
Constanza Areal (@geekcoty)
@@ -106,6 +108,7 @@ Ignacio Sanz (@elnaquete)
106108
Ignasi Fosch
107109
Ingrid Bianka Garcia Lino (@ibianka)
108110
Iracema Caballero (@iracaballero)
111+
Isaac Benitez Sandoval (@isacben)
109112
Italo Farfán Vera
110113
Ivonne Yañez Mendoza (@TiaIvonne)
111114
Jaime Resano Aísa (@Jaime02)
@@ -118,7 +121,9 @@ Jimmy Tzuc (@JimmyTzuc)
118121
Jonathan Aguilar (@drawsoek)
119122
Jorge Luis McDonald Stevens (@jmaxter)
120123
Jorge Maldonado Ventura (@jorgesumle)
124+
José Carlos Álvarez González (@jcaalzago)
121125
José Daniel Gonzalez (@jdgc14)
126+
Jose Ignacio Riaño Chico
122127
José Luis Cantilo (@jcantilo)
123128
José Luis Salgado Banda (@josephLSalgado)
124129
José Miguel Hernández Cabrera (@miguelheca)
@@ -153,6 +158,8 @@ Leonardo Gomez (@gomezgleonardob)
153158
Lis
154159
Lucas Miranda
155160
Luciano Bovio (@lbovio)
161+
Luis A. Gonzalez (@sublian)
162+
Luis Enriquez Torres (@lenriquezt)
156163
Luis Llave (@llaveluis)
157164
Luis Sánchez (@LuisAISanchez)
158165
Maia
@@ -233,4 +240,4 @@ Xavi Francisco (@srxavi)
233240
Xavi Rambla Centellas (@xavirambla)
234241
Yennifer Paola Herrera Ariza (@Yenniferh)
235242
Yohanna Padrino (@Yo-hanaPR)
236-
zejiran
243+
zejiran

0 commit comments

Comments
 (0)