From 1926ef382ff26bcb286fedf7803c73859a58e333 Mon Sep 17 00:00:00 2001 From: Tonye Jack Date: Fri, 30 Dec 2022 01:25:17 -0700 Subject: [PATCH] chore: add support to skip adding br tags to links or code (#394) Co-authored-by: GitHub Action Co-authored-by: github-actions[bot] --- .github/workflows/code-coverage.yml | 2 +- .github/workflows/test.yml | 4 +- README.md | 20 +-- cmd/root.go | 10 +- test/README-inputColumns.md | 77 +++++++---- test/README-outputColumns.md | 43 ++++-- test/README.md | 77 +++++++---- test/action.yml | 196 ++++++++++++++++++++-------- 8 files changed, 301 insertions(+), 128 deletions(-) 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'