Files
api.konstitisyon.nu/.gitea/workflows/deploy-beta.yaml
T
cedric 6600a22475
Déploiement API BETA / Tests extensions (push) Successful in 11m7s
Déploiement API BETA / Build et déploiement beta (push) Failing after 1m30s
deploy: fix directus access
2026-05-15 17:00:23 +04:00

86 lines
2.3 KiB
YAML

name: Déploiement API BETA
run-name: ${{ gitea.actor }} déploie API BETA
on:
push:
branches:
- dev
jobs:
test:
name: Tests extensions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
cache: 'npm'
- name: Installer les dépendances
run: npm install
- name: Lancer les tests
run: npm test
build-and-deploy:
name: Build et déploiement beta
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- name: Build directus-extension-disallow-votes
working-directory: extensions/directus-extension-disallow-votes
run: npm install && npm run build
- name: Build directus-extension-new-user
working-directory: extensions/directus-extension-new-user
run: npm install && npm run build
- name: Committer et pousser les dist
run: |
git config user.name "Gitea Actions"
git config user.email "actions@noreply.gitea"
git add extensions/directus-extension-disallow-votes/dist \
extensions/directus-extension-new-user/dist
git diff --staged --quiet || git commit -m "chore: build extensions [skip ci]"
git push origin dev
- name: Déployer sur le serveur
uses: appleboy/ssh-action@v1.2.0
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: ${{ secrets.SSH_PORT }}
script: |
set -e
cd ${{ secrets.DEPLOY_PATH }}
echo "==> Correction des permissions"
sudo chown -R "$(whoami):" .
echo "==> Synchronisation branche dev"
git fetch origin dev
git reset --hard origin/dev
echo "==> Redémarrage Directus"
docker compose restart directus
echo "==> Vérification santé"
for i in $(seq 1 12); do
if curl -sf http://localhost:8066/server/health | grep -q '"status":"ok"'; then
echo "Déploiement OK"
exit 0
fi
echo " Attente... ($i/12)"
sleep 5
done
echo "Échec : Directus ne répond pas après 60s"
exit 1