Files
api.konstitisyon.nu/.gitea/workflows/deploy-beta.yaml
T
cedric 8a922a16f6
Déploiement API BETA / Tests extensions (push) Failing after 4m56s
Déploiement API BETA / Build extensions (push) Has been skipped
Déploiement API BETA / Déploiement beta (push) Has been skipped
deploy: fix npm error
2026-05-15 13:38:02 +04:00

102 lines
2.9 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 ci
- name: Lancer les tests
run: npm test
build:
name: Build extensions
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 ci && npm run build
- name: Build directus-extension-new-user
working-directory: extensions/directus-extension-new-user
run: npm ci && npm run build
- name: Uploader les artefacts de build
uses: actions/upload-artifact@v4
with:
name: extensions-dist
path: |
extensions/directus-extension-disallow-votes/dist
extensions/directus-extension-new-user/dist
retention-days: 1
deploy:
name: Déploiement beta
needs: build
runs-on: ubuntu-latest
steps:
- name: Télécharger les artefacts de build
uses: actions/download-artifact@v4
with:
name: extensions-dist
path: dist-artifacts
- name: Configurer la clé SSH
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
ssh-keyscan -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts
- name: Transférer les dist via rsync
run: |
rsync -az --delete \
-e "ssh -i ~/.ssh/deploy_key -p ${{ secrets.SSH_PORT }}" \
dist-artifacts/extensions/directus-extension-disallow-votes/dist/ \
${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEPLOY_PATH }}/extensions/directus-extension-disallow-votes/dist/
rsync -az --delete \
-e "ssh -i ~/.ssh/deploy_key -p ${{ secrets.SSH_PORT }}" \
dist-artifacts/extensions/directus-extension-new-user/dist/ \
${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEPLOY_PATH }}/extensions/directus-extension-new-user/dist/
- name: Redémarrer Directus et vérifier
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 "==> Redémarrage Directus"
docker compose restart directus
echo "==> Vérification santé"
sleep 5
curl -sf http://localhost:8066/server/health | grep -q '"status":"ok"'
echo "Déploiement OK"