Compare commits
2 commits
df6c90d216
...
c0bad8de2d
| Author | SHA1 | Date | |
|---|---|---|---|
|
c0bad8de2d |
|||
|
7a62da11ff |
2 changed files with 25 additions and 7 deletions
|
|
@ -54,17 +54,35 @@ jobs:
|
||||||
touch "${SITE_DIR}/.nojekyll"
|
touch "${SITE_DIR}/.nojekyll"
|
||||||
du -sh "${SITE_DIR}"
|
du -sh "${SITE_DIR}"
|
||||||
|
|
||||||
# La branche pages ne contient que le site, à la racine, en un seul
|
# La branche pages ne contient que le site, à la racine. Le build est
|
||||||
# commit sans histoire : ce sont des artefacts reconstructibles, et
|
# greffé sur l'historique existant plutôt que poussé en force : un push
|
||||||
# l'historique de main suffit à savoir d'où ils viennent.
|
# 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
|
- name: Publier sur la branche pages
|
||||||
run: |
|
run: |
|
||||||
cd "${SITE_DIR}"
|
cd "${SITE_DIR}"
|
||||||
git init --quiet --initial-branch=pages
|
git init --quiet --initial-branch=pages
|
||||||
git config user.name "forgejo-actions"
|
git config user.name "forgejo-actions"
|
||||||
git config user.email "forgejo-actions@git.g3e.fr"
|
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
|
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 commit --quiet -m "docs: build de ${GITHUB_SHA}"
|
||||||
git push --force --quiet \
|
git push --quiet origin pages
|
||||||
"https://${TOKEN}@git.g3e.fr/${{ github.repository }}.git" pages
|
|
||||||
echo "publié : $(git rev-parse --short HEAD) — $(git ls-files | wc -l) fichiers"
|
echo "publié : $(git rev-parse --short HEAD) — $(git ls-files | wc -l) fichiers"
|
||||||
|
|
|
||||||
|
|
@ -182,7 +182,7 @@ disques : le disque de travail et le disque cible ne doivent pas être confondus
|
||||||
cd /work
|
cd /work
|
||||||
|
|
||||||
curl "${os_link}" -O
|
curl "${os_link}" -O
|
||||||
qemu-img convert ./*.qcow2 -O raw ${os_disk}
|
qemu-img convert ./*.qcow2 -O raw "${os_disk}"
|
||||||
|
|
||||||
L'image du fournisseur est écrite **en brut** directement sur le disque cible : le qcow2 obtenu
|
L'image du fournisseur est écrite **en brut** directement sur le disque cible : le qcow2 obtenu
|
||||||
côté host contient donc une image disque complète et amorçable, sans backing file.
|
côté host contient donc une image disque complète et amorçable, sans backing file.
|
||||||
|
|
@ -194,7 +194,7 @@ côté host contient donc une image disque complète et amorçable, sans backing
|
||||||
sleep 2
|
sleep 2
|
||||||
|
|
||||||
# La partition racine est la plus grande du disque
|
# La partition racine est la plus grande du disque
|
||||||
root_partition=$(fdisk -lo device,size /dev/sda | grep -E '^\/dev\/' | tr -s ' ' \
|
root_partition=$(fdisk -lo device,size "${os_disk}" | grep -E '^/dev/' | tr -s ' ' \
|
||||||
| sort -rhk2 | head -n1 | cut -d ' ' -f1)
|
| sort -rhk2 | head -n1 | cut -d ' ' -f1)
|
||||||
|
|
||||||
mount -o nouuid $root_partition /mnt
|
mount -o nouuid $root_partition /mnt
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue