diff --git a/.forgejo/workflows/deploy-hot.yml b/.forgejo/workflows/deploy-hot.yml new file mode 100644 index 000000000..869660b36 --- /dev/null +++ b/.forgejo/workflows/deploy-hot.yml @@ -0,0 +1,42 @@ +name: Build and Deploy hot PRs + +on: + pull_request: + types: [labeled] + +# Allow one concurrent deployment +concurrency: + group: "warm-pages" + cancel-in-progress: false + +jobs: + build: + if: forgejo.event.label.name == 'serve-hot' + runs-on: docker + env: + SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + with: + version: 9.12.2 + - uses: actions/setup-node@v4 + with: + node-version: 20 + + - name: Install Dependencies + run: pnpm install + + - name: Build + run: pnpm build + + - name: Deploy + run: | + eval $(ssh-agent -s) + echo "$SSH_PRIVATE_KEY" | ssh-add - + apt update && apt install -y rsync + mkdir -p ~/.ssh + ssh-keyscan matrix.toplap.org > ~/.ssh/known_hosts + rsync -atv --delete --delete-after --progress \ + ./website/dist/ \ + strudel@matrix.toplap.org:/home/strudel.cc/deploy/pr-${{ forgejo.event.pull_request.number }}.strudel.cc \ No newline at end of file