Point to cpython/Doc/requirements.txt instead of duplicating it every… #4887
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
push: | |
branches: | |
- 3.* | |
pull_request: | |
permissions: | |
contents: read | |
jobs: | |
test: | |
name: Test | |
runs-on: ubuntu-22.04 | |
steps: | |
# Obtención del código | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'true' | |
# Necesario para que tj-actions/changed-files se ejecute | |
# dentro de un tiempo adecuado | |
fetch-depth: 2 | |
# Instalación de dependencias | |
- name: Preparar Python v3.13 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.13" | |
cache: "pip" | |
- name: Configura dpkg/apt para ejecutarse de manera eficiente | |
uses: abbbi/github-actions-tune@v1 | |
- name: Deshabilita triggers de postgresql-common | |
run: sudo sed -i '/postgresql-common/d' /var/lib/dpkg/triggers/File | |
- name: Instalar dependencias de sistema | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y hunspell hunspell-es gettext language-pack-es locales-all | |
- name: Instalar dependencias de Python | |
run: | | |
python -m pip install -r requirements.txt | |
- name: Listar paquetes y versiones | |
run: | | |
pip list | |
pospell --version | |
powrap --version | |
# Cálculo de los archivos .po a verificar. | |
# En el caso de un PR, sólo se chequean los .po que se están editando, | |
# mientras que en caseo de un push a las ramas 3.* queremos revisar | |
# todos los archivos | |
- name: Obtiene la lista de archivos .po con cambios (sólo en PRs) | |
if: github.event_name == 'pull_request' | |
id: changed-po-files | |
uses: tj-actions/changed-files@v45 | |
with: | |
files: | | |
**/*.po | |
- name: Calcula lista de archivos .po a revisar | |
id: po-files-to-check | |
env: | |
PO_FILES_TO_CHECK: ${{ steps.changed-po-files.conclusion == 'skipped' && '**/*.po' || steps.changed-po-files.outputs.all_changed_files }} | |
run: | | |
echo "po_files_to_check=$PO_FILES_TO_CHECK" >> $GITHUB_OUTPUT | |
echo "any_po_files_to_check=`test -n \"$PO_FILES_TO_CHECK\" && echo true || echo false`" >> $GITHUB_OUTPUT | |
- name: Muestra outputs de steps anteriores para debugueo | |
env: | |
CHANGED_PO_FILES: ${{ toJson(steps.changed-po-files) }} | |
PO_FILES_TO_CHECK: ${{ toJson(steps.po-files-to-check) }} | |
run: | | |
echo "steps.changed-po-files=$PO_FILES_TO_CHECK" | |
echo "steps.po-files-to-change.$CHANGED_PO_FILES" | |
# Chequeos a realizar | |
- name: TRANSLATORS | |
run: | | |
diff -Naur TRANSLATORS <(LANG=es python scripts/sort.py < TRANSLATORS) | |
# FIXME | |
# Se deshabilita porque el CI usa gettext 0.21 que es muy antiguo | |
# y la mayoría de los sistemas usa 0.22.X | |
#- name: Powrap | |
# if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true' | |
# run: powrap --diff --check --quiet ${{ steps.po-files-to-check.outputs.po_files_to_check }} | |
- name: Sphinx lint | |
if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true' | |
run: sphinx-lint ${{ steps.po-files-to-check.outputs.po_files_to_check }} | |
- name: Pospell | |
if: steps.po-files-to-check.outputs.any_po_files_to_check == 'true' | |
run: python scripts/check_spell.py ${{ steps.po-files-to-check.outputs.po_files_to_check }} | |
# Construcción de la documentación | |
- name: Construir documentación | |
run: | | |
# Normal build | |
PYTHONWARNINGS=ignore::FutureWarning,ignore::RuntimeWarning sphinx-build -j auto -W --keep-going -b html -d cpython/Doc/_build/doctree -D language=es . cpython/Doc/_build/html |