diff --git a/.github/workflows/code-coverage.yml b/.github/workflows/code-coverage.yml
index e9eb3065..0549d006 100644
--- a/.github/workflows/code-coverage.yml
+++ b/.github/workflows/code-coverage.yml
@@ -56,5 +56,5 @@ jobs:
if: steps.verify-changed-files.outputs.files_changed == 'true'
uses: ad-m/github-push-action@master
with:
- github_token: ${{ github.token }}
+ github_token: ${{ secrets.PAT_TOKEN }}
branch: ${{ github.head_ref }}
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 2ced5a31..4387f4fd 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -104,9 +104,9 @@ jobs:
platform: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Checkout
- uses: actions/checkout@v3.2.0
+ uses: actions/checkout@v3
with:
- fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
+ fetch-depth: 0 # otherwise, you will fail to push refs to dest repo
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
- name: Setup go
diff --git a/README.md b/README.md
index 2f19d3d8..23623f33 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/bb5dc10c1d2645c0894fa6774300639b)](https://app.codacy.com/gh/tj-actions/auto-doc?utm_source=github.com\&utm_medium=referral\&utm_content=tj-actions/auto-doc\&utm_campaign=Badge_Grade_Settings)
-![Coverage](https://img.shields.io/badge/Coverage-84.4%25-brightgreen)
+![Coverage](https://img.shields.io/badge/Coverage-81.2%25-brightgreen)
[![Go Reference](https://pkg.go.dev/badge/github.com/tj-actions/auto-doc.svg)](https://pkg.go.dev/github.com/tj-actions/auto-doc)
[![Go Report Card](https://goreportcard.com/badge/github.com/tj-actions/auto-doc)](https://goreportcard.com/report/github.com/tj-actions/auto-doc)
[![CI](https://github.com/tj-actions/auto-doc/workflows/CI/badge.svg)](https://github.com/tj-actions/auto-doc/actions?query=workflow%3ACI)
@@ -42,15 +42,15 @@ Add the `Inputs` and/or `Outputs` [`H2` header](https://github.com/adam-p/markdo
-| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
-|----------------|--------|----------|----------------|-----------------------------------------------------------------------------|
-| action | string | false | `"action.yml"` | Path to the action.yml file
|
-| bin\_path | string | false | | Path to the auto-doc binary
|
-| col\_max\_width | string | false | `"1000"` | Max width of a column
|
-| col\_max\_words | string | false | `"6"` | Max number of words per
line in a column |
-| input\_columns | string | false | | List of Input columns names
to display, default (display all
columns) |
-| output | string | false | `"README.md"` | Path to the output file
|
-| output\_columns | string | false | | List of Output column names
to display, default (display all
columns) |
+| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
+|----------------|--------|----------|----------------|------------------------------------------------------------------------------|
+| action | string | false | `"action.yml"` | Path to the action.yml file
|
+| bin\_path | string | false | | Path to the auto-doc binary
|
+| col\_max\_width | string | false | `"1000"` | Max width of a column
|
+| col\_max\_words | string | false | `"6"` | Max number of words per
line in a column |
+| input\_columns | string | false | | List of Input columns names
to display, default (display all
columns) |
+| output | string | false | `"README.md"` | Path to the output file
|
+| output\_columns | string | false | | List of Output column names
to display, default (display all
columns) |
diff --git a/cmd/root.go b/cmd/root.go
index 735d10c0..f9858965 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -352,7 +352,7 @@ func RootCmdFlags(cmd *cobra.Command) {
cmd.Flags().StringVar(
&colMaxWords,
"colMaxWords",
- "5",
+ "6",
"Max number of words per line in a column",
)
cmd.Flags().StringArrayVar(
@@ -418,6 +418,11 @@ func wordWrap(s string, limit int) string {
// convert slice/array back to string
// but insert
at specified limit
// unless the current slice contains a Markdown link or code block or code
+ hasMore := len(strSlice) > currentLimit
+
+ if hasMore && len(result) > 0 {
+ result += " "
+ }
if len(strSlice) < currentLimit {
currentLimit = len(strSlice)
@@ -438,5 +443,6 @@ func wordWrap(s string, limit int) string {
currentLimit = len(strSlice)
}
}
- return result
+
+ return strings.TrimSpace(result)
}
diff --git a/test/README-inputColumns.md b/test/README-inputColumns.md
index db6e3f65..ce346fbf 100644
--- a/test/README-inputColumns.md
+++ b/test/README-inputColumns.md
@@ -4,15 +4,34 @@
-| INPUT | TYPE | DESCRIPTION |
-|----------------|--------|-------------------------------------------------------------------------------------|
-| base_sha | string | Specify a base commit SHA
used for comparing changes |
-| files | string | Check for changes using only
this list of files (Defaults
to the entire repo) |
-| path | string | Specify a relative path under
$GITHUB_WORKSPACE to locate the repository
|
-| path_separator | string | Path separator |
-| separator | string | Split character for array output
|
-| sha | string | Specify a current commit SHA
used for comparing changes |
-| token | string | Github token or Repo Scoped
Personal Access Token |
+| INPUT | TYPE | DESCRIPTION |
+|-----------------------------------|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| base_sha | string | Specify a different base commit SHA
used for comparing changes |
+| diff_relative | string | 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. |
+| dir_names | string | Output unique changed directories instead of
filenames. **NOTE:** This returns `.` for changed files located in the root
of the project. |
+| dir_names_max_depth | string | Maximum depth of directories to output.
e.g `test/test1/test2` with max depth of`2` returns `test/test1`. |
+| fetch_depth | string | Depth of additional branch history fetched.
**NOTE**: This can be adjusted to
resolve errors with insufficient history. |
+| files | string | File and directory patterns to detect
changes using only these list of
file(s) (Defaults to the entire repo)
**NOTE:** Multiline file/directory patterns should not
include quotes. |
+| files_from_source_file | string | Source file(s) used to populate the
`files` input. |
+| files_ignore | string | Ignore changes to these file(s) **NOTE:**
Multiline file/directory patterns should not include
quotes. |
+| files_ignore_from_source_file | string | Source file(s) used to populate the
`files_ignore` input |
+| files_ignore_separator | string | Separator used to split the `files_ignore`input |
+| files_separator | string | Separator used to split the `files`input |
+| include_all_old_new_renamed_files | string | Include `all_old_new_renamed_files` output. Note this cangenerate a large output See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
+| json | string | Output list of changed files in
a JSON formatted string which can
be used for matrix jobs. |
+| json_raw_format | string | Output list of changed files in
a raw format which means that
the output will not be surrounded
by quotes and special characters will
not be escaped. |
+| match_directories | string | Indicates whether to include match directories
|
+| old_new_files_separator | string | Split character for old and new
renamed filename pairs. |
+| old_new_separator | string | Split character for old and new
filename pairs. |
+| output_dir | string | Directory to store output files. |
+| path | string | Specify a relative path under `$GITHUB_WORKSPACE`to locate the repository. |
+| quotepath | string | Use non ascii characters to match
files and output the filenames completely
verbatim by setting this to `false` |
+| separator | string | Split character for output strings |
+| sha | string | Specify a different commit SHA used
for comparing changes |
+| since | string | Get changed files for commits whose
timestamp is older than the given
time. |
+| since_last_remote_commit | string | 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. |
+| until | string | Get changed files for commits whose
timestamp is earlier than the given
time. |
+| write_output_files | string | Write outputs to files in the
`.github/outputs` folder by default. |
@@ -20,22 +39,28 @@
-| OUTPUT | TYPE | DESCRIPTION |
-|--------------------------------|--------|-----------------------------------------------------------------------------------------|
-| added_files | string | List of added files. |
-| all_changed_and_modified_files | string | List of all changed files.
|
-| all_modified_files | string | List of all copied modified
and added files. |
-| any_changed | string | Return true only when any
files provided using the files
input have changed. |
-| any_deleted | string | Return true only when any
files provided using the files
input have been deleted. |
-| copied_files | string | List of copied files. |
-| deleted_files | string | List of deleted files. |
-| modified_files | string | List of modified files. |
-| only_changed | string | Return true when all files
provided using the files input
have changed. |
-| only_deleted | string | Return true when all files
provided using the files input
have been deleted. |
-| other_deleted_files | string | Return list of deleted files
not listed in the files
input. |
-| renamed_files | string | List of renamed files. |
-| type_changed_files | string | List of files that had
type changes. |
-| unknown_files | string | List of unknown files. |
-| unmerged_files | string | List of unmerged files. |
+| OUTPUT | TYPE | DESCRIPTION |
+|--------------------------------|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| added_files | string | Returns only files that are Added
(A). |
+| all_changed_and_modified_files | string | Returns all changed and modified files
i.e. *a combination of (ACMRDTUX)* |
+| all_changed_files | string | Returns all changed files i.e. *a
combination of all added, copied, modified
and renamed files (ACMR)* |
+| all_modified_files | string | Returns all changed files i.e. *a
combination of all added, copied, modified,
renamed and deleted files (ACMRD)*. |
+| all_old_new_renamed_files | string | Returns only files that are Renamed
and list their old and new
names. **NOTE:** This requires setting `include_all_old_new_renamed_files`to `true` (R) |
+| any_changed | string | Returns `true` when any of the filenames provided using the `files` input has changed. If no `files` have been specified,an empty string `''` is returned. i.e. *using a combination of
all added, copied, modified and renamed
files (ACMR)*. |
+| any_deleted | string | Returns `true` when any of the filenames provided using the `files` input has been deleted. If no `files` have been specified,an empty string `''`is returned. (D) |
+| any_modified | string | Returns `true` when any of the filenames provided using the `files` input has been modified. If no `files` have been specified,an empty string `''` is returned. i.e. *using a combination
of all added, copied, modified, renamed,
and deleted files (ACMRD)*. |
+| copied_files | string | Returns only files that are Copied
(C). |
+| deleted_files | string | Returns only files that are Deleted
(D). |
+| modified_files | string | Returns only files that are Modified
(M). |
+| only_changed | string | Returns `true` when only files provided using the `files` input has changed. If no `files` have been specified,an empty string `''` is returned. i.e. *using a combination of all added,
copied, modified and renamed files (ACMR)*.
|
+| only_deleted | string | Returns `true` when only files provided using the `files` input has been deleted. If no `files` have been specified,an empty string `''` is returned.(D) |
+| only_modified | string | Returns `true` when only files provided using the `files` input has been modified. If no `files` have beenspecified,an empty string `''` is returned.(ACMRD). |
+| other_changed_files | string | 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)*.
|
+| other_deleted_files | string | Returns all other deleted files not
listed in the files input i.e.
*a combination of all deleted files
(D)* |
+| other_modified_files | string | Returns all other modified files not
listed in the files input i.e.
*a combination of all added, copied,
modified, and deleted files (ACMRD)* |
+| renamed_files | string | Returns only files that are Renamed
(R). |
+| type_changed_files | string | Returns only files that have their
file type changed (T). |
+| unknown_files | string | Returns only files that are Unknown
(X). |
+| unmerged_files | string | Returns only files that are Unmerged
(U). |
diff --git a/test/README-outputColumns.md b/test/README-outputColumns.md
index 5d8fcc5d..e5c57016 100644
--- a/test/README-outputColumns.md
+++ b/test/README-outputColumns.md
@@ -4,15 +4,34 @@
-| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
-|----------------|--------|----------|------------------------------------|-------------------------------------------------------------------------------------|
-| base_sha | string | false | | Specify a base commit SHA
used for comparing changes |
-| files | string | false | `"README.md"`
`"README.md"`
| Check for changes using only
this list of files (Defaults
to the entire repo) |
-| path | string | false | | Specify a relative path under
$GITHUB_WORKSPACE to locate the repository
|
-| path_separator | string | false | `"\n"` | Path separator |
-| separator | string | true | `"\|"` | Split character for array output
|
-| sha | string | true | `"${{ github.sha }}"` | Specify a current commit SHA
used for comparing changes |
-| token | string | true | `"${{ github.token }}"` | Github token or Repo Scoped
Personal Access Token |
+| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
+|-----------------------------------|--------|----------|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| base_sha | string | false | | Specify a different base commit SHA
used for comparing changes |
+| diff_relative | string | false | | 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. |
+| dir_names | string | false | `"false"` | Output unique changed directories instead of
filenames. **NOTE:** This returns `.` for changed files located in the root
of the project. |
+| dir_names_max_depth | string | false | | Maximum depth of directories to output.
e.g `test/test1/test2` with max depth of`2` returns `test/test1`. |
+| fetch_depth | string | false | `"50"` | Depth of additional branch history fetched.
**NOTE**: This can be adjusted to
resolve errors with insufficient history. |
+| files | string | false | | File and directory patterns to detect
changes using only these list of
file(s) (Defaults to the entire repo)
**NOTE:** Multiline file/directory patterns should not
include quotes. |
+| files_from_source_file | string | false | | Source file(s) used to populate the
`files` input. |
+| files_ignore | string | false | | Ignore changes to these file(s) **NOTE:**
Multiline file/directory patterns should not include
quotes. |
+| files_ignore_from_source_file | string | false | | Source file(s) used to populate the
`files_ignore` input |
+| files_ignore_separator | string | false | `"\n"` | Separator used to split the `files_ignore`input |
+| files_separator | string | false | `"\n"` | Separator used to split the `files`input |
+| include_all_old_new_renamed_files | string | false | `"false"` | Include `all_old_new_renamed_files` output. Note this cangenerate a large output See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
+| json | string | false | `"false"` | Output list of changed files in
a JSON formatted string which can
be used for matrix jobs. |
+| json_raw_format | string | false | `"false"` | Output list of changed files in
a raw format which means that
the output will not be surrounded
by quotes and special characters will
not be escaped. |
+| match_directories | string | false | `"true"` | Indicates whether to include match directories
|
+| old_new_files_separator | string | false | `" "` | Split character for old and new
renamed filename pairs. |
+| old_new_separator | string | false | `","` | Split character for old and new
filename pairs. |
+| output_dir | string | false | `".github/outputs"` | Directory to store output files. |
+| path | string | false | `"."` | Specify a relative path under `$GITHUB_WORKSPACE`to locate the repository. |
+| quotepath | string | false | `"true"` | Use non ascii characters to match
files and output the filenames completely
verbatim by setting this to `false` |
+| separator | string | false | `" "` | Split character for output strings |
+| sha | string | false | | Specify a different commit SHA used
for comparing changes |
+| since | string | false | | Get changed files for commits whose
timestamp is older than the given
time. |
+| since_last_remote_commit | string | true | `"false"` | 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. |
+| until | string | false | | Get changed files for commits whose
timestamp is earlier than the given
time. |
+| write_output_files | string | false | `"false"` | Write outputs to files in the
`.github/outputs` folder by default. |
@@ -24,15 +43,21 @@
|--------------------------------|--------|
| added_files | string |
| all_changed_and_modified_files | string |
+| all_changed_files | string |
| all_modified_files | string |
+| all_old_new_renamed_files | string |
| any_changed | string |
| any_deleted | string |
+| any_modified | string |
| copied_files | string |
| deleted_files | string |
| modified_files | string |
| only_changed | string |
| only_deleted | string |
+| only_modified | string |
+| other_changed_files | string |
| other_deleted_files | string |
+| other_modified_files | string |
| renamed_files | string |
| type_changed_files | string |
| unknown_files | string |
diff --git a/test/README.md b/test/README.md
index 1ef2e3c4..c3d714f1 100644
--- a/test/README.md
+++ b/test/README.md
@@ -4,15 +4,34 @@
-| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
-|----------------|--------|----------|------------------------------------|-------------------------------------------------------------------------------------|
-| base_sha | string | false | | Specify a base commit SHA
used for comparing changes |
-| files | string | false | `"README.md"`
`"README.md"`
| Check for changes using only
this list of files (Defaults
to the entire repo) |
-| path | string | false | | Specify a relative path under
$GITHUB_WORKSPACE to locate the repository
|
-| path_separator | string | false | `"\n"` | Path separator |
-| separator | string | true | `"\|"` | Split character for array output
|
-| sha | string | true | `"${{ github.sha }}"` | Specify a current commit SHA
used for comparing changes |
-| token | string | true | `"${{ github.token }}"` | Github token or Repo Scoped
Personal Access Token |
+| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
+|-----------------------------------|--------|----------|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| base_sha | string | false | | Specify a different base commit SHA
used for comparing changes |
+| diff_relative | string | false | | 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. |
+| dir_names | string | false | `"false"` | Output unique changed directories instead of
filenames. **NOTE:** This returns `.` for changed files located in the root
of the project. |
+| dir_names_max_depth | string | false | | Maximum depth of directories to output.
e.g `test/test1/test2` with max depth of`2` returns `test/test1`. |
+| fetch_depth | string | false | `"50"` | Depth of additional branch history fetched.
**NOTE**: This can be adjusted to
resolve errors with insufficient history. |
+| files | string | false | | File and directory patterns to detect
changes using only these list of
file(s) (Defaults to the entire repo)
**NOTE:** Multiline file/directory patterns should not
include quotes. |
+| files_from_source_file | string | false | | Source file(s) used to populate the
`files` input. |
+| files_ignore | string | false | | Ignore changes to these file(s) **NOTE:**
Multiline file/directory patterns should not include
quotes. |
+| files_ignore_from_source_file | string | false | | Source file(s) used to populate the
`files_ignore` input |
+| files_ignore_separator | string | false | `"\n"` | Separator used to split the `files_ignore`input |
+| files_separator | string | false | `"\n"` | Separator used to split the `files`input |
+| include_all_old_new_renamed_files | string | false | `"false"` | Include `all_old_new_renamed_files` output. Note this cangenerate a large output See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
+| json | string | false | `"false"` | Output list of changed files in
a JSON formatted string which can
be used for matrix jobs. |
+| json_raw_format | string | false | `"false"` | Output list of changed files in
a raw format which means that
the output will not be surrounded
by quotes and special characters will
not be escaped. |
+| match_directories | string | false | `"true"` | Indicates whether to include match directories
|
+| old_new_files_separator | string | false | `" "` | Split character for old and new
renamed filename pairs. |
+| old_new_separator | string | false | `","` | Split character for old and new
filename pairs. |
+| output_dir | string | false | `".github/outputs"` | Directory to store output files. |
+| path | string | false | `"."` | Specify a relative path under `$GITHUB_WORKSPACE`to locate the repository. |
+| quotepath | string | false | `"true"` | Use non ascii characters to match
files and output the filenames completely
verbatim by setting this to `false` |
+| separator | string | false | `" "` | Split character for output strings |
+| sha | string | false | | Specify a different commit SHA used
for comparing changes |
+| since | string | false | | Get changed files for commits whose
timestamp is older than the given
time. |
+| since_last_remote_commit | string | true | `"false"` | 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. |
+| until | string | false | | Get changed files for commits whose
timestamp is earlier than the given
time. |
+| write_output_files | string | false | `"false"` | Write outputs to files in the
`.github/outputs` folder by default. |
@@ -20,22 +39,28 @@
-| OUTPUT | TYPE | DESCRIPTION |
-|--------------------------------|--------|-----------------------------------------------------------------------------------------|
-| added_files | string | List of added files. |
-| all_changed_and_modified_files | string | List of all changed files.
|
-| all_modified_files | string | List of all copied modified
and added files. |
-| any_changed | string | Return true only when any
files provided using the files
input have changed. |
-| any_deleted | string | Return true only when any
files provided using the files
input have been deleted. |
-| copied_files | string | List of copied files. |
-| deleted_files | string | List of deleted files. |
-| modified_files | string | List of modified files. |
-| only_changed | string | Return true when all files
provided using the files input
have changed. |
-| only_deleted | string | Return true when all files
provided using the files input
have been deleted. |
-| other_deleted_files | string | Return list of deleted files
not listed in the files
input. |
-| renamed_files | string | List of renamed files. |
-| type_changed_files | string | List of files that had
type changes. |
-| unknown_files | string | List of unknown files. |
-| unmerged_files | string | List of unmerged files. |
+| OUTPUT | TYPE | DESCRIPTION |
+|--------------------------------|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| added_files | string | Returns only files that are Added
(A). |
+| all_changed_and_modified_files | string | Returns all changed and modified files
i.e. *a combination of (ACMRDTUX)* |
+| all_changed_files | string | Returns all changed files i.e. *a
combination of all added, copied, modified
and renamed files (ACMR)* |
+| all_modified_files | string | Returns all changed files i.e. *a
combination of all added, copied, modified,
renamed and deleted files (ACMRD)*. |
+| all_old_new_renamed_files | string | Returns only files that are Renamed
and list their old and new
names. **NOTE:** This requires setting `include_all_old_new_renamed_files`to `true` (R) |
+| any_changed | string | Returns `true` when any of the filenames provided using the `files` input has changed. If no `files` have been specified,an empty string `''` is returned. i.e. *using a combination of
all added, copied, modified and renamed
files (ACMR)*. |
+| any_deleted | string | Returns `true` when any of the filenames provided using the `files` input has been deleted. If no `files` have been specified,an empty string `''`is returned. (D) |
+| any_modified | string | Returns `true` when any of the filenames provided using the `files` input has been modified. If no `files` have been specified,an empty string `''` is returned. i.e. *using a combination
of all added, copied, modified, renamed,
and deleted files (ACMRD)*. |
+| copied_files | string | Returns only files that are Copied
(C). |
+| deleted_files | string | Returns only files that are Deleted
(D). |
+| modified_files | string | Returns only files that are Modified
(M). |
+| only_changed | string | Returns `true` when only files provided using the `files` input has changed. If no `files` have been specified,an empty string `''` is returned. i.e. *using a combination of all added,
copied, modified and renamed files (ACMR)*.
|
+| only_deleted | string | Returns `true` when only files provided using the `files` input has been deleted. If no `files` have been specified,an empty string `''` is returned.(D) |
+| only_modified | string | Returns `true` when only files provided using the `files` input has been modified. If no `files` have beenspecified,an empty string `''` is returned.(ACMRD). |
+| other_changed_files | string | 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)*.
|
+| other_deleted_files | string | Returns all other deleted files not
listed in the files input i.e.
*a combination of all deleted files
(D)* |
+| other_modified_files | string | Returns all other modified files not
listed in the files input i.e.
*a combination of all added, copied,
modified, and deleted files (ACMRD)* |
+| renamed_files | string | Returns only files that are Renamed
(R). |
+| type_changed_files | string | Returns only files that have their
file type changed (T). |
+| unknown_files | string | Returns only files that are Unknown
(X). |
+| unmerged_files | string | Returns only files that are Unmerged
(U). |
diff --git a/test/action.yml b/test/action.yml
index b7c51dd1..59d87ef0 100644
--- a/test/action.yml
+++ b/test/action.yml
@@ -1,82 +1,174 @@
-name: Changed files
-description: Get all changed files for push and pull request events.
+name: Changed Files
+description: Get all Added, Copied, Modified, Deleted, Renamed, Type changed, Unmerged, Unknown files.
author: tj-actions
+
inputs:
- token:
- description: 'Github token or Repo Scoped Personal Access Token'
- required: true
- default: ${{ github.token }}
separator:
- description: 'Split character for array output'
- required: true
- default: "|"
+ 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:
- description: 'Check for changes using only this list of files (Defaults to the entire repo)'
+ description: "File and directory patterns to detect changes using only these list of file(s) (Defaults to the entire repo) **NOTE:** Multiline file/directory patterns should not include quotes."
required: false
- default: |
- README.md
- README.md
+ default: ""
+ files_separator:
+ description: "Separator used to split the `files` 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: ""
sha:
- description: 'Specify a current commit SHA used for comparing changes'
- required: true
- default: ${{ github.sha }}
+ description: "Specify a different commit SHA used for comparing changes"
+ required: false
base_sha:
- description: 'Specify a base commit SHA used for comparing changes'
+ 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'
+ description: "Specify a relative path under `$GITHUB_WORKSPACE` to locate the repository."
required: false
- path_separator:
- description: 'Path separator'
+ 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
+ dir_names:
+ default: "false"
+ description: "Output unique changed directories instead of filenames. **NOTE:** This returns `.` for changed files located in the root of the project."
+ required: false
+ dir_names_max_depth:
+ description: "Maximum depth of directories to output. e.g `test/test1/test2` with max depth of `2` returns `test/test1`."
+ required: false
+ json:
+ description: "Output list of changed files in a JSON formatted string which can be used for matrix jobs."
+ required: false
+ default: "false"
+ json_raw_format:
+ description: "Output list of changed files in a raw format which means that the output will not be surrounded by quotes and special characters will not be escaped."
+ required: false
+ default: "false"
+ 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: true
+ default: "false"
+ write_output_files:
+ description: "Write outputs to files in the `.github/outputs` folder by default."
+ required: false
+ default: "false"
+ output_dir:
+ description: "Directory to store output files."
+ required: false
+ default: ".github/outputs"
+ match_directories:
+ description: "Indicates whether to include match directories"
+ default: "true"
required: false
- default: "\n"
outputs:
added_files:
- description: List of added files.
- value: ${{ steps.test.outputs.added_files }}
+ description: "Returns only files that are Added (A)."
+ value: ${{ steps.changed-files.outputs.added_files }}
copied_files:
- description: List of copied files.
- value: ${{ steps.test.outputs.copied_files }}
+ description: "Returns only files that are Copied (C)."
+ value: ${{ steps.changed-files.outputs.copied_files }}
deleted_files:
- description: List of deleted files.
- value: ${{ steps.test.outputs.deleted_files }}
+ description: "Returns only files that are Deleted (D)."
+ value: ${{ steps.changed-files.outputs.deleted_files }}
modified_files:
- description: List of modified files.
- value: ${{ steps.test.outputs.modified_files }}
+ description: "Returns only files that are Modified (M)."
+ value: ${{ steps.changed-files.outputs.modified_files }}
renamed_files:
- description: List of renamed files.
- value: ${{ steps.test.outputs.renamed_files }}
+ description: "Returns only files that are Renamed (R)."
+ value: ${{ steps.changed-files.outputs.renamed_files }}
+ all_old_new_renamed_files:
+ description: "Returns only files that are Renamed and list their old and new names. **NOTE:** This requires setting `include_all_old_new_renamed_files` to `true` (R)"
+ value: ${{ steps.changed-files.outputs.all_old_new_renamed_files }}
type_changed_files:
- description: List of files that had type changes.
- value: ${{ steps.test.outputs.type_changed_files }}
+ description: "Returns only files that have their file type changed (T)."
+ value: ${{ steps.changed-files.outputs.type_changed_files }}
unmerged_files:
- description: List of unmerged files.
- value: ${{ steps.test.outputs.unmerged_files }}
+ description: "Returns only files that are Unmerged (U)."
+ value: ${{ steps.changed-files.outputs.unmerged_files }}
unknown_files:
- description: List of unknown files.
- value: ${{ steps.test.outputs.unknown_files }}
+ description: "Returns only files that are Unknown (X)."
+ value: ${{ steps.changed-files.outputs.unknown_files }}
all_changed_and_modified_files:
- description: List of all changed files.
- value: ${{ steps.test.outputs.all_changed_and_modified_files }}
- all_modified_files:
- description: List of all copied modified and added files.
- value: ${{ steps.test.outputs.all_modified_files }}
+ description: "Returns all changed and modified files i.e. *a combination of (ACMRDTUX)*"
+ value: ${{ steps.changed-files.outputs.all_changed_and_modified_files }}
+ all_changed_files:
+ description: "Returns all changed files i.e. *a combination of all added, copied, modified and renamed files (ACMR)*"
+ value: ${{ steps.changed-files.outputs.all_changed_files }}
any_changed:
- description: Return true only when any files provided using the files input have changed.
- value: ${{ steps.test.outputs.any_changed }}
+ description: "Returns `true` when any of the filenames provided using the `files` input has changed. If no `files` have been specified,an empty string `''` is returned. i.e. *using a combination of all added, copied, modified and renamed files (ACMR)*."
+ value: ${{ steps.changed-files.outputs.any_changed }}
only_changed:
- description: Return true when all files provided using the files input have changed.
- value: ${{ steps.test.outputs.only_changed }}
+ description: "Returns `true` when only files provided using the `files` input has changed. If no `files` have been specified,an empty string `''` is returned. i.e. *using a combination of all added, copied, modified and renamed files (ACMR)*."
+ value: ${{ steps.changed-files.outputs.only_changed }}
+ 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)*."
+ value: ${{ steps.changed-files.outputs.other_changed_files }}
+ all_modified_files:
+ description: "Returns all changed files i.e. *a combination of all added, copied, modified, renamed and deleted files (ACMRD)*."
+ value: ${{ steps.changed-files.outputs.all_modified_files }}
+ any_modified:
+ description: "Returns `true` when any of the filenames provided using the `files` input has been modified. If no `files` have been specified,an empty string `''` is returned. i.e. *using a combination of all added, copied, modified, renamed, and deleted files (ACMRD)*."
+ value: ${{ steps.changed-files.outputs.any_modified }}
+ only_modified:
+ description: "Returns `true` when only files provided using the `files` input has been modified. If no `files` have been specified,an empty string `''` is returned.(ACMRD)."
+ value: ${{ steps.changed-files.outputs.only_modified }}
+ 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)*"
+ value: ${{ steps.changed-files.outputs.other_modified_files }}
any_deleted:
- description: Return true only when any files provided using the files input have been deleted.
- value: ${{ steps.test.outputs.any_deleted }}
+ description: "Returns `true` when any of the filenames provided using the `files` input has been deleted. If no `files` have been specified,an empty string `''` is returned. (D)"
+ value: ${{ steps.changed-files.outputs.any_deleted }}
only_deleted:
- description: Return true when all files provided using the files input have been deleted.
- value: ${{ steps.test.outputs.only_deleted }}
+ description: "Returns `true` when only files provided using the `files` input has been deleted. If no `files` have been specified,an empty string `''` is returned. (D)"
+ value: ${{ steps.changed-files.outputs.only_deleted }}
other_deleted_files:
- description: Return list of deleted files not listed in the files input.
- value: ${{ steps.test.outputs.other_deleted_files }}
+ description: "Returns all other deleted files not listed in the files input i.e. *a combination of all deleted files (D)*"
+ value: ${{ steps.changed-files.outputs.other_deleted_files }}
+
runs:
using: 'composite'