Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add the 'include' parameter #436

Open
okwareddevnest opened this issue Jan 29, 2024 · 5 comments
Open

add the 'include' parameter #436

okwareddevnest opened this issue Jan 29, 2024 · 5 comments

Comments

@okwareddevnest
Copy link

Bug Description
The FTP-Deploy-Action lacks an include parameter, which is necessary for specifying files to upload. Currently, the action only provides an exclude parameter to define files to ignore during deployment. This makes it cumbersome to deploy specific files or directories, especially when dealing with a large number of files where excluding individually would not be practical.

My Action Config

name: Deployment

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v2

    - name: Set up Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '18.x'

      uses: SamKirkland/FTP-Deploy-Action@4.0.0
      with:
        exclude: '**/*'
        include: next.tar.gz,server.js,package.json,package-lock.json

My Action Log

Invalid action input 'include'. Available expression contexts: `github`, `inputs`, `vars`, `needs`, `strategy`, `matrix`, `secrets`, `steps`, `job`, `runner`, `env`. Available expression functions: `hashFiles`
@Trainax
Copy link
Contributor

Trainax commented Jan 30, 2024

Duplicate of #201

You could achieve what you want by using the exclude option in reverse. Try using:

name: Deployment

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout repository
      uses: actions/checkout@v2

    - name: Set up Node.js
      uses: actions/setup-node@v2
      with:
        node-version: '18.x'

      uses: SamKirkland/FTP-Deploy-Action@4.0.0
      with:
        exclude: !{next.tar.gz,server.js,package.json,package-lock.json}

Which excludes everything that doesn't match the values in the array


Also, on a side note, may I ask you why are you using outdated Actions versions? Like SamKirkland/FTP-Deploy-Action@4.0.0 instead of v4.3.4 or actions/checkout@v2 instead of v4. I am asking you because Node 12 and Node 16 actions (like actions/checkout@v2) are deprecated. See #340 and #434

@christophechateau
Copy link

  uses: SamKirkland/FTP-Deploy-Action@4.0.0
  with:
    exclude: !{next.tar.gz,server.js,package.json,package-lock.json}

Hi,

This does not work. All my files are uploaded and not just the exception.

@Trainax
Copy link
Contributor

Trainax commented Nov 8, 2024

This does not work. All my files are uploaded and not just the exception.

Hi. That's quite odd... I've tried the pattern in the glob tester again and we can see that all files except those specified get matched (and thus excluded)... I don't know why it isn't working...

Just to be sure: are you using the latest version of this action (v4.3.5)?

@hansmorb
Copy link

hansmorb commented Jan 24, 2025

Hey, sorry if this might be a noob question but I am having issues with the syntax mentioned above. I either keep getting: "Tags and anchors must be separated from the next token by white space " or "Incorrect type. Expected "string | number | boolean" from Github.

I have tried a different syntax like so:

      uses: SamKirkland/FTP-Deploy-Action@v4.3.5
       with:
         exclude: |
          !myfile.zip

-> Result: Everything got uploaded (with and without space after exclamation mark)

       uses: SamKirkland/FTP-Deploy-Action@v4.3.5
       with:
         exclude: ! myfile.zip

-> Result: Workflow not valid

       uses: SamKirkland/FTP-Deploy-Action@v4.3.5
       with:
         exclude: !{myfile.zip}

-> Result: You have an error in your yaml syntax on line (exclude line)

    - name: Upload zip
       uses: SamKirkland/FTP-Deploy-Action@v4.3.5
       with:
         exclude: '!myfile.zip'

-> Result: Everything gets uploaded

     - name: Upload zip
       uses: SamKirkland/FTP-Deploy-Action@v4.3.5
       with:
         exclude: '!{myfile.zip}'

-> Result: Everything uploaded, same thing with full quotation marks.

@hansmorb
Copy link

Okay, I got it:

       uses: SamKirkland/FTP-Deploy-Action@v4.3.5
       with:
         exclude: |
          **
          ! myfile.zip

works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants