milanmk / actions-file-deployer

Composite GitHub Action (Linux runner) for deploying repository content to remote server. Fast and customizable deployment with proxy support. Deploy only changed files or do full sync/mirror of repository content.
The Unlicense
64 stars 15 forks source link

Files over a certain size are only partially uploaded (FTP) #34

Open gazchap opened 5 months ago

gazchap commented 5 months ago

With every deployment action I run, any files over a certain size (seems to be 48 KiB) error with Fatal error: max-retries exceeded and the end result is that an incomplete file (48 KiB in size) is left on the server.

Here's the log from the last deployment.

It's just using FTP, not SFTP or FTPS. Normal FTP connections work absolutely fine.

Any ideas?

Protocol: ftp
  Synchronization: delta
  Local path: .
  Remote path: /public_html
  Upload files: 1
  Delete files: 0
  ____________________________________________________________________________________________________
  WARNING: Certificate verification: hostname checking disabled
  WARNING: Certificate verification: hostname checking disabled
  WARNING: Certificate verification: hostname checking disabled
  WARNING: Certificate verification: hostname checking disabled
  WARNING: Certificate verification: hostname checking disabled
  <--- 451-Error during read from data connection
  <--- 451-Transfer aborted
  <--- 451 0.212 seconds (measured here), 75.52 Kbytes per second
  WARNING: Certificate verification: hostname checking disabled
  <--- 451-Error during read from data connection
  <--- 451-Transfer aborted
  <--- 451 0.217 seconds (measured here), 73.84 Kbytes per second
  WARNING: Certificate verification: hostname checking disabled
  <--- 451-Error during read from data connection
  <--- 451-Transfer aborted
  <--- 451 0.217 seconds (measured here), 73.56 Kbytes per second
  mput: System/modules/appointments/lib/appointments.inc.php: Fatal error: max-retries exceeded
  /home/runner/work/[redacted]/[redacted]/.deploy-running -> ftp://***@***:21***.deploy-running 0-0 
  /home/runner/work/[redacted]/[redacted]/.deploy-revision -> ftp://***@***:21***.deploy-revision 0-41 54 B/s
milanmk commented 5 months ago

This is unusual error. Try enabling debug input which should show verbose output of FTP commands.

gazchap commented 2 months ago

Sorry for the delay, I finally got around to doing this. The output is below. The file that failed to upload was public_html/System/modules/appointments/admin/index.php.

