name: Build on: push: branches: - main jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v3 - name: Setup Node uses: actions/setup-node@v3 - name: Cache npm dependencies uses: actions/cache@v2 with: path: '~/.npm' key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - name: Build project run: npm install && npm run build - name: Upload production-ready build files uses: actions/upload-artifact@v3 with: name: production-files path: ./dist deploy: name: Deploy needs: build runs-on: ubuntu-latest steps: - name: Download artifact uses: actions/download-artifact@v3 with: name: production-files path: ./dist - name: Upload ftp uses: https://git.lgbt/mirror/ftp-action@releases/v2 with: host: ${{ secrets.FTP_SERVER }} user: ${{ secrets.FTP_USER }} password: ${{ secrets.FTP_PASSWORD }} localDir: "dist" remoteDir: "mkgg" options: "--delete"