name: Deploy on: push: branches: [main] jobs: deploy: runs-on: vps-host steps: - uses: actions/checkout@v4 - name: Build API run: | cd api npm ci npx prisma generate npm run build - name: Build Web run: | cd web npm ci npm run build - name: Deploy API run: | pm2 stop skymoney-api || true rm -rf /opt/skymoney/api/dist /opt/skymoney/api/node_modules cp -r api/dist /opt/skymoney/api/ cp -r api/node_modules /opt/skymoney/api/ cp -r api/prisma /opt/skymoney/api/ # Run migrations using the VPS .env cd /opt/skymoney/api set -a source .env set +a npx prisma migrate deploy pm2 start /opt/skymoney/api/dist/server.js --name skymoney-api - name: Deploy Web run: | rm -rf /var/www/skymoney/dist/* cp -r web/dist/* /var/www/skymoney/dist/ - name: Reload Nginx run: sudo systemctl reload nginx