acefire6/File Changes

A customisable filter that uses git (or a custom command) to get changed files based on rules and sets them to outputs

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Mar 27, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: acefire6/file_changes@eefc0a20cf7cc0f56ba29f706790846761a2f7ff # v1.1.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
base-branchThe name of the branch being compared to. Uses $GITHUB_BASE_REF if not setno${{ github.base_ref }}
commandThe command to run to get the file changes can contain {globs} and {branchName} to specify replacements. {globs} uses glob-template to prepare the globs before replacement.nogit diff --name-status --no-renames {branchName} -- {globs}
glob-templateHow to format the globs receivedno'{glob}'
filter-patternsA map with keys ADDED, CHANGED, and DELETED as keys and a pattern as a value. The matching is done by checking if the file change starts with the pattern. noADDED: "A\t" CHANGED: "M\t" DELETED: "D\t"
change-mapA multi-line map of changes to find. Each input in the change-map has two (or three with separateDeleted set to true) corresponding outputs. For a given key in change-map `code` there will be outputs `code`, a list of all the changed files, `any-code`, a boolean indicating if there were any changes that matched the glob filters, and `deleted-code` if `separateDeleted` is true. Example: python_files: {"globs": "*.py", "separateDeleted": false} requirements: {"globs": "requirements/*.txt"} py_and_requirements: {"globs": ["requirements/*.txt", "*.py"]} The separateDeleted boolean determines if we separate out deleted files or if they're included in the change list. yes
namedescription
any-matchesA boolean value indicating if any glob matches were found