Skip to content

Point to cpython/Doc/requirements.txt instead of duplicating it every… #4887

Point to cpython/Doc/requirements.txt instead of duplicating it every…

Point to cpython/Doc/requirements.txt instead of duplicating it every… #4887

Workflow file for this run

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