---- Connecting to *** ([redacted]) port 21
  ---> FEAT
  <--- 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
  <--- 220-You are user number 2 of 50 allowed.
  <--- 220-Local time is now 12:43. Server port: 21.
  <--- 220-This is a private system - No anonymous login
  <--- 220-IPv6 connections are also welcome on this server.
  <--- 220 You will be disconnected after 15 minutes of inactivity.
  <--- 211-Extensions supported:
  <---  UTF8
  <---  EPRT
  <---  IDLE
  <---  MDTM
  <---  SIZE
  <---  MFMT
  <---  REST STREAM
  <---  MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
  <---  MLSD
  <---  PRET
  <---  AUTH TLS
  <---  PBSZ
  <---  PROT
  <---  TVFS
  <---  ESTA
  <---  PASV
  <---  EPSV
  <---  ESTP
  <--- 211 End.
  ---> AUTH TLS
  <--- 234 AUTH TLS OK.
  ---> OPTS UTF8 ON
  ---> USER ***
  Certificate: CN=*.[redacted]
   Issued by:        C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Checking against: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
    Trusted
  Certificate: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Issued by:        C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Checking against: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
    Trusted
  Certificate: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Issued by: C=GB,ST=Greater Manchester,L=Salford,O=Comodo CA Limited,CN=AAA Certificate Services
    Trusted
  WARNING: Certificate verification: hostname checking disabled
  <--- 504 Unknown command
  <--- 331 User *** OK. Password required
  ---> PASS XXXX
  ---> OPTS UTF8 ON
  ---> OPTS MLST type;size;modify;UNIX.mode;UNIX.uid;UNIX.gid;
  ---> PWD
  ---> PBSZ 0
  ---> PROT P
  <--- 230 OK. Current restricted directory is /
  <--- 504 Unknown command
  <--- 200  MLST OPTS type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique;
  <--- 257 "/" is your current location
  <--- 200 PBSZ=0
  <--- 200 Data protection level set to "private"
  ---> TYPE I
  ---> PRET STOR public_html/.deploy-running
  ---> PASV
  ---> STOR public_html/.deploy-running
  <--- 200 TYPE is now 8-bit binary
  <--- 200 Ready to proceed
  <--- 227 Entering Passive Mode ([redacted],133,117)
  ---- Connecting data socket to ([redacted]) port 34165
  ---- Data connection established
  <--- 150 Accepted data connection
  Certificate: CN=*.[redacted]
   Issued by:        C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Checking against: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
    Trusted
  Certificate: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Issued by:        C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Checking against: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
    Trusted
  Certificate: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Issued by: C=GB,ST=Greater Manchester,L=Salford,O=Comodo CA Limited,CN=AAA Certificate Services
    Trusted
  WARNING: Certificate verification: hostname checking disabled
  ---- Closing data socket
  <--- 226 File successfully transferred
  ---> MFMT 20240822114339 public_html/.deploy-running
  <--- 213 UTIME OK
  ---- Connecting to *** ([redacted]) port 21
  ---> MKD public_html
  ---> FEAT
  <--- 550 Can't create directory: File exists
  mkdir failed: Access failed: 550 Can't create directory: File exists (/public_html)
  ---> PRET STOR public_html/.deploy-revision
  ---> PASV
  ---> STOR public_html/.deploy-revision
  <--- 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
  <--- 220-You are user number 3 of 50 allowed.
  <--- 220-Local time is now 12:43. Server port: 21.
  <--- 220-This is a private system - No anonymous login
  <--- 220-IPv6 connections are also welcome on this server.
  <--- 220 You will be disconnected after 15 minutes of inactivity.
  <--- 211-Extensions supported:
  <---  UTF8
  <---  EPRT
  <---  IDLE
  <---  MDTM
  <---  SIZE
  <---  MFMT
  <---  REST STREAM
  <---  MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;
  <---  MLSD
  <---  PRET
  <---  AUTH TLS
  <---  PBSZ
  <---  PROT
  <---  TVFS
  <---  ESTA
  <---  PASV
  <---  EPSV
  <---  ESTP
  <--- 211 End.
  ---> AUTH TLS
  <--- 200 Ready to proceed
  <--- 227 Entering Passive Mode ([redacted],185,148)
  ---- Connecting data socket to ([redacted]) port 47508
  <--- 234 AUTH TLS OK.
  ---> OPTS UTF8 ON
  ---> USER ***
  ---- Data connection established
  Certificate: CN=*.[redacted]
   Issued by:        C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Checking against: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
    Trusted
  Certificate: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Issued by:        C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Checking against: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
    Trusted
  Certificate: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Issued by: C=GB,ST=Greater Manchester,L=Salford,O=Comodo CA Limited,CN=AAA Certificate Services
    Trusted
  WARNING: Certificate verification: hostname checking disabled
  <--- 150 Accepted data connection
  Certificate: CN=*.[redacted]
   Issued by:        C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Checking against: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
    Trusted
  Certificate: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Issued by:        C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Checking against: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
    Trusted
  Certificate: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Issued by: C=GB,ST=Greater Manchester,L=Salford,O=Comodo CA Limited,CN=AAA Certificate Services
    Trusted
  WARNING: Certificate verification: hostname checking disabled
  ---- Closing data socket
  <--- 226-File successfully transferred
  <--- 226 0.000 seconds (measured here), 194.37 Kbytes per second
  ---> MFMT 20240822114339 public_html/.deploy-revision
  <--- 504 Unknown command
  <--- 331 User *** OK. Password required
  ---> PASS XXXX
  ---> OPTS UTF8 ON
  ---> OPTS MLST type;size;modify;UNIX.mode;UNIX.uid;UNIX.gid;
  ---> PBSZ 0
  ---> PROT P
  <--- 213 UTIME OK
  <--- 230 OK. Current restricted directory is /
  <--- 504 Unknown command
  <--- 200  MLST OPTS type;size;sizd;modify;UNIX.mode;UNIX.uid;UNIX.gid;unique;
  <--- 200 PBSZ=0
  <--- 200 Data protection level set to "private"
  ---> MKD /public_html
  ---> MKD ***System
  ---> MKD ***System/modules
  ---> MKD ***System/modules/appointments
  ---> MKD public_html/System/modules/appointments/admin
  <--- 550 Can't create directory: File exists
  <--- 550 Can't create directory: File exists
  <--- 550 Can't create directory: File exists
  <--- 550 Can't create directory: File exists
  <--- 550 Can't create directory: File exists
  mkdir failed: Access failed: 550 Can't create directory: File exists (***System/modules/appointments/admin)
  ---> TYPE I
  ---> PRET STOR public_html/System/modules/appointments/admin/index.php
  ---> PASV
  ---> STOR public_html/System/modules/appointments/admin/index.php
  <--- 200 TYPE is now 8-bit binary
  <--- 200 Ready to proceed
  <--- 227 Entering Passive Mode ([redacted],144,225)
  ---- Connecting data socket to ([redacted]) port 3[708]([redacted]/actions/runs/10507402769/job/29109070342#step:5:715)9
  ---- Data connection established
  <--- 150 Accepted data connection
  Certificate: CN=*.[redacted]
   Issued by:        C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Checking against: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
    Trusted
  Certificate: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Issued by:        C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Checking against: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
    Trusted
  Certificate: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Issued by: C=GB,ST=Greater Manchester,L=Salford,O=Comodo CA Limited,CN=AAA Certificate Services
    Trusted
  WARNING: Certificate verification: hostname checking disabled
  ---- Closing data socket
  <--- 451-Error during read from data connection
  <--- 451-Transfer aborted
  <--- 451 0.228 seconds (measured here), 70.04 Kbytes per second
  ---> SIZE ***System/modules/appointments/admin/index.php
  <--- 213 16384
  ---> PRET STOR public_html/System/modules/appointments/admin/index.php
  ---> PASV
  ---> REST 16384
  ---> STOR public_html/System/modules/appointments/admin/index.php
  copy: put rolled back to 16384, seeking get accordingly
  <--- 200 Ready to proceed
  <--- 227 Entering Passive Mode ([redacted],152,235)
  <--- 350 Restarting at 16384
  ---- Connecting data socket to ([redacted]) port 39147
  ---- Data connection established
  <--- 150 Accepted data connection
  Certificate: CN=*.[redacted]
   Issued by:        C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Checking against: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
    Trusted
  Certificate: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Issued by:        C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Checking against: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
    Trusted
  Certificate: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Issued by: C=GB,ST=Greater Manchester,L=Salford,O=Comodo CA Limited,CN=AAA Certificate Services
    Trusted
  WARNING: Certificate verification: hostname checking disabled
  ---- Closing data socket
  <--- 451-Error during read from data connection
  <--- 451-Transfer aborted
  <--- 451 0.219 seconds (measured here), 72.95 Kbytes per second
  ---> SIZE ***System/modules/appointments/admin/index.php
  <--- 213 32[768]([redacted]/actions/runs/10507402769/job/29109070342#step:5:775)
  ---> PRET STOR public_html/System/modules/appointments/admin/index.php
  ---> PASV
  ---> REST 32768
  ---> STOR public_html/System/modules/appointments/admin/index.php
  copy: put rolled back to 32768, seeking get accordingly
  <--- 200 Ready to proceed
  <--- 227 Entering Passive Mode ([redacted],124,153)
  <--- 350 Restarting at 32768
  ---- Connecting data socket to ([redacted]) port 31897
  ---- Data connection established
  <--- 150 Accepted data connection
  Certificate: CN=*.[redacted]
   Issued by:        C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Checking against: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
    Trusted
  Certificate: C=GB,ST=Greater Manchester,L=Salford,O=Sectigo Limited,CN=Sectigo RSA Domain Validation Secure Server CA
   Issued by:        C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Checking against: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
    Trusted
  Certificate: C=US,ST=New Jersey,L=Jersey City,O=The USERTRUST Network,CN=USERTrust RSA Certification Authority
   Issued by: C=GB,ST=Greater Manchester,L=Salford,O=Comodo CA Limited,CN=AAA Certificate Services
    Trusted
  WARNING: Certificate verification: hostname checking disabled
  ---- Closing data socket
  <--- 451-Error during read from data connection
  <--- 451-Transfer aborted
  <--- 451 0.230 seconds (measured here), 69.53 Kbytes per second
  ---> SIZE ***System/modules/appointments/admin/index.php
  <--- 213 49152
  mput: System/modules/appointments/admin/index.php: Fatal error: max-retries exceeded
  ---> DELE public_html/.deploy-check
  <--- 550 Could not delete public_html/.deploy-check: No such file or directory
  ---> DELE public_html/.deploy-running
  <--- 250 Deleted public_html/.deploy-running
  ---> QUIT
  ---> QUIT
  <--- 221-Goodbye. You uploaded 48 and downloaded 0 kbytes.
  <--- 221 Logout.
  ---- Closing control socket
  <--- 221-Goodbye. You uploaded 1 and downloaded 0 kbytes.
  <--- 221 Logout.
  + set ftp:ssl-protect-data true
  + set ftp:sync-mode false
  + set log:enabled/xfer true
  + set log:file/xfer ~/transfer_log.txt
  + set log:show-time/xfer false
  + set mirror:overwrite true
  + set mirror:parallel-transfer-count 3
  + set mirror:set-permissions false
  + set net:max-retries 1
  + set net:persist-retries 0
  + set net:timeout 10
  + set sftp:auto-confirm true
  + set ssl:check-hostname false
  + set ssl:verify-certificate false
  + set xfer:parallel 3
  + set sftp:connect-program /usr/bin/ssh -a -x
  + open ftp://***@***:21
  ---- Closing control socket
  + lftp -c "lcd \".\";
      put -O \"/public_html\" \"./.deploy-running\";
      mput -d -O \"/public_html\" .deploy-revision \"System/modules/appointments/admin/index.php\" ;
      rm -f \"***.deploy-check\" ;
      rm -f \"***.deploy-running\";
      "
  + lcd .
  + put -O /public_html ./.deploy-running
  + mput -d -O /public_html .deploy-revision System/modules/appointments/admin/index.php
  + rm -f ***.deploy-check
  + rm -f ***.deploy-running
  /home/runner/work/[redacted]/[redacted]/.deploy-running -> ftp://***@***:21***.deploy-running 0-0 
  /home/runner/work/[redacted]/[redacted]/.deploy-revision -> ftp://***@***:21***.deploy-revision 0-41 50 B/s
gazchap commented 2 months ago

@milanmk Did you mean to mark this as completed? What does the log indicate?