jevstrudel.git / .forgejo / workflows / deploy-warm-beta.yml
1name: Build and Deploy to warm (strudel.cc)
2
3on:
4  push:
5    branches:
6      - main

Allow one concurrent deployment

9concurrency:
10  group: "pages"
11  cancel-in-progress: true
13jobs:
14  build:
15    runs-on: docker
16    env:
17      SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
18    steps:
19      - uses: actions/checkout@v4
20      - uses: pnpm/action-setup@v4
21        with:
22          version: 9.12.2
23      - uses: actions/setup-node@v4
24        with:
25          node-version: 20
26          # cache: "pnpm"
27      - name: Install Dependencies
28        run: pnpm install
29
30      - name: Build
31        run: pnpm build
32
33      - name: Deploy
34        run: |
35          eval $(ssh-agent -s)
36          echo "$SSH_PRIVATE_KEY" | ssh-add -
37          apt update && apt install -y rsync
38          mkdir ~/.ssh
39          ssh-keyscan matrix.toplap.org  > ~/.ssh/known_hosts
40          rsync -atv --delete --delete-after --progress ./website/dist/ strudel@matrix.toplap.org:/home/strudel/deploy/strudel.cc