From 149bce9933fc63b3324066c7eb8224823831f8f0 Mon Sep 17 00:00:00 2001 From: Baptiste LAFOURCADE Date: Wed, 22 Jul 2026 05:17:50 +0200 Subject: [PATCH] =?UTF-8?q?feat(intake):=20commentaire=20de=20mod=C3=A9rat?= =?UTF-8?q?ion=20sur=20la=20PR=20(#22)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Après ouverture de la PR d'inscription, le bot poste un commentaire de modération : champs mis en forme (nom, LinkedIn, site, description), photo embarquée (URL media LFS, rendue dans le commentaire), checklist de relecture, et rappel que rien n'est public avant le merge. Expose linkedin/website/ description en sorties du script de lecture. Co-Authored-By: Claude Opus 4.8 --- .../scripts/read-certification-request.mjs | 3 ++ .github/workflows/certification-pr.yml | 39 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/.github/scripts/read-certification-request.mjs b/.github/scripts/read-certification-request.mjs index f5ed0af..59ee28f 100644 --- a/.github/scripts/read-certification-request.mjs +++ b/.github/scripts/read-certification-request.mjs @@ -7,6 +7,9 @@ function writeOutputs(output, record) { const scalars = { github: record.handle, name: record.name, + linkedin: record.linkedin, + website: record.website, + description: record.description, path: record.path, branch: record.branch, issue_number: record.issueNumber, diff --git a/.github/workflows/certification-pr.yml b/.github/workflows/certification-pr.yml index 747bb2e..77f96d9 100644 --- a/.github/workflows/certification-pr.yml +++ b/.github/workflows/certification-pr.yml @@ -151,6 +151,45 @@ jobs: --head "$BRANCH" --base main)" echo "url=$pr_url" >> "$GITHUB_OUTPUT" + - name: Commentaire de modération sur la PR (#22) + if: steps.pull-request.outputs.url != '' + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} + PR_URL: ${{ steps.pull-request.outputs.url }} + BRANCH: ${{ steps.request.outputs.branch }} + GITHUB_HANDLE: ${{ steps.request.outputs.github }} + DISPLAY_NAME: ${{ steps.request.outputs.name }} + LINKEDIN: ${{ steps.request.outputs.linkedin }} + WEBSITE: ${{ steps.request.outputs.website }} + DESCRIPTION: ${{ steps.request.outputs.description }} + PHOTO_PATH: ${{ steps.request.outputs.photo_path }} + run: | + # URL media LFS : GitHub sert le binaire (dépôt public) -> photo rendue dans le commentaire. + photo_media="https://media.githubusercontent.com/media/${GITHUB_REPOSITORY}/${BRANCH}/${PHOTO_PATH}" + { + echo "## À modérer avant publication" + echo "" + echo "**Rien n'est public tant que cette PR n'est pas mergée.** Le merge émet le badge et publie la fiche." + echo "" + echo "| Champ | Valeur |" + echo "|---|---|" + echo "| Nom | ${DISPLAY_NAME} |" + echo "| GitHub | @${GITHUB_HANDLE} |" + echo "| LinkedIn | ${LINKEDIN} |" + echo "| Site | ${WEBSITE:-—} |" + echo "| Description | ${DESCRIPTION:-—} |" + echo "" + echo "Photo (normalisée WebP 512×512, EXIF retiré) :" + echo "" + echo "![Photo de @${GITHUB_HANDLE}](${photo_media})" + echo "" + echo "### Checklist" + echo "- [ ] Photo appropriée (visage, rien de choquant)" + echo "- [ ] Nom et liens cohérents et sûrs" + echo "- [ ] Le compte @${GITHUB_HANDLE} correspond bien à un membre certifié" + } > /tmp/moderation.md + gh pr comment "$PR_URL" --body-file /tmp/moderation.md + - name: Fermer l'issue d'inscription if: steps.pull-request.outputs.url != '' env: