diff --git a/.gitea/workflows/deploy-beta.yaml b/.gitea/workflows/deploy-beta.yaml index 47fd7d2..18e09d5 100644 --- a/.gitea/workflows/deploy-beta.yaml +++ b/.gitea/workflows/deploy-beta.yaml @@ -18,17 +18,70 @@ jobs: cache: 'npm' - name: Installer les dépendances - run: npm install + run: npm ci - name: Lancer les tests run: npm test - deploy: - name: Déploiement beta + build: + name: Build extensions needs: test runs-on: ubuntu-latest steps: - - name: Déployer via SSH + - 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 }} @@ -39,19 +92,6 @@ jobs: set -e cd ${{ secrets.DEPLOY_PATH }} - echo "==> Pull branche dev" - git pull origin dev - - echo "==> Build des extensions" - for ext in extensions/directus-extension-disallow-votes extensions/directus-extension-new-user; do - echo " Building $ext..." - cd "$ext" - npm install - npm ci - npm run build - cd - - done - echo "==> Redémarrage Directus" docker compose restart directus