name: 🚀 Build and deploy by ftp on: push: branches: - master - main jobs: ftp-build-and-deploy: name: 🎉 Deploy runs-on: ubuntu-latest steps: - name: 🚚 Get latest code uses: https://github.com/actions/checkout@v3 - uses: https://github.com/actions/setup-node@v3 with: node-version: 16 - uses: https://github.com/pnpm/action-setup@v2 name: Install pnpm id: pnpm-install with: version: 7 run_install: false - name: Get pnpm store directory id: pnpm-cache shell: bash run: | echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/setup-go@v3 with: go-version: '1.20' - uses: actions/go-hashfiles@v0.0.1 id: get-hash with: patterns: |- go.sum **/pnpm-lock.yaml - uses: https://github.com/actions/cache@v3 name: Setup pnpm cache with: path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ steps.get-hash.outputs.hash }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install - run: pnpm build - run: npm run export - name: 📂 Sync files uses: https://github.com/SamKirkland/FTP-Deploy-Action@v4.3.4 with: server: ${{ secrets.ftp_server }} username: ${{ secrets.ftp_username }} password: ${{ secrets.ftp_password }}