SamKirkland / FTP-Deploy-Action

Deploys a GitHub project to a FTP server using GitHub actions
MIT License
3.75k stars 367 forks source link

Error: Can't parse response to 'PASV': 226 Closing data connection, file transfer successful #320

Open struffel opened 2 years ago

struffel commented 2 years ago

Bug Description While running the job I receive the error: Error: Can't parse response to 'PASV': 226 Closing data connection, file transfer successful

The target server belongs to the bunny.net CDN platform which means that I can't make changes to the FTP config on it.

My Action Config

name: XXXXXXX

# Controls when the action will run. 
on:
  # Triggers the workflow on push or pull request events but only for the main branch
  push:
    branches: [ main ]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
      - uses: actions/checkout@v2

      # Runs a single command using the runners shell
      - name: FTP Deploy
        # You may pin to the exact commit or the version.
        # uses: SamKirkland/FTP-Deploy-Action@2a4e9b1312ebeb73a1f72b9330c71831c1e4ce01
        uses: SamKirkland/FTP-Deploy-Action@4.3.2
        with:
          # ftp server
          server: ${{secrets.CDN_FTP_SERVER}}
          # ftp username
          username: ${{secrets.CDN_FTP_LOGIN}}
          # ftp password
          password: ${{secrets.CDN_FTP_PASSWORD}}
          # Path to upload to on the server. Must end with trailing slash /
          server-dir: main/
          local-dir: ./src/

My Action Log

  Calculating differences between client & server
----------------------------------------------------------------
šŸ“ Create: css
šŸ“ Create: js
šŸ“ Create: lib
šŸ“ Create: media
šŸ“„ Upload: css/main.css
šŸ“„ Upload: hdri-flat.html
šŸ“„ Upload: hdri-panorama.html
šŸ“„ Upload: js/hdri-flat.js
šŸ“„ Upload: js/hdri-panorama.js
šŸ“„ Upload: js/main.js
šŸ“„ Upload: js/pbr-material.js
šŸ“„ Upload: js/texture-tiling.js
šŸ“„ Upload: lib/EXRLoader.r142.js
šŸ“„ Upload: lib/OrbitControls.r142.js
šŸ“„ Upload: lib/RGBELoader.r142.js
šŸ“„ Upload: lib/three.r142.min.js
šŸ“„ Upload: media/env-full-forest-hq.exr
šŸ“„ Upload: media/env-full-forest-lq.exr
šŸ“„ Upload: media/env-full-lab-hq.exr
šŸ“„ Upload: media/env-full-lab-lq.exr
šŸ“„ Upload: media/env-full-riverbed-hq.exr
šŸ“„ Upload: media/env-full-riverbed-lq.exr
šŸ“„ Upload: media/env-full-sculpture-hq.exr
šŸ“„ Upload: media/env-full-sculpture-lq.exr
šŸ“„ Upload: media/env-half-sunny-hq.exr
šŸ“„ Upload: media/env-half-sunny-lq.exr
šŸ“„ Upload: media/env-half-sunset-hq.exr
šŸ“„ Upload: media/env-half-sunset-lq.exr
šŸ“„ Upload: pbr-material.html
šŸ“„ Upload: texture-tiling.html
----------------------------------------------------------------
Making changes to 30 files/folders to sync server state
Uploading: 98.6 MB -- Deleting: 0 B -- Replacing: 0 B
----------------------------------------------------------------
creating folder "css/"
creating folder "js/"
creating folder "lib/"
creating folder "media/"
uploading "css/main.css"
uploading "hdri-flat.html"

----------------------------------------------------------------
--------------  šŸ”„šŸ”„šŸ”„ an error occurred  šŸ”„šŸ”„šŸ”„  --------------
----------------------------------------------------------------

----------------------------------------------------------------
----------------------  full error below  ----------------------
----------------------------------------------------------------

Error: Can't parse response to 'PASV': 2[26](https://github.com/StruffelProductions/PBR.ONE/runs/8293610445?check_suite_focus=true#step:3:27) Closing data connection, file transfer successful
    at parsePasvResponse (/home/runner/work/_actions/SamKirkland/FTP-Deploy-Action/4.3.2/dist/index.js:6193:15)
    at Client.enterPassiveModeIPv4 [as prepareTransfer] (/home/runner/work/_actions/SamKirkland/FTP-Deploy-Action/4.3.2/dist/index.js:6170:20)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async Client._uploadFromStream (/home/runner/work/_actions/SamKirkland/FTP-Deploy-Action/4.3.2/dist/index.js:[44](https://github.com/StruffelProductions/PBR.ONE/runs/8293610445?check_suite_focus=true#step:3:45)91:13)
    at async Client._uploadLocalFile (/home/runner/work/_actions/SamKirkland/FTP-Deploy-Action/4.3.2/dist/index.js:4[47](https://github.com/StruffelProductions/PBR.ONE/runs/8293610445?check_suite_focus=true#step:3:48)7:20)
Error: Error: Can't parse response to 'PASV': 226 Closing data connection, file transfer successful
markwylde commented 1 year ago

Yeah I get the same issue. Just posting my verbose logs incase it helps:

----------------------------------------------------------------
šŸš€ Thanks for using ftp-deploy. Let's deploy some stuff!   
----------------------------------------------------------------
If you found this project helpful, please support it
by giving it a ā­ on Github --> https://github.com/SamKirkland/FTP-Deploy-Action
or add a badge šŸ·ļø to your projects readme --> https://github.com/SamKirkland/FTP-Deploy-Action#badge
Using the following excludes filters: ["**/.git*","**/.git*/**","**/node_modules/**"]
Creating local state at ./server/.ftp-deploy-sync-state.json
Local state created
Connected to 212.102.43.88:21 (No encryption)
< 220 Service Ready.

> AUTH TLS
< Enabling TLS Connection

Control socket is using: TLSv1.2
Login security: TLSv1.2
> USER ***
< 331 Username ok, need password

> PASS ###
< 230 User logged in

> FEAT
< 211-Extensions supported:

<  UTF8

< 211 End

> TYPE I
< 200 Type set to Image

> STRU F
< 200 Command OK

> OPTS UTF8 ON
< 200 Command okay.

> PBSZ 0
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes
upload progress for "index.html". Progress: 632 bytes of 632 bytes

----------------------------------------------------------------
--------------  šŸ”„šŸ”„šŸ”„ an error occurred  šŸ”„šŸ”„šŸ”„  --------------
----------------------------------------------------------------

----------------------------------------------------------------
----------------------  full error below  ----------------------
----------------------------------------------------------------

Error: Timeout (control socket)
    at TLSSocket.<anonymous> (/home/runner/work/_actions/SamKirkland/FTP-Deploy-Action/4.3.2/dist/index.js:5288:58)
    at Object.onceWrapper (events.js:[42](https://github.com/markwylde/workerbox/actions/runs/3323975765/jobs/5494985261#step:4:43)0:28)
    at TLSSocket.emit (events.js:314:20)
    at TLSSocket.Socket._onTimeout (net.js:[48](https://github.com/markwylde/workerbox/actions/runs/3323975765/jobs/5494985261#step:4:49)3:8)
    at listOnTimeout (internal/timers.js:5[54](https://github.com/markwylde/workerbox/actions/runs/3323975765/jobs/5494985261#step:4:55):17)
    at processTimers (internal/timers.js:497:7)
Error: Error: Timeout (control socket)
struffel commented 1 year ago

Has there been any activity regarding this issue? I just tried v4.3.4 and the issue persists...