diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml new file mode 100644 index 0000000..ed77e02 --- /dev/null +++ b/.forgejo/workflows/deploy.yml @@ -0,0 +1,36 @@ +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 + - 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 \ No newline at end of file