Skip to content

Commit 5fab9f9

Browse files
committed
Agrega cálculo de archivos .po a chequear
El job Test del workflow Test corre durante pull requests y durante pushes al branch principal del repositorio. En el primer caso, los PRs contienen normalmente un solo archivo .po que ha cambido, pero aún así los chequeos que se corren en CI se hacen contra todos los archivos .po, lo cual es ineficiente. En particular, pospell toma alrededor de un minuto y medio en correr, cuando tomaría alrededor de un segundo en correr sobre un solo archivo. Este commit introduce una serie de pasos en el job Test que calcula la lista de archivos .po sobre los cuales se correrán el resto de los chequeos. Cuando el trabajo corre como parte de un PR, sólo los archivos .po que han cambiado en el PR (si es que los hay) son incluidos. Cuando el trabajo corre como parte de un push a la rama principal del repositorio, todos los archivos son incluidos. Signed-off-by: Rodrigo Tobar <rtobar@icrar.org>
1 parent c3adbc2 commit 5fab9f9

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

.github/workflows/main.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ jobs:
1515
- uses: actions/checkout@v4
1616
with:
1717
submodules: 'true'
18+
# Necesario para que tj-actions/changed-files corra
19+
# dentro de un tiempo adecuado
20+
fetch-depth: 2
1821

1922
# Instalación de dependencias
2023
- name: Preparar Python v3.11
@@ -38,6 +41,32 @@ jobs:
3841
pospell --version
3942
powrap --version
4043
44+
# Cálculo de los archivos .po a verificar.
45+
# En el caso de un PR, sólo se chequean los .po que se están editando,
46+
# mientras que en caseo de un push a las ramas 3.* queremos revisar
47+
# todos los archivos
48+
- name: Obtiene la lista de archivos .po con cambios (sólo en PRs)
49+
if: github.event_name == 'pull_request'
50+
id: changed-po-files
51+
uses: tj-actions/changed-files@v40
52+
with:
53+
files: |
54+
**/*.po
55+
- name: Calcula lista de archivos .po a revisar
56+
id: po-files-to-check
57+
env:
58+
PO_FILES_TO_CHECK: ${{ steps.changed-po-files.conclusion == 'skipped' && '**/*.po' || steps.changed-po-files.outputs.all_changed_files }}
59+
run: |
60+
echo "po_files_to_check=$PO_FILES_TO_CHECK" >> $GITHUB_OUTPUT
61+
echo "any_po_files_to_check=`test -n \"$PO_FILES_TO_CHECK\" && echo true || echo false`" >> $GITHUB_OUTPUT
62+
- name: Muestra outputs de steps anteriores para debugueo
63+
env:
64+
CHANGED_PO_FILES: ${{ toJson(steps.changed-po-files) }}
65+
PO_FILES_TO_CHECK: ${{ toJson(steps.po-files-to-check) }}
66+
run: |
67+
echo "$PO_FILES_TO_CHECK"
68+
echo "$CHANGED_PO_FILES"
69+
4170
# Chequeos a realizar
4271
- name: TRANSLATORS
4372
run: |

0 commit comments

Comments
 (0)