Skip to content
glob / 19.0.0

glob 19.0.0

Install from the command line:
Learn more about npm packages
$ npm install @tj-actions/glob@19.0.0
Install via package.json:
"@tj-actions/glob": "19.0.0"

About this version

Ubuntu Mac OS Windows Public workflows that use this action.

Codacy Badge Codacy Badge build-test Update release version.

glob

Search for files matching glob patterns with support for returning matching deleted git tracked files, omits files and directories specified in the projects .gitignore, and excludes the .git and node_modules folders except explicitly specified.

Table of Contents

Usage

[!WARNING]

...
    steps:
      - uses: actions/checkout@v2

      - name: Glob match
        uses: tj-actions/glob@v19
        id: glob
        with:
          files: |
            *.md
            **/*.yaml
            !action.yml
            **/rebase.yml

      - name: Show all matching files
        run: |
          echo "${{ steps.glob.outputs.paths }}"
        # Outputs: .github/workflows/rebase.yml .github/workflows/sync-release-version.yml .github/workflows/test.yml...

Inputs

- uses: tj-actions/glob@v19
  id: glob
  with:
    # Specify a base ref used for comparing changes, when 
    # `include-deleted-files` is set to `true` 
    # Type: string
    # Default: "${{ github.event.pull_request.base.ref }}"
    base-ref: ''

    # Specify a base commit SHA used for comparing changes, 
    # when `include-deleted-files` is set to `true` 
    # Type: string
    base-sha: ''

    # Specify a diff string `..` or `...` used for 
    # comparing changes, when `include-deleted-files` is set to `true` 
    # Type: string
    diff: ''

    # Escape special characters of filenames used in the `paths` 
    # output 
    # Type: boolean
    # Default: "true"
    escape-paths: ''

    # Excluded file patterns (optionally include `!` before the file pattern or it would be prepended) 
    # Type: string
    excluded-files: ''

    # Source file to populate the `excluded-files` input
    # Type: string
    excluded-files-from-source-file: ''

    # Separator used to split the `excluded-files-from-source-file` input
    # Type: string
    # Default: "\n"
    excluded-files-from-source-file-separator: ''

    # Separator used to split the `excluded-files` input
    # Type: string
    # Default: "\n"
    excluded-files-separator: ''

    # File patterns
    # Type: string
    files: ''

    # Source file to populate the `files` input
    # Type: string
    files-from-source-file: ''

    # Separator used to split the `files-from-source-file` input
    # Type: string
    # Default: "\n"
    files-from-source-file-separator: ''

    # Separator used to split the `files` input
    # Type: string
    # Default: "\n"
    files-separator: ''

    # Indicates whether to follow symbolic links
    # Type: boolean
    # Default: "true"
    follow-symbolic-links: ''

    # Specify a boolean indicating a PR from a fork 
    # is used for comparing changes, when `include-deleted-files` is set 
    # to `true` 
    # Type: string
    # Default: "${{ github.event.pull_request.head.repo.fork }}"
    head-repo-fork: ''

    # Include all matching deleted files
    # Type: boolean
    # Default: "false"
    include-deleted-files: ''

    # Indicates whether to include matched directories
    # Type: boolean
    # Default: "true"
    match-directories: ''

    # Indicates whether to match files in `.gitignore`
    # Type: boolean
    # Default: "false"
    match-gitignore-files: ''

    # Separator used for the paths output.
    # Type: string
    # Default: " "
    separator: ''

    # Specify a current commit SHA used for comparing changes, 
    # when `include-deleted-files` is set to `true` 
    # Type: string
    # Default: "${{ github.sha }}"
    sha: ''

    # Strip the `$GITHUB_WORKSPACE` from the `paths` output
    # Type: boolean
    # Default: "true"
    strip-top-level-dir: ''

    # Provide a path that is relative to `$GITHUB_WORKSPACE` for 
    # identifying the repository. 
    # Type: string
    # Default: "."
    working-directory: ''

Outputs

OUTPUT TYPE DESCRIPTION
has-custom-patterns string Indicates whether at least one
pattern was provided
paths string List of filtered paths using
the specified patterns and separator
paths-output-file string List of filtered paths using
the specified patterns and separator
stored in a temporary file

Path filtering

File and Directory patterns are evaluted using minimatch with the help of the @actions/glob package.

Enabled

Optionally enabled

Disabled

  • nobrace: Ensures that brace or brace sets can be used.

Pattern Gotcha

The ** pattern in minimatch matches any number of directories and files recursively, but it must be followed by a directory separator (/ on Unix-like systems) to be effective. If you want to match all files with the .js extension in a directory and its subdirectories, you should use the **/*.js pattern as opposed to **.js

Patterns

Glob behaviour

Patterns *, ?, [...], and ** (globstar) are supported.

With the following behaviours:

  • File names that begin with . may be included in the results
  • Case insensitive on Windows
  • Directory separators / and \ are both supported on Windows

Tilde expansion

Supports basic tilde expansion, for current user HOME replacement only.

Example:

  • ~ may expand to /Users/johndoe
  • ~/foo may expand to /Users/johndoe/foo

Comments

Patterns that begin with # are treated as comments.

Exclude patterns

Leading ! changes the meaning of an include pattern to exclude.

Multiple leading ! flips the meaning.

Escaping

Wrapping special characters in [] can be used to escape literal glob characters in a file name. For example the literal file name hello[a-z] can be escaped as hello[[]a-z].

On Linux/macOS \ is also treated as an escape character.

If you feel generous and want to show some extra appreciation:

Buy me a coffee

Credits

This package was created with Cookiecutter using cookiecutter-action

Report Bugs

Report bugs at https://github.com/tj-actions/glob/issues.

If you are reporting a bug, please include the following:

  • Your operating system name and version.
  • Any details about your workflow that might be helpful in troubleshooting.
  • Detailed steps to reproduce the bug.

Details


Assets

  • glob-19.0.0.tgz

Download activity

  • Total downloads 0
  • Last 30 days 0
  • Last week 0
  • Today 0