name: Deploy to GitHub Pages on: push: branches: [ main ] permissions: contents: read pages: write id-token: write jobs: build: env: RUNNER_TOOL_CACHE: /toolcache runs-on: ubuntu-latest steps: - name: Checkout code uses: nschloe/action-cached-lfs-checkout@v1 - name: 📦 Install PNPM uses: pnpm/action-setup@v3 id: pnpm-install with: version: 8 run_install: false - name: Get pnpm store directory shell: bash run: | echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV - uses: actions/cache@v4 name: Setup pnpm cache with: path: ${{ env.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install, build, and upload your site output uses: withastro/action@v2 deploy: needs: build runs-on: ubuntu-latest steps: - name: 🚀 Deploy files via SFTP uses: https://github.com/pressidium/lftp-mirror-action@v1 with: host: ${{ secrets.FTP_HOST }} port: ${{ secrets.FTP_PORT || 21 }} user: ${{ secrets.FTP_USERNAME }} pass: ${{ secrets.FTP_PASSWORD }} onlyNewer: true parallel: '4' settings: 'sftp:auto-confirm=yes' localDir: 'public' remoteDir: '/share/new-website' options: '--verbose'