human-microbiome-compendium/.gitlab-ci.yml
2025-05-15 23:00:38 +02:00

57 lines
1.6 KiB
YAML

stages:
- render
- commit
check_readme_changes:
stage: render
image: ghcr.io/quarto-dev/quarto:latest
script:
- |
apt update && apt install -y git
if git diff --name-only $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA | grep -q 'README.qmd'; then
echo "README.qmd modifié, rendu en cours."
quarto render README.qmd
else
echo "Aucune modification de README.qmd, arrêt de la pipeline."
exit 0
fi
artifacts:
paths:
- README.md
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: always
- if: '$CI_PIPELINE_SOURCE == "push"'
changes:
paths:
- README.qmd
when: always
commit_and_push:
stage: commit
image: alpine:latest
before_script:
- apk add --no-cache git
script:
- |
if git diff --name-only $CI_COMMIT_BEFORE_SHA $CI_COMMIT_SHA | grep -q 'README.qmd'; then
git config --global user.email "ci@example.com"
git config --global user.name "CI Bot"
git remote remove origin
git remote add origin https://gitlab-ci-token:${CI_JOB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git
git add README.md
git commit -m "[ci skip]: maj auto du README.md après rendu Quarto"
git push origin HEAD:$CI_COMMIT_REF_NAME
else
echo "Aucun commit/push nécessaire."
fi
dependencies:
- check_readme_changes
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: always
- if: '$CI_PIPELINE_SOURCE == "push"'
changes:
paths:
- README.qmd
when: always