mirror of
https://github.com/tj-actions/changed-files
synced 2024-12-17 13:47:20 +00:00
77f9e6c7c6
Co-authored-by: GitHub Action <action@github.com>
207 lines
9.5 KiB
YAML
207 lines
9.5 KiB
YAML
name: Changed Files
|
|
description: Get all Added, Copied, Modified, Deleted, Renamed, Type changed, Unmerged, Unknown files.
|
|
author: tj-actions
|
|
|
|
inputs:
|
|
separator:
|
|
description: "Split character for output strings"
|
|
required: false
|
|
default: " "
|
|
include_all_old_new_renamed_files:
|
|
description: "Include `all_old_new_renamed_files` output. Note this can generate a large output See: [#501](https://github.com/tj-actions/changed-files/issues/501)."
|
|
required: false
|
|
default: "false"
|
|
old_new_separator:
|
|
description: "Split character for old and new filename pairs."
|
|
required: false
|
|
default: ","
|
|
old_new_files_separator:
|
|
description: "Split character for old and new renamed filename pairs."
|
|
required: false
|
|
default: " "
|
|
files_from_source_file:
|
|
description: "Source file(s) used to populate the `files` input."
|
|
required: false
|
|
default: ""
|
|
files_from_source_file_separator:
|
|
description: 'Separator used to split the `files_from_source_file` input'
|
|
default: "\n"
|
|
required: false
|
|
files:
|
|
description: "File and directory patterns used to detect changes (Defaults to the entire repo if unset) **NOTE:** Multiline file/directory patterns should not include quotes."
|
|
required: false
|
|
default: ""
|
|
files_separator:
|
|
description: "Separator used to split the `files` input"
|
|
default: "\n"
|
|
required: false
|
|
files_yaml:
|
|
description: "YAML used to define a set of file patterns to detect changes"
|
|
required: false
|
|
default: ""
|
|
files_yaml_from_source_file:
|
|
description: "Source file(s) used to populate the `files_yaml` input. [Example](https://github.com/tj-actions/changed-files/blob/main/test/changed-files.yml)"
|
|
required: false
|
|
default: ""
|
|
files_yaml_from_source_file_separator:
|
|
description: 'Separator used to split the `files_yaml_from_source_file` input'
|
|
default: "\n"
|
|
required: false
|
|
files_ignore_yaml:
|
|
description: "YAML used to define a set of file patterns to ignore changes"
|
|
required: false
|
|
default: ""
|
|
files_ignore_yaml_from_source_file:
|
|
description: "Source file(s) used to populate the `files_ignore_yaml` input. [Example](https://github.com/tj-actions/changed-files/blob/main/test/changed-files.yml)"
|
|
required: false
|
|
default: ""
|
|
files_ignore_yaml_from_source_file_separator:
|
|
description: 'Separator used to split the `files_ignore_yaml_from_source_file` input'
|
|
default: "\n"
|
|
required: false
|
|
files_ignore:
|
|
description: "Ignore changes to these file(s) **NOTE:** Multiline file/directory patterns should not include quotes."
|
|
required: false
|
|
default: ""
|
|
files_ignore_separator:
|
|
description: "Separator used to split the `files_ignore` input"
|
|
default: "\n"
|
|
required: false
|
|
files_ignore_from_source_file:
|
|
description: "Source file(s) used to populate the `files_ignore` input"
|
|
required: false
|
|
default: ""
|
|
files_ignore_from_source_file_separator:
|
|
description: 'Separator used to split the `files_ignore_from_source_file` input'
|
|
default: "\n"
|
|
required: false
|
|
sha:
|
|
description: "Specify a different commit SHA used for comparing changes"
|
|
required: false
|
|
base_sha:
|
|
description: "Specify a different base commit SHA used for comparing changes"
|
|
required: false
|
|
since:
|
|
description: "Get changed files for commits whose timestamp is older than the given time."
|
|
required: false
|
|
default: ""
|
|
until:
|
|
description: "Get changed files for commits whose timestamp is earlier than the given time."
|
|
required: false
|
|
default: ""
|
|
path:
|
|
description: "Specify a relative path under `$GITHUB_WORKSPACE` to locate the repository."
|
|
required: false
|
|
default: "."
|
|
quotepath:
|
|
description: "Use non-ascii characters to match files and output the filenames completely verbatim by setting this to `false`"
|
|
default: "true"
|
|
required: false
|
|
diff_relative:
|
|
description: "Exclude changes outside the current directory and show path names relative to it. **NOTE:** This requires you to specify the top level directory via the `path` input."
|
|
required: false
|
|
default: "true"
|
|
dir_names:
|
|
default: "false"
|
|
description: "Output unique changed directories instead of filenames. **NOTE:** This returns `.` for changed files located in the current working directory which defaults to `$GITHUB_WORKSPACE`."
|
|
required: false
|
|
dir_names_max_depth:
|
|
description: "Limit the directory output to a maximum depth e.g `test/test1/test2` with max depth of `2` returns `test/test1`."
|
|
required: false
|
|
dir_names_exclude_current_dir:
|
|
description: "Exclude the current directory represented by `.` from the output when `dir_names` is set to `true`."
|
|
required: false
|
|
default: "false"
|
|
dir_names_exclude_root:
|
|
description: "Exclude the root directory represented by `.` from the output when `dir_names`is set to `true`."
|
|
required: false
|
|
default: "false"
|
|
deprecationMessage: "Use `dir_names_exclude_current_dir` instead."
|
|
json:
|
|
description: "Output list of changed files in a JSON formatted string which can be used for matrix jobs."
|
|
required: false
|
|
default: "false"
|
|
escape_json:
|
|
description: "Escape JSON output."
|
|
required: false
|
|
default: "true"
|
|
fetch_depth:
|
|
description: "Depth of additional branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
|
|
required: false
|
|
default: "50"
|
|
since_last_remote_commit:
|
|
description: "Use the last commit on the remote branch as the `base_sha`. Defaults to the last non-merge commit on the target branch for pull request events and the previous remote commit of the current branch for push events."
|
|
required: false
|
|
default: "false"
|
|
write_output_files:
|
|
description: "Write outputs to the `output_dir` defaults to `.github/outputs` folder. **NOTE:** This creates a `.txt` file by default and a `.json` file if `json` is set to `true`."
|
|
required: false
|
|
default: "false"
|
|
output_dir:
|
|
description: "Directory to store output files."
|
|
required: false
|
|
default: ".github/outputs"
|
|
output_renamed_files_as_deleted_and_added:
|
|
description: "Output renamed files as deleted and added files."
|
|
required: false
|
|
default: "false"
|
|
recover_deleted_files:
|
|
description: "Recover deleted files."
|
|
required: false
|
|
default: "false"
|
|
recover_deleted_files_to_destination:
|
|
description: "Recover deleted files to a new destination directory, defaults to the original location."
|
|
required: false
|
|
default: ""
|
|
|
|
outputs:
|
|
added_files:
|
|
description: "Returns only files that are Added (A)."
|
|
copied_files:
|
|
description: "Returns only files that are Copied (C)."
|
|
deleted_files:
|
|
description: "Returns only files that are Deleted (D)."
|
|
modified_files:
|
|
description: "Returns only files that are Modified (M)."
|
|
renamed_files:
|
|
description: "Returns only files that are Renamed (R)."
|
|
all_old_new_renamed_files:
|
|
description: "Returns only files that are Renamed and lists their old and new names. **NOTE:** This requires setting `include_all_old_new_renamed_files` to `true`. Also, keep in mind that this output is global and wouldn't be nested in outputs generated when the `*_yaml_*` input is used. (R)"
|
|
type_changed_files:
|
|
description: "Returns only files that have their file type changed (T)."
|
|
unmerged_files:
|
|
description: "Returns only files that are Unmerged (U)."
|
|
unknown_files:
|
|
description: "Returns only files that are Unknown (X)."
|
|
all_changed_and_modified_files:
|
|
description: "Returns all changed and modified files i.e. *a combination of (ACMRDTUX)*"
|
|
all_changed_files:
|
|
description: "Returns all changed files i.e. *a combination of all added, copied, modified and renamed files (ACMR)*"
|
|
any_changed:
|
|
description: "Returns `true` when any of the filenames provided using the `files*` or `files_ignore*` inputs has changed. i.e. *using a combination of all added, copied, modified and renamed files (ACMR)*."
|
|
only_changed:
|
|
description: "Returns `true` when only files provided using the `files*` or `files_ignore*` inputs has changed. i.e. *using a combination of all added, copied, modified and renamed files (ACMR)*."
|
|
other_changed_files:
|
|
description: "Returns all other changed files not listed in the files input i.e. *using a combination of all added, copied, modified and renamed files (ACMR)*."
|
|
all_modified_files:
|
|
description: "Returns all changed files i.e. *a combination of all added, copied, modified, renamed and deleted files (ACMRD)*."
|
|
any_modified:
|
|
description: "Returns `true` when any of the filenames provided using the `files*` or `files_ignore*` inputs has been modified. i.e. *using a combination of all added, copied, modified, renamed, and deleted files (ACMRD)*."
|
|
only_modified:
|
|
description: "Returns `true` when only files provided using the `files*` or `files_ignore*` inputs has been modified. (ACMRD)."
|
|
other_modified_files:
|
|
description: "Returns all other modified files not listed in the files input i.e. *a combination of all added, copied, modified, and deleted files (ACMRD)*"
|
|
any_deleted:
|
|
description: "Returns `true` when any of the filenames provided using the `files*` or `files_ignore*` inputs has been deleted. (D)"
|
|
only_deleted:
|
|
description: "Returns `true` when only files provided using the `files*` or `files_ignore*` inputs has been deleted. (D)"
|
|
other_deleted_files:
|
|
description: "Returns all other deleted files not listed in the files input i.e. *a combination of all deleted files (D)*"
|
|
|
|
runs:
|
|
using: 'node16'
|
|
main: 'dist/index.js'
|
|
|
|
branding:
|
|
icon: file-text
|
|
color: white
|