name: Deploy on: push: branches: [ "main" ] workflow_dispatch: jobs: deploy: name: Deploy runs-on: docker steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Pnpm uses: pnpm/action-setup@v4 with: version: 10 - name: Install dependencies run: pnpm install - name: Build run: pnpm run build - name: Deploy to Remote run: | if [ ! -d ~/.ssh ]; then mkdir -p ~/.ssh fi chmod 700 ~/.ssh echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 echo "${{ secrets.SSH_KNOWN_HOSTS }}" >> ~/.ssh/known_hosts chmod 644 ~/.ssh/known_hosts dnf install rsync -y rsync -av --delete -e "ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=yes -p ${{ secrets.SSH_PORT }}" dist/ ${{ secrets.SSH_USERNAME }}@${{ secrets.SSH_HOST }}:${{ secrets.WEB_ROOT }}/sstmirror-homepage - name: Clean up run: | rm -rf ~/.ssh