name: Deploy Static Site on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: npm - name: Install dependencies run: npm ci - name: Build static site run: npm run build - name: Setup SSH key run: | mkdir -p ~/.ssh echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 - name: Deploy static files to server run: | rsync -avz --delete \ -e "ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=accept-new" \ out/ \ deploy@${{ secrets.DEPLOY_HOST }}:/home/deploy/projects/ge-bos/static/ - name: Run deployment script run: | ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=accept-new \ deploy@${{ secrets.DEPLOY_HOST }} \ "cd /home/deploy/projects/ge-bos && ./deploy.sh"