Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
246 changes: 0 additions & 246 deletions .github/scripts/check-structure.php

This file was deleted.

23 changes: 17 additions & 6 deletions .github/workflows/check-xml.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
# miroir de doc-en. Chaque fichier est comparé au doc-en à la révision qu'il dit
# mirrorer (EN-Revision), donc un fichier en retard ne produit pas de faux
# positif. Le script émet ses annotations ::error lui-même.
#
# Le script est celui de doc-base, partagé par toutes les traductions, et non
# plus une copie propre à ce dépôt.

name: "Structure"

Expand All @@ -19,16 +22,17 @@ jobs:
name: "Check XML"
runs-on: ubuntu-22.04
steps:
# doc-fr à la racine, doc-en dans le sous-répertoire en/ : c'est
# l'arborescence attendue par check-structure.php. Le ref explicite
# prend la tête réelle de la PR, et non le commit de fusion que
# fr/, en/ et doc-base/ côte à côte : c'est l'arborescence attendue par
# les scripts de doc-base, la même que celle du workflow de build. Le ref
# explicite prend la tête réelle de la PR, et non le commit de fusion que
# actions/checkout construit par défaut : ce dernier a master pour
# deuxième parent, donc le diff plus bas y verrait aussi tous les
# fichiers arrivés sur master depuis le dernier push de la PR.

- name: "Checkout php/doc-fr"
uses: actions/checkout@v4
with:
path: fr
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 0

Expand All @@ -39,9 +43,16 @@ jobs:
repository: php/doc-en
fetch-depth: 0

- name: "Checkout php/doc-base"
uses: actions/checkout@v4
with:
path: doc-base
repository: php/doc-base

- name: "Check structure"
run: |
BASE="${{ github.event.pull_request.base.sha }}"
git fetch --no-tags --depth=1 origin "$BASE"
git diff --name-only "$BASE"...HEAD -- '*.xml' \
| php8.1 .github/scripts/check-structure.php
git -C fr fetch --no-tags --depth=1 origin "$BASE"
git -C fr diff --name-only "$BASE"...HEAD -- '*.xml' \
| php8.1 doc-base/scripts/translation/check-structure.php \
--lang=fr --github
18 changes: 13 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,10 +203,13 @@ Ne créez et pushez pas des branches différentes de ``master`` sur le repo git
Quatre vérifications automatiques tournent sur chaque pull request. Elles se
rejouent en local, ce qui évite un aller-retour avec la CI.

Les deux premières comparent les fichiers à la documentation anglaise et
attendent de la trouver dans un dossier `en` **à la racine du dépôt** `fr`
(`.gitignore` le prévoit). Si la documentation anglaise est ailleurs, un lien
symbolique suffit :
Deux d'entre elles comparent les fichiers à la documentation anglaise, mais
pas avec la même disposition. La vérification de structure se lance depuis le
répertoire qui contient `fr`, `en` et `doc-base` côte à côte, comme la
construction de la documentation. La vérification de l'`EN-Revision`, elle,
attend la documentation anglaise dans un dossier `en` **à la racine du dépôt**
`fr` (`.gitignore` le prévoit) ; si elle est ailleurs, un lien symbolique
suffit :

```shell
ln -s ../en en
Expand All @@ -230,8 +233,13 @@ Chaque fichier est comparé à la version anglaise **à la révision qu'il décl
mirrorer** (`EN-Revision`), donc un fichier en retard ne produit pas de faux
positif.

Le script est celui de `doc-base`, partagé par toutes les traductions. Il se
lance depuis le répertoire qui contient `fr`, `en` et `doc-base` côte à côte,
comme la construction de la documentation :

```shell
git diff --name-only master...HEAD -- '*.xml' | php .github/scripts/check-structure.php
git -C fr diff --name-only master...HEAD -- '*.xml' \
| php doc-base/scripts/translation/check-structure.php --lang=fr
```

### EN-Revision : la clé de hachage
Expand Down
Loading