fix ci for docs

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
This commit is contained in:
GnomeZworc 2026-09-09 23:11:38 +02:00
commit 7a62da11ff
Signed by: nicolas.boufideline
GPG key ID: 4406BBBF8845D632

View file

@ -54,17 +54,35 @@ jobs:
touch "${SITE_DIR}/.nojekyll"
du -sh "${SITE_DIR}"
# La branche pages ne contient que le site, à la racine, en un seul
# commit sans histoire : ce sont des artefacts reconstructibles, et
# l'historique de main suffit à savoir d'où ils viennent.
# La branche pages ne contient que le site, à la racine. Le build est
# greffé sur l'historique existant plutôt que poussé en force : un push
# en avance rapide ne demande que le droit d'écrire sur la branche, là
# où le force-push exige une dérogation supplémentaire dans la
# protection de branche.
- name: Publier sur la branche pages
run: |
cd "${SITE_DIR}"
git init --quiet --initial-branch=pages
git config user.name "forgejo-actions"
git config user.email "forgejo-actions@git.g3e.fr"
git remote add origin "https://${TOKEN}@git.g3e.fr/${{ github.repository }}.git"
# --depth=1 : seul le dernier commit sert de parent, l'historique
# complet du site n'a pas à être rapatrié à chaque build.
if git fetch --quiet --depth=1 origin pages 2>/dev/null
then
git reset --soft FETCH_HEAD
else
echo "branche pages absente : premier build"
fi
git add -A
if git diff --cached --quiet
then
echo "site identique au précédent, rien à publier"
exit 0
fi
git commit --quiet -m "docs: build de ${GITHUB_SHA}"
git push --force --quiet \
"https://${TOKEN}@git.g3e.fr/${{ github.repository }}.git" pages
git push --quiet origin pages
echo "publié : $(git rev-parse --short HEAD) — $(git ls-files | wc -l) fichiers"