Compare commits

...

47 Commits

Author SHA1 Message Date
repo-ranger[bot]
3b6c057cd8 Merge pull request #863 from tj-actions/chore/update-readme
Updated README.md
2022-12-14 16:35:11 +00:00
repo-ranger[bot]
e2b21be3d2 Updated README.md 2022-12-14 16:11:45 +00:00
repo-ranger[bot]
a7b70fa84d Merge pull request #862 from tj-actions/feat/add-support-for-pulling-more-history
feat: add support for pulling more history
2022-12-14 16:11:03 +00:00
Tonye Jack
7a06bb7247 Update action.yml 2022-12-14 08:49:41 -07:00
Tonye Jack
9dc80210cf Update diff-sha.sh 2022-12-14 08:32:25 -07:00
Tonye Jack
a1a2be24bd Update diff-sha.sh 2022-12-14 08:17:48 -07:00
Tonye Jack
bb675e1715 Update action.yml 2022-12-14 08:05:54 -07:00
Tonye Jack
9e0389c5ae feat: add support for pulling more history 2022-12-14 08:04:31 -07:00
Tonye Jack
9b3a93a0c1 Update README.md 2022-12-13 20:08:53 -07:00
Tonye Jack
a991e1d22a Merge pull request #861 from tj-actions/upgrade-to-v34.6.0
Upgraded to v34.6.0
2022-12-13 20:08:09 -07:00
jackton1
0df8efd4d7 Upgraded from v34.5.4 -> v34.6.0 2022-12-14 03:00:18 +00:00
repo-ranger[bot]
4f64429e8b Merge pull request #860 from tj-actions/fix/error-with-retrieving-changed-files-for-closed-prs
fix: error with retrieving changed files for closed prs
2022-12-14 01:58:54 +00:00
Tonye Jack
a73691148f fix: error with retrieving changed files for closed prs 2022-12-13 18:39:58 -07:00
repo-ranger[bot]
cd8e421366 Merge pull request #859 from tj-actions/fix/error-detecting-changed-files-for-closed-prs
fix: error detecting changed files for closed PR's
2022-12-14 01:03:14 +00:00
Tonye Jack
32a46ba6ba fix: error detecting changed files for closed PR's 2022-12-13 17:43:44 -07:00
repo-ranger[bot]
0e4974f191 Merge pull request #857 from tj-actions/fix/bug-changed-files-diff-sha-prints-thousands-of-lines-and-takes-two-minutes-to-run
fix: bug-changed-files-diff-sha-prints-thousands-of-lines-and-takes-two-minutes-to-run
2022-12-13 21:47:13 +00:00
Tonye Jack
4f939f8e80 fixed test 2022-12-13 14:25:47 -07:00
Tonye Jack
2405ae6c59 Updated the current sha 2022-12-13 14:13:22 -07:00
Tonye Jack
49ac42e025 Deprecate max_fetch_depth 2022-12-13 14:02:40 -07:00
Tonye Jack
9cac2f8ea1 Update diff-sha.sh 2022-12-13 13:51:00 -07:00
Tonye Jack
6497e8ef99 Updated to fetch the common ancestor 2022-12-13 13:24:35 -07:00
Tonye Jack
1ae6035162 Update diff-sha.sh 2022-12-13 12:20:37 -07:00
Tonye Jack
8b8c347ee9 Update diff-sha.sh 2022-12-13 12:11:37 -07:00
Tonye Jack
bd4ca4c445 Update diff-sha.sh 2022-12-13 11:26:00 -07:00
Tonye Jack
2a28c9bb7d Merge pull request #856 from tj-actions/renovate/reviewdog-action-shellcheck-1.x
chore(deps): update reviewdog/action-shellcheck action to v1.16
2022-12-13 11:24:15 -07:00
renovate[bot]
5f902276c1 chore(deps): update reviewdog/action-shellcheck action to v1.16 2022-12-13 11:56:20 +00:00
Tonye Jack
73401b8f0b Merge pull request #854 from tj-actions/chore/update-readme
Updated README.md
2022-12-12 16:35:17 -07:00
jackton1
fa300c6aa4 Updated README.md 2022-12-12 23:34:25 +00:00
Tonye Jack
79fbc9646d Update action.yml 2022-12-12 16:33:39 -07:00
Tonye Jack
eaffc06f9c Merge pull request #852 from tj-actions/chore/update-readme
Updated README.md
2022-12-12 16:27:12 -07:00
jackton1
d14a55854a Updated README.md 2022-12-12 23:21:54 +00:00
Tonye Jack
01588a88f3 Update README.md 2022-12-12 16:20:59 -07:00
repo-ranger[bot]
c3a1d0574b Merge pull request #850 from tj-actions/renovate/actions-checkout-3.x
chore(deps): update actions/checkout action to v3.2.0
2022-12-12 21:45:35 +00:00
repo-ranger[bot]
0358232251 Merge branch 'main' into renovate/actions-checkout-3.x 2022-12-12 21:21:43 +00:00
Tonye Jack
5bc868d5b5 Merge pull request #851 from tj-actions/upgrade-to-v34.5.4
Upgraded to v34.5.4
2022-12-12 14:20:11 -07:00
jackton1
a1893f84b3 Upgraded from v34.5.3 -> v34.5.4 2022-12-12 21:09:58 +00:00
renovate[bot]
44d49bc228 chore(deps): update actions/checkout action to v3.2.0 2022-12-12 20:58:29 +00:00
repo-ranger[bot]
3f1e44af6c Merge pull request #847 from tj-actions/chore/update-error-handling
chore: update error handling
2022-12-12 18:49:05 +00:00
Tonye Jack
d9be0ccb5e Update diff-sha.sh 2022-12-12 11:16:39 -07:00
repo-ranger[bot]
ff10d2fbc5 Merge branch 'main' into chore/update-error-handling 2022-12-12 18:14:59 +00:00
Tonye Jack
8fb90ed7f6 Update diff-sha.sh 2022-12-12 11:14:49 -07:00
Tonye Jack
474e3bd363 Merge pull request #848 from tj-actions/chore/update-readme
chore: update readme
2022-12-12 08:30:55 -07:00
Tonye Jack
b2902f40b3 chore: update readme 2022-12-12 01:36:53 -07:00
Tonye Jack
17ae17127c Update diff-sha.sh 2022-12-12 00:19:02 -07:00
Tonye Jack
65dc0e47e9 chore: update error handling 2022-12-12 00:18:33 -07:00
Tonye Jack
ba5abef332 Merge pull request #846 from tj-actions/upgrade-to-v34.5.3 2022-12-10 19:03:01 -07:00
jackton1
84dcdf586d Upgraded from v34.5.2 -> v34.5.3 2022-12-11 00:32:24 +00:00
6 changed files with 199 additions and 107 deletions

