Files
annu-kute-ced/.gitea/workflows/deploy-prod.yml
T
cedric 050d583b6b
Déploiement PROD / check (push) Successful in 3m25s
Déploiement PROD / deploy (push) Successful in 9s
ci: keep only PHP/JS lint in CI, move rest to local checks
2026-07-25 22:33:01 +04:00

66 lines
2.1 KiB
YAML

name: Déploiement PROD
run-name: ${{ gitea.actor }} déploie en PROD
on:
push:
branches:
- main
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: curl, intl, mbstring, xml
- name: Lint PHP (tous les fichiers, samples inclus)
run: |
fail=0
while IFS= read -r f; do
php -l "$f" > /dev/null || { echo "::error file=$f::Erreur de syntaxe PHP"; fail=1; }
done < <(find . -path ./.git -prune -o \( -name '*.php' -o -name '*.php.sample' \) -print)
[ "$fail" -eq 0 ] && echo "PHP lint OK" || exit 1
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Lint JS (sw.js et js/*.js)
run: |
for f in sw.js js/*.js; do
node --check "$f" || exit 1
done
echo "JS lint OK"
deploy:
needs: check
runs-on: ubuntu-latest
steps:
- name: Déployer sur le serveur
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_KEY }}
script: |
set -e
cd ${{ secrets.PROD_DEPLOY_PATH }}
# Annuler le bump de version du déploiement précédent pour
# garantir le fast-forward, puis récupérer la dernière version.
git checkout -- sw.js
git pull --ff-only origin main
# Bumper la version des caches du Service Worker : chaque
# déploiement déclenche le modal de mise à jour PWA chez les
# visiteurs (voir js/pwa-update.js). Ce bump n'est pas commité.
VERSION=$(date +%d%m%Y-%H%M)
sed -i "s/annu-kute-ced-static-[0-9]\{8\}-[0-9]\{4\}/annu-kute-ced-static-$VERSION/" sw.js
sed -i "s/annu-kute-ced-dynamic-[0-9]\{8\}-[0-9]\{4\}/annu-kute-ced-dynamic-$VERSION/" sw.js
echo "Version des caches bumpée : $VERSION"