on: push: branches: - main jobs: checking: runs-on: docker container: node:lts steps: - uses: https://code.forgejo.org/actions/checkout@v3 - name: run: npm install - name: Astro checks run: npm run astro check build-site: needs: [checking] runs-on: docker container: node:lts steps: - uses: https://code.forgejo.org/actions/checkout@v3 - name: Install required packages run: npm install - name: Build static site run: npm run build - name: Delete unnecessary data files run: rm -r public/assets/data/ - name: Add missing config for binserve run: cp serve.json public - uses: https://code.forgejo.org/actions/upload-artifact@v3 with: name: static-site path: public/ deploy-site: needs: [build-site] runs-on: docker env: DEPLOY_USER: ${{ secrets.DEPLOY_USER }} DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }} SSH_KNOWN_HOSTS: ${{ secrets.SSH_KNOWN_HOSTS }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} steps: - uses: actions/download-artifact@v3 with: name: static-site - name: Setup ssh uses: ./.forgejo/workflows/ssh-setup@main with: DEPLOY_HOST: $DEPLOY_HOST SSH_KNOWN_HOSTS: $SSH_KNOWN_HOSTS SSH_PRIVATE_KEY: $SSH_PRIVATE_KEY - name: Stopping screen session, cleaning run: ssh $DEPLOY_USER@$DEPLOY_HOST "screen -X -S fgo-ta_com-public kill; rm -r -f fgo-ta_com/public/*;" - name: Copying to proxmox machine run: rsync -az --stats static-site/* $DEPLOY_USER@$DEPLOY_HOST:~/fgo-ta_com/public - name: Restarting screen session run: ssh $DEPLOY_USER@$DEPLOY_HOST 'PATH="$HOME/.local/bin:$PATH"; cd fgo-ta_com; find public -maxdepth 1 -printf "%p\n"; screen -S fgo-ta_com-public -dm serve public/ -p 9200'