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

sync: "delta" shows in logs success but not uploading latest version of the file #13

Closed ikkitaguchi closed 2 weeks ago

ikkitaguchi commented 2 years ago

Hi,

Could you please take a look a look? I'm using below parameters, and when I use sync: "delta" the latest files are not being uploaded, though shown in logs that file was uploaded. When I use sync: "full" - the all works fine as expected.

jobs:

  deploy-via-sftp:
    runs-on: ubuntu-latest
    steps:
      - name: "Checkout"
        uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - name: SFTP Deploy
        uses: milanmk/actions-file-deployer@master
        with:
          remote-protocol: "sftp"
          remote-host: ""
          remote-user: ""
          remote-password: ""
          remote-path: "/wp-content/themes/mytheme"
          local-path: "./wp-content/themes/mytheme"
          sync: "delta"
ikkitaguchi commented 2 years ago

By the way I tried about 5 other alternatives and this action is the best option as it shows needed level of debug, has clear parameters and just works - thanks for the development on this one!

milanmk commented 2 years ago

Could you please share the action log where files not uploaded.

aawnu commented 2 years ago

I have done a full sync and then afterwards changing files none are uploaded or deleted using the Delta

jobs:
  upload:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
        with:
          fetch-depth: 0
      - name: SFTP
        uses: milanmk/actions-file-deployer@1.11
        with:
          remote-host: ${{ secrets.HOST }}
          remote-port: 22
          remote-user: ${{ secrets.HOST_USER }}
          remote-password: ${{ secrets.HOST_PASS }}
          ssh-private-key: ${{ secrets.SSH_PRIVATE }}
          remote-path: "XXX"
          sync-delta-excludes: ".github/,tests/,.env"
Configurations
  File created: /home/runner/.ssh/config
  ____________________________________________________________________________________________________
  File created: /home/runner/.netrc
  ____________________________________________________________________________________________________
  File created: /home/runner/ssh_private_key
  ____________________________________________________________________________________________________
  File created: ~/.lftprc
Prepare files
  Event: push
  Revision: https://github.com/AlexWestergaard/felixity-net/commit/5470403c60ee21c410df237072fd29c9ab71fa55
  Committer: AlexWestergaard
  Message: Add GoFundMe badge
  ____________________________________________________________________________________________________
  File created: .deploy-revision
  5470403c60ee21c410df237072fd29c9ab71fa55
  ____________________________________________________________________________________________________
  Previous Revision: https://github.com/AlexWestergaard/felixity-net/commit/bfff7b8c773d47664e8bc7e2bdcdc817c5d77f39
  ____________________________________________________________________________________________________
  fatal: .github/,tests/,.env: no such path in the working tree.
  Use 'git <command> -- <path>...' to specify paths that do not exist locally.
  fatal: .github/,tests/,.env: no such path in the working tree.
  Use 'git <command> -- <path>...' to specify paths that do not exist locally.
Transfer files
  Protocol: sftp
  Synchronization: delta
  Local path: .
  Remote path: /var/www/***/laravel
  Upload files: 0
  Delete files: 0
  ____________________________________________________________________________________________________
  /home/runner/work/felixity-net/felixity-net/.deploy-running -> sftp://***@***:22/var/www/***/laravel/.deploy-running 0-0 
  /home/runner/work/felixity-net/felixity-net/.deploy-revision -> sftp://***@***:22/var/www/***/laravel/.deploy-revision 0-41 129 B/s
Cleanup
  removed '/home/runner/.netrc'
  removed '/home/runner/ssh_private_key'
  removed '/home/runner/transfer_log.txt'
Run actions/upload-artifact@v2
  with:
    name: transfer_artifacts
    path: ~/transfer_log.txt
  ~/transfer_files

    if-no-files-found: ignore
Multiple search paths detected. Calculating the least common ancestor of all paths
The least common ancestor is /home/runner. This will be the root directory of the artifact

I added some code to PHP File and deleted a another .PHP file, neither was updated or deleted.

milanmk commented 2 years ago

sync-delta-excludes generated fatal error so no files were transferred. Make sure it adheres to pathspec.

aawnu commented 2 years ago

Just for clarification, does it error because i ignore files that are not present in my repository, such as .env?

Edit: If I would like to make sure such filed are never transferred, what would you recommend I do to ignore these?

milanmk commented 2 years ago

AFAIK, excluding non existent files in pathspec should not generate fatal error. I would suggest to run the same GIT command locally using pathspec and do some trial and error.

aawnu commented 1 year ago

@milanmk I have no clue how to make Delta work and I can't figure out how you want me to "debug" your action. FULL works fine. In the following commit I changed 1 file and that didn't even get found.

Run milanmk/actions-file-deployer@1.11
  with:
    remote-host: ***
    remote-port: [2](https://github.com/aawnu/felixity-net/actions/runs/3705061626/jobs/6278471863#step:3:2)2
    remote-user: ***
    remote-password: ***
    ssh-private-key: ***
    remote-path: /var/www/***/laravel
    sync-delta-excludes: .github/ tests/
    remote-protocol: sftp
    proxy: false
    proxy-port: 22
    proxy-forwarding-port: 1080
    local-path: .
    sync: delta
Run echo "::group::Initialization"
Initialization
  Check repository
  Initialize inputs
  Validate inputs
Install packages
  Selecting previously unselected package lftp.
  (Reading database ... 
  (Reading database ... 5%
  (Reading database ... 10%
  (Reading database ... 15%
  (Reading database ... 20%
  (Reading database ... 25%
  (Reading database ... [3](https://github.com/aawnu/felixity-net/actions/runs/3705061626/jobs/6278471863#step:3:3)0%
  (Reading database ... 35%
  (Reading database ... [4](https://github.com/aawnu/felixity-net/actions/runs/3705061626/jobs/6278471863#step:3:4)0%
  (Reading database ... 4[5](https://github.com/aawnu/felixity-net/actions/runs/3705061626/jobs/6278471863#step:3:5)%
  (Reading database ... 50%
  (Reading database ... 55%
  (Reading database ... [6](https://github.com/aawnu/felixity-net/actions/runs/3705061626/jobs/6278471863#step:3:6)0%
  (Reading database ... 65%
  (Reading database ... [7](https://github.com/aawnu/felixity-net/actions/runs/3705061626/jobs/6278471863#step:3:7)0%
  (Reading database ... 75%
  (Reading database ... [8](https://github.com/aawnu/felixity-net/actions/runs/3705061626/jobs/6278471863#step:3:8)0%
  (Reading database ... 85%
  (Reading database ... [9](https://github.com/aawnu/felixity-net/actions/runs/3705061626/jobs/6278471863#step:3:9)0%
  (Reading database ... 95%
  (Reading database ... [10](https://github.com/aawnu/felixity-net/actions/runs/3705061626/jobs/6278471863#step:3:10)0%
  (Reading database ... 236921 files and directories currently installed.)
  Preparing to unpack .../lftp_4.9.2-1build1_amd64.deb ...
  Unpacking lftp (4.9.2-1build1) ...
  Setting up lftp (4.9.2-1build1) ...
  Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
  Processing triggers for hicolor-icon-theme (0.17-2) ...
  Processing triggers for man-db (2.10.2-1) ...
  NEEDRESTART-VER: 3.5
  NEEDRESTART-KCUR: 5.[15](https://github.com/aawnu/felixity-net/actions/runs/3705061626/jobs/6278471863#step:3:15).0-1024-azure
  NEEDRESTART-KEXP: 5.15.0-1024-azure
  NEEDRESTART-KSTA: 1
Configurations
  File created: /home/runner/.ssh/config
  ____________________________________________________________________________________________________
  File created: /home/runner/.netrc
  ____________________________________________________________________________________________________
  File created: /home/runner/ssh_private_key
  ____________________________________________________________________________________________________
  File created: ~/.lftprc
Prepare files
  Event: push
  Revision: https://github.com/aawnu/felixity-net/commit/cfd3b3eed3bc86b[428](https://github.com/aawnu/felixity-net/actions/runs/3705061626/jobs/6278471863#step:3:431)57f5699bf8d50022a88337
  Committer: aawnu
  Message: Redirect ssl
  ____________________________________________________________________________________________________
  File created: .deploy-revision
  cfd3b3eed3bc86b42857f5699bf8d50022a88337
  ____________________________________________________________________________________________________
  Previous Revision: https://github.com/aawnu/felixity-net/commit/6dd0fa8ff49781a102748fccc3f270daea6cb551
  ____________________________________________________________________________________________________
  File created: ~/files_to_upload
  ____________________________________________________________________________________________________
  File created: ~/files_to_delete
  ____________________________________________________________________________________________________
Transfer files
  Protocol: sftp
  Synchronization: delta
  Local path: .
  Remote path: /var/www/***/laravel
  Upload files: 0
  Delete files: 0
  ____________________________________________________________________________________________________
  /home/runner/work/felixity-net/felixity-net/.deploy-running -> sftp://***@***:22/var/www/***/laravel/.deploy-running 0-0 
  /home/runner/work/felixity-net/felixity-net/.deploy-revision -> sftp://***@***:22/var/www/***/laravel/.deploy-revision 0-41 105 B/s
Cleanup
  removed '/home/runner/.netrc'
  removed '/home/runner/ssh_private_key'
  removed '/home/runner/transfer_log.txt'
Run actions/upload-artifact@v2
  with:
    name: transfer_artifacts
    path: ~/transfer_log.txt
  ~/transfer_files

    if-no-files-found: ignore
Multiple search paths detected. Calculating the least common ancestor of all paths
The least common ancestor is /home/runner. This will be the root directory of the artifact
No files were found with the provided path: ~/transfer_log.txt
~/transfer_files. No artifacts will be uploaded.
Zaptronic commented 1 year ago

Is this one solved? I have the same issue

milanmk commented 1 year ago

I believe your issue is resolved too based on fixes done for #24 and fixed in version 1.13.