name: Render and Deploy CV on: push: branches: ['main'] paths: - 'resume.yaml' workflow_dispatch: jobs: render-cv: runs-on: site-builder steps: - name: Clone run: git clone --depth 1 "http://localhost:3000/${{ github.repository }}.git" . - name: Render CV run: | # set missing XDG paths and SSL cert path export HOME=/tmp/render_home export XDG_DATA_HOME=/tmp/typst_data export XDG_CACHE_HOME=/tmp/typst_cache mkdir -p $HOME $XDG_DATA_HOME $XDG_CACHE_HOME export SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt uvx --with "rendercv[full]" rendercv render resume.yaml - name: Deploy CV via Rsync env: SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} REMOTE_HOST: ${{ secrets.REMOTE_HOST }} REMOTE_USER: ${{ secrets.REMOTE_USER }} REMOTE_PORT: ${{ secrets.REMOTE_PORT }} run: | mkdir -p ~/.ssh echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 ssh-keyscan -p "$REMOTE_PORT" "$REMOTE_HOST" >> ~/.ssh/known_hosts # Sync only the PDF rsync -avz \ -e "ssh -p $REMOTE_PORT" \ ./rendercv_output/*.pdf \ $REMOTE_USER@$REMOTE_HOST:/var/www/cv.pdf