View File

@@ -26,7 +26,7 @@ jobs:
- name: Checkout to branch
uses: actions/checkout@v3
- name: shellcheck
uses: reviewdog/action-shellcheck@v1.15
uses: reviewdog/action-shellcheck@v1.16
with:
github_token: ${{ secrets.PAT_TOKEN }}

View File

@@ -9,7 +9,7 @@ jobs:
sync-assets:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.1.0
- uses: actions/checkout@v3.2.0
with:
fetch-depth: 0

View File

@@ -1,20 +1,59 @@
# Changelog
## [Unreleased](https://github.com/tj-actions/changed-files/tree/HEAD)
## [v34.6.0](https://github.com/tj-actions/changed-files/tree/v34.6.0) (2022-12-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.2...HEAD)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.6.0)
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-12-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.4...v34)
**Fixed bugs:**
- \[BUG\] changed-files-diff-sha prints thousands of lines and takes two minutes to run [\#855](https://github.com/tj-actions/changed-files/issues/855)
- \[BUG\] \(v34.5.4\) Input does not meet YAML 1.2 "Core Schema" specification: head-repo-fork [\#853](https://github.com/tj-actions/changed-files/issues/853)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:**
- fix: error with retrieving changed files for closed prs [\#860](https://github.com/tj-actions/changed-files/pull/860) ([jackton1](https://github.com/jackton1))
- fix: error detecting changed files for closed PR's [\#859](https://github.com/tj-actions/changed-files/pull/859) ([jackton1](https://github.com/jackton1))
- fix: bug-changed-files-diff-sha-prints-thousands-of-lines-and-takes-two-minutes-to-run [\#857](https://github.com/tj-actions/changed-files/pull/857) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update reviewdog/action-shellcheck action to v1.16 [\#856](https://github.com/tj-actions/changed-files/pull/856) ([renovate[bot]](https://github.com/apps/renovate))
- Updated README.md [\#854](https://github.com/tj-actions/changed-files/pull/854) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#852](https://github.com/tj-actions/changed-files/pull/852) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.5.4 [\#851](https://github.com/tj-actions/changed-files/pull/851) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update actions/checkout action to v3.2.0 [\#850](https://github.com/tj-actions/changed-files/pull/850) ([renovate[bot]](https://github.com/apps/renovate))
## [v34.5.4](https://github.com/tj-actions/changed-files/tree/v34.5.4) (2022-12-12)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.3...v34.5.4)
**Merged pull requests:**
- chore: update readme [\#848](https://github.com/tj-actions/changed-files/pull/848) ([jackton1](https://github.com/jackton1))
- chore: update error handling [\#847](https://github.com/tj-actions/changed-files/pull/847) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.5.3 [\#846](https://github.com/tj-actions/changed-files/pull/846) ([jackton1](https://github.com/jackton1))
## [v34.5.3](https://github.com/tj-actions/changed-files/tree/v34.5.3) (2022-12-10)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.2...v34.5.3)
**Fixed bugs:**
- \[BUG\] Error: Unable to locate the previous sha: fatal: ambiguous argument 'main': unknown revision or path not in the working tree [\#840](https://github.com/tj-actions/changed-files/issues/840)
**Merged pull requests:**
- chore: update diff-sha.sh [\#845](https://github.com/tj-actions/changed-files/pull/845) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.5.2 [\#844](https://github.com/tj-actions/changed-files/pull/844) ([jackton1](https://github.com/jackton1))
## [v34.5.2](https://github.com/tj-actions/changed-files/tree/v34.5.2) (2022-12-10)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.5.2)
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-12-10)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.1...v34)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.1...v34.5.2)
**Merged pull requests:**
@@ -37,10 +76,6 @@
- \[BUG\] Glob not matching changed files [\#829](https://github.com/tj-actions/changed-files/issues/829)
- \[BUG\] Wrong changed-files returned for forked PRs [\#714](https://github.com/tj-actions/changed-files/issues/714)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:**
- Updated README.md [\#838](https://github.com/tj-actions/changed-files/pull/838) ([jackton1](https://github.com/jackton1))
@@ -162,7 +197,7 @@
## [v34.3.3](https://github.com/tj-actions/changed-files/tree/v34.3.3) (2022-11-08)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.1...v34.3.3)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.2...v34.3.3)
**Fixed bugs:**
@@ -177,13 +212,13 @@
- chore: update readme [\#784](https://github.com/tj-actions/changed-files/pull/784) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.3.2 [\#781](https://github.com/tj-actions/changed-files/pull/781) ([jackton1](https://github.com/jackton1))
## [v34.3.1](https://github.com/tj-actions/changed-files/tree/v34.3.1) (2022-11-07)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.2...v34.3.1)
## [v34.3.2](https://github.com/tj-actions/changed-files/tree/v34.3.2) (2022-11-07)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.0...v34.3.2)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.1...v34.3.2)
## [v34.3.1](https://github.com/tj-actions/changed-files/tree/v34.3.1) (2022-11-07)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.0...v34.3.1)
**Fixed bugs:**
@@ -459,7 +494,7 @@
## [v32.0.0](https://github.com/tj-actions/changed-files/tree/v32.0.0) (2022-10-06)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31...v32.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.3...v32.0.0)
**Merged pull requests:**
@@ -470,13 +505,13 @@
- chore\(deps\): update actions/checkout action to v3.1.0 [\#669](https://github.com/tj-actions/changed-files/pull/669) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v31.0.3 [\#667](https://github.com/tj-actions/changed-files/pull/667) ([jackton1](https://github.com/jackton1))
## [v31](https://github.com/tj-actions/changed-files/tree/v31) (2022-10-02)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.3...v31)
## [v31.0.3](https://github.com/tj-actions/changed-files/tree/v31.0.3) (2022-10-02)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.2...v31.0.3)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31...v31.0.3)
## [v31](https://github.com/tj-actions/changed-files/tree/v31) (2022-10-02)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.2...v31)
**Fixed bugs:**
@@ -516,7 +551,7 @@
## [v31.0.0](https://github.com/tj-actions/changed-files/tree/v31.0.0) (2022-09-25)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30...v31.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30.0.0...v31.0.0)
**Merged pull requests:**
@@ -529,13 +564,13 @@
- chore: update broken link [\#642](https://github.com/tj-actions/changed-files/pull/642) ([jackton1](https://github.com/jackton1))
- Upgraded to v30.0.0 [\#641](https://github.com/tj-actions/changed-files/pull/641) ([jackton1](https://github.com/jackton1))
## [v30](https://github.com/tj-actions/changed-files/tree/v30) (2022-09-24)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30.0.0...v30)
## [v30.0.0](https://github.com/tj-actions/changed-files/tree/v30.0.0) (2022-09-24)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.9...v30.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30...v30.0.0)
## [v30](https://github.com/tj-actions/changed-files/tree/v30) (2022-09-24)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.9...v30)
**Fixed bugs:**
@@ -1482,7 +1517,7 @@
## [v12](https://github.com/tj-actions/changed-files/tree/v12) (2021-12-14)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11...v12)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.9...v12)
**Implemented enhancements:**
@@ -1500,13 +1535,13 @@
- \[PR 1\]: Renamed all\_modified\_files to all\_changed\_files [\#283](https://github.com/tj-actions/changed-files/pull/283) ([jackton1](https://github.com/jackton1))
- Upgraded to v11.9 [\#280](https://github.com/tj-actions/changed-files/pull/280) ([jackton1](https://github.com/jackton1))
## [v11](https://github.com/tj-actions/changed-files/tree/v11) (2021-12-04)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.9...v11)
## [v11.9](https://github.com/tj-actions/changed-files/tree/v11.9) (2021-12-04)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.3.1...v11.9)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11...v11.9)
## [v11](https://github.com/tj-actions/changed-files/tree/v11) (2021-12-04)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.3.1...v11)
**Implemented enhancements:**

View File

@@ -23,9 +23,9 @@ Retrieve all changed files and directories relative to the target branch or the
* Easy to debug.
* Scales to large repositories.
* Git submodules support.
* No extra API calls.
* Escaped JSON Output which can be used for running matrix jobs based on changed files.
* List only changed directories.
* Optionally list only changed directories.
* Restrict the max depth of changed directories.
* Monorepos (Fetches only the last remote commit).
* Supports all platforms (Linux, MacOS, Windows).
* [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners) support
@@ -157,31 +157,31 @@ Support this project with a :star:
<!-- AUTO-DOC-INPUT:START - Do not remove or modify this section -->
| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
|-----------------------------------|--------|----------|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| base\_sha | string | false | | Specify a different base commit<br>SHA used for comparing changes<br> |
| diff\_relative | string | false | | Exclude changes outside the current<br>directory and show path names<br>relative to it. **NOTE:** This<br>requires you to specify the<br>top level directory via the<br>`path` input. |
| dir\_names | string | false | `"false"` | Output unique changed directories instead<br>of filenames. **NOTE:** This returns<br>`.` for changed files located<br>in the root of the<br>project. |
| dir\_names\_max\_depth | string | false | | Maximum depth of directories to<br>output. e.g `test/test1/test2` with max<br>depth of `2` returns `test/test1`.<br> |
| fetch\_depth | string | false | `"40"` | Initial depth of the branch<br>history fetched. **NOTE**: This can<br>be adjusted to resolve errors<br>with insufficient history. |
| files | string | false | | File and directory patterns to<br>detect changes using only these<br>list of file(s) (Defaults to<br>the entire repo) **NOTE:** Multiline<br>file/directory patterns should not include<br>quotes. |
| files\_from\_source\_file | string | false | | Source file(s) used to populate<br>the `files` input. |
| files\_ignore | string | false | | Ignore changes to these file(s)<br>**NOTE:** Multiline file/directory patterns should<br>not include quotes. |
| files\_ignore\_from\_source\_file | string | false | | Source file(s) used to populate<br>the `files_ignore` input |
| files\_ignore\_separator | string | false | `"\n"` | Separator used to split the<br>`files-ignore` input |
| files\_separator | string | false | `"\n"` | Separator used to split the<br>`files` input |
| include\_all\_old\_new\_renamed\_files | string | false | `"false"` | Include `all_old_new_renamed_files` output. Note this<br>can generate a large output<br>See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
| json | string | false | `"false"` | Output list of changed files<br>in a JSON formatted string<br>which can be used for<br>matrix jobs. |
| max\_fetch\_depth | string | false | `"5000"` | Maximum depth of the branch<br>history fetched. **NOTE**: This can<br>be adjusted to resolve errors<br>with insufficient history. |
| old\_new\_files\_separator | string | false | `" "` | Split character for old and<br>new renamed filename pairs. |
| old\_new\_separator | string | false | `","` | Split character for old and<br>new filename pairs. |
| path | string | false | `"."` | Specify a relative path under<br>`$GITHUB_WORKSPACE` to locate the repository.<br> |
| quotepath | string | false | `"true"` | Use non ascii characters to<br>match files and output the<br>filenames completely verbatim by setting<br>this to `false` |
| separator | string | false | `" "` | Split character for output strings<br> |
| sha | string | false | `"${{ github.sha }}"` | Specify a different commit SHA<br>used for comparing changes |
| since | string | false | | Get changed files for commits<br>whose timestamp is older than<br>the given time. |
| since\_last\_remote\_commit | string | true | `"false"` | Use the last commit on<br>the remote branch as the<br>`base_sha`. Defaults to the last<br>non merge commit on the<br>target branch for pull request<br>events and the previous commit<br>of the current branch for<br>push events. |
| until | string | false | | Get changed files for commits<br>whose timestamp is earlier than<br>the given time. |
| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
|-----------------------------------|--------|----------|-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| base\_sha | string | false | | Specify a different base commit<br>SHA used for comparing changes<br> |
| diff\_relative | string | false | | Exclude changes outside the current<br>directory and show path names<br>relative to it. **NOTE:** This<br>requires you to specify the<br>top level directory via the<br>`path` input. |
| dir\_names | string | false | `"false"` | Output unique changed directories instead<br>of filenames. **NOTE:** This returns<br>`.` for changed files located<br>in the root of the<br>project. |
| dir\_names\_max\_depth | string | false | | Maximum depth of directories to<br>output. e.g `test/test1/test2` with max<br>depth of `2` returns `test/test1`.<br> |
| fetch\_depth | string | false | `"50"` | Initial depth of the branch<br>history fetched. **NOTE**: This can<br>be adjusted to resolve errors<br>with insufficient history. |
| files | string | false | | File and directory patterns to<br>detect changes using only these<br>list of file(s) (Defaults to<br>the entire repo) **NOTE:** Multiline<br>file/directory patterns should not include<br>quotes. |
| files\_from\_source\_file | string | false | | Source file(s) used to populate<br>the `files` input. |
| files\_ignore | string | false | | Ignore changes to these file(s)<br>**NOTE:** Multiline file/directory patterns should<br>not include quotes. |
| files\_ignore\_from\_source\_file | string | false | | Source file(s) used to populate<br>the `files_ignore` input |
| files\_ignore\_separator | string | false | `"\n"` | Separator used to split the<br>`files-ignore` input |
| files\_separator | string | false | `"\n"` | Separator used to split the<br>`files` input |
| include\_all\_old\_new\_renamed\_files | string | false | `"false"` | Include `all_old_new_renamed_files` output. Note this<br>can generate a large output<br>See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
| json | string | false | `"false"` | Output list of changed files<br>in a JSON formatted string<br>which can be used for<br>matrix jobs. |
| max\_fetch\_depth | string | false | `"6000"` | Maximum depth of the branch<br>history fetched. **NOTE**: This can<br>be adjusted to resolve errors<br>with insufficient history. |
| old\_new\_files\_separator | string | false | `" "` | Split character for old and<br>new renamed filename pairs. |
| old\_new\_separator | string | false | `","` | Split character for old and<br>new filename pairs. |
| path | string | false | `"."` | Specify a relative path under<br>`$GITHUB_WORKSPACE` to locate the repository.<br> |
| quotepath | string | false | `"true"` | Use non ascii characters to<br>match files and output the<br>filenames completely verbatim by setting<br>this to `false` |
| separator | string | false | `" "` | Split character for output strings<br> |
| sha | string | false | `"${{ github.sha }}"` | Specify a different commit SHA<br>used for comparing changes |
| since | string | false | | Get changed files for commits<br>whose timestamp is older than<br>the given time. |
| since\_last\_remote\_commit | string | true | `"false"` | Use the last commit on<br>the remote branch as the<br>`base_sha`. Defaults to the last<br>non merge commit on the<br>target branch for pull request<br>events and the previous remote<br>commit of the current branch<br>for push events. |
| until | string | false | | Get changed files for commits<br>whose timestamp is earlier than<br>the given time. |
<!-- AUTO-DOC-INPUT:END -->
@@ -591,6 +591,42 @@ See [inputs](#inputs) for more information.
> However, this action will handle spaces in file names, with a recommendation of using a separator to prevent hidden issues.
> ![Screen Shot 2021-10-23 at 9 37 34 AM](https://user-images.githubusercontent.com/17484350/138558767-b13c90bf-a1ae-4e86-9520-70a6a4624f41.png)
## Migration guide
With the switch from using grep's Extended regex to match files to the natively supported workflow glob pattern matching syntax introduced in [v13](https://github.com/tj-actions/changed-files/releases/tag/v13) you'll need to modify patterns used to match `files`.
**BEFORE**
```yml
...
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v12.2
with:
files: |
\.sh$
.(sql|py)$
^(mynewfile|custom)
```
**AFTER**
```yml
...
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v24
with:
files: |
*.sh
*.sql
*.py
mynewfile
custom/**
```
## Credits
This package was created with [Cookiecutter](https://github.com/cookiecutter/cookiecutter).

View File

@@ -83,13 +83,13 @@ inputs:
fetch_depth:
description: "Initial depth of the branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
required: false
default: "40"
default: "50"
max_fetch_depth:
description: "Maximum depth of the branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
required: false
default: "5000"
default: "6000"
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 commit of the current branch for push events."
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"
@@ -176,6 +176,7 @@ runs:
GITHUB_EVENT_HEAD_REPO_FORK: ${{ github.event.pull_request.head.repo.fork }}
GITHUB_EVENT_PULL_REQUEST_BASE_SHA: ${{ github.event.pull_request.base.sha }}
GITHUB_EVENT_PULL_REQUEST_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
GITHUB_EVENT_PULL_REQUEST_COMMITS: ${{ github.event.pull_request.commits }}
GITHUB_EVENT_BEFORE: ${{ github.event.before }}
GITHUB_EVENT_FORCED: ${{ github.event.forced }}
GITHUB_REFNAME: ${{ github.ref_name }}

View File

@@ -4,13 +4,13 @@ set -euo pipefail
INITIAL_COMMIT="false"
GITHUB_OUTPUT=${GITHUB_OUTPUT:-""}
EXTRA_ARGS="--no-tags"
EXTRA_ARGS="--no-tags --prune --no-recurse-submodules"
PREVIOUS_SHA=""
CURRENT_SHA=""
DIFF="..."
if [[ "$GITHUB_REF" == "refs/tags/"* ]]; then
EXTRA_ARGS=""
EXTRA_ARGS="--prune --no-recurse-submodules"
fi
if [[ "$GITHUB_EVENT_HEAD_REPO_FORK" == "true" ]]; then
@@ -69,7 +69,7 @@ if [[ -z $GITHUB_BASE_REF ]]; then
CURRENT_SHA=$(git rev-list -n 1 HEAD 2>&1) && exit_status=$? || exit_status=$?
else
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH"
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH" 1>/dev/null 2>&1
CURRENT_SHA=$INPUT_SHA; exit_status=$?
fi
fi
@@ -132,7 +132,7 @@ if [[ -z $GITHUB_BASE_REF ]]; then
fi
else
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH"
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH" 1>/dev/null 2>&1
PREVIOUS_SHA=$INPUT_BASE_SHA
fi
@@ -160,11 +160,32 @@ else
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "false" ]]; then
# shellcheck disable=SC2086
git fetch -u --progress $EXTRA_ARGS --depth="$INPUT_FETCH_DEPTH" origin +refs/heads/"$TARGET_BRANCH":refs/remotes/origin/"$TARGET_BRANCH"
git branch --track "$TARGET_BRANCH" origin/"$TARGET_BRANCH" 2>/dev/null || true
git fetch -u --progress $EXTRA_ARGS --depth="$INPUT_FETCH_DEPTH" origin +refs/heads/"$TARGET_BRANCH":refs/remotes/origin/"$TARGET_BRANCH" 1>/dev/null 2>&1
git branch --track "$TARGET_BRANCH" origin/"$TARGET_BRANCH" 1>/dev/null 2>&1 || true
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --depth=$(( GITHUB_EVENT_PULL_REQUEST_COMMITS + 1 )) origin +"$GITHUB_REF":refs/remotes/origin/"$CURRENT_BRANCH" 1>/dev/null 2>&1
COMMON_ANCESTOR=$(git rev-list --first-parent --max-parents=0 --max-count=1 origin/"$CURRENT_BRANCH") && exit_status=$? || exit_status=$?
if [[ -z "$COMMON_ANCESTOR" ]]; then
echo "::debug::Unable to locate a common ancestor for the current branch: $CURRENT_BRANCH"
else
echo "::debug::Common ancestor: $COMMON_ANCESTOR"
DATE=$(git log --date=iso8601 --format=%cd "${COMMON_ANCESTOR}")
if [[ -z "$DATE" ]]; then
echo "::error::Unable to locate a date for the common ancestor: $COMMON_ANCESTOR"
exit 1
else
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS --shallow-since="${DATE}" origin +refs/heads/"$TARGET_BRANCH":refs/remotes/origin/"$TARGET_BRANCH" 1>/dev/null 2>&1
echo "::debug::Date: $DATE"
fi
fi
else
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --depth="$INPUT_FETCH_DEPTH" origin +"$GITHUB_REF":refs/remotes/origin/"$CURRENT_BRANCH"
git fetch $EXTRA_ARGS -u --progress --depth="$INPUT_FETCH_DEPTH" origin +"$GITHUB_REF":refs/remotes/origin/"$CURRENT_BRANCH" 1>/dev/null 2>&1
fi
echo "::debug::Getting HEAD SHA..."
@@ -178,9 +199,13 @@ else
fi
else
if [[ -z $INPUT_SHA ]]; then
CURRENT_SHA=$(git rev-list --no-merges -n 1 HEAD 2>&1) && exit_status=$? || exit_status=$?
CURRENT_SHA=$(git rev-list -n 1 HEAD 2>&1) && exit_status=$? || exit_status=$?
else
CURRENT_SHA=$INPUT_SHA; exit_status=$?
if [[ "$CURRENT_SHA" == "$GITHUB_EVENT_PULL_REQUEST_HEAD_SHA" ]]; then
CURRENT_SHA=$(git rev-list -n 1 HEAD 2>&1) && exit_status=$? || exit_status=$?
fi
fi
fi
@@ -198,14 +223,9 @@ else
if [[ -z $INPUT_BASE_SHA ]]; then
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; then
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
if ! git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1; then
# shellcheck disable=SC2046
PREVIOUS_SHA=$(git rev-parse origin/"$CURRENT_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
fi
else
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
PREVIOUS_SHA=$(git merge-base "$PREVIOUS_SHA" "$CURRENT_SHA" 2>&1) && exit_status=$? || exit_status=$?
fi
@@ -215,36 +235,36 @@ else
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA && exit_status=$? || exit_status=$?
fi
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "false" ]]; then
if [[ -f .git/shallow ]]; then
depth=$INPUT_FETCH_DEPTH
max_depth=$INPUT_MAX_FETCH_DEPTH
for ((i=0; i<max_depth; i+=depth)); do
echo "Fetching $depth commits..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$depth" origin +"$GITHUB_REF":refs/remotes/origin/"$CURRENT_BRANCH"
if git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
PREVIOUS_SHA=$(git merge-base "$TARGET_BRANCH" "$CURRENT_SHA" 2>&1) && exit_status=$? || exit_status=$?
break
fi
done
if ((i >= max_depth)); then
echo "::error::Unable to locate a common ancestor between $TARGET_BRANCH and $CURRENT_SHA"
exit 1
fi
else
echo "::debug::Not a shallow clone, skipping merge-base check."
fi
fi
echo "::debug::Previous SHA: $PREVIOUS_SHA"
else
PREVIOUS_SHA=$INPUT_BASE_SHA && exit_status=$? || exit_status=$?
fi
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "false" ]]; then
if [[ -f .git/shallow ]]; then
depth=$INPUT_FETCH_DEPTH
max_depth=$INPUT_MAX_FETCH_DEPTH
for ((i=0; i<max_depth; i+=depth)); do
if git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
break
fi
echo "Fetching $i commits..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$i" origin $TARGET_BRANCH $CURRENT_SHA 1>/dev/null 2>&1
done
if ((i > max_depth)); then
echo "::error::Unable to locate a common ancestor between $TARGET_BRANCH and $CURRENT_BRANCH with: $PREVIOUS_SHA$DIFF$CURRENT_SHA"
exit 1
fi
else
echo "::debug::Not a shallow clone, skipping merge-base check."
fi
fi
echo "::debug::Target branch: $TARGET_BRANCH"
echo "::debug::Current branch: $CURRENT_BRANCH"