Compare commits

...

38 Commits

Author SHA1 Message Date
Tonye Jack
3dbb79f467 Merge pull request #792 from tj-actions/chore/update-readme
Updated README.md
2022-11-08 13:13:51 -07:00
jackton1
44220f8c89 Updated README.md 2022-11-08 20:12:42 +00:00
Tonye Jack
e43adb629b Merge pull request #791 from tj-actions/fix/re-add-ability-to-change-the-max-fetch-depth 2022-11-08 13:11:28 -07:00
Tonye Jack
3c0e266bd5 Update README.md 2022-11-08 12:46:13 -07:00
Tonye Jack
67230d6de5 fix: re-add ability to change the max fetch depth 2022-11-08 12:45:25 -07:00
Tonye Jack
6a9cc33099 Merge pull request #788 from tj-actions/upgrade-to-v34.3.3 2022-11-08 11:50:57 -07:00
jackton1
4b4f463907 Upgraded from v34.3.1 -> v34.3.3 2022-11-08 18:30:37 +00:00
Tonye Jack
991e8b3aae Merge pull request #787 from tj-actions/fix/bug-with-force-pushing-commits-to-pr-branches 2022-11-08 11:26:37 -07:00
Tonye Jack
420a7792d0 fix: bug with force pushing commits to pr branches 2022-11-08 11:06:59 -07:00
renovate[bot]
e062ae86aa chore(deps): update tj-actions/glob action to v16 2022-11-08 10:41:17 -07:00
Tonye Jack
6326c61a70 Merge pull request #786 from tj-actions/fix/bug-with-invalid-branch-name 2022-11-08 09:43:38 -07:00
Tonye Jack
eea929be22 fixed the test 2022-11-08 09:31:21 -07:00
Tonye Jack
9962dc418e fix: bug with invalid branch name 2022-11-08 09:00:45 -07:00
Tonye Jack
77f03d2bb5 Merge pull request #784 from tj-actions/chore/update-readme 2022-11-07 15:19:23 -07:00
Tonye Jack
a236f54cc9 chore: update readme 2022-11-07 15:07:54 -07:00
Tonye Jack
de6d1ed419 Merge pull request #781 from tj-actions/upgrade-to-v34.3.2
Upgraded to v34.3.2
2022-11-07 12:02:43 -07:00
jackton1
5345fb6b0e Upgraded from v34.3.0 -> v34.3.2 2022-11-07 17:11:10 +00:00
Tonye Jack
72d3bb8b33 Merge pull request #779 from tj-actions/chore/update-readme
chore: update readme
2022-11-07 08:23:09 -07:00
Tonye Jack
d908ddd2ef Merge pull request #780 from tj-actions/fix/similar-commit-hashes 2022-11-07 08:21:33 -07:00
Tonye Jack
8dc46ae460 fix: similar commit hashes 2022-11-07 08:04:54 -07:00
Tonye Jack
1218e11f1e chore: update readme 2022-11-07 07:11:40 -07:00
Tonye Jack
18ddeeb8bc Merge pull request #777 from tj-actions/upgrade-to-v34.3.0 2022-11-07 07:09:37 -07:00
jackton1
3b614c0cfa Upgraded from v34.2.2 -> v34.3.0 2022-11-07 07:56:36 +00:00
Tonye Jack
5f89dc7d6e Merge pull request #776 from tj-actions/chore/exclude-fetching-tag
chore: exclude fetching tags
2022-11-06 23:51:55 -07:00
Tonye Jack
2d251d6924 Update diff-sha.sh 2022-11-06 23:49:17 -07:00
Tonye Jack
c46761fdcd Update diff-sha.sh 2022-11-06 23:28:15 -07:00
Tonye Jack
321490c60a Update diff-sha.sh 2022-11-06 22:53:53 -07:00
Tonye Jack
dc88c3a0c5 chore: exclude fetching tags 2022-11-06 22:31:54 -07:00
Tonye Jack
2125c059c3 Merge pull request #775 from tj-actions/chore/update-test
chore: update test
2022-11-06 21:58:23 -07:00
Tonye Jack
f6e319ef2e Merge branch 'main' into chore/update-test 2022-11-06 21:50:44 -07:00
Tonye Jack
3d1f14f079 Merge pull request #774 from tj-actions/chore/update-readme 2022-11-06 21:19:53 -07:00
Tonye Jack
1abc7bec79 chore: update test 2022-11-06 21:18:59 -07:00
jackton1
18dfe0dd4e Updated README.md 2022-11-07 04:00:58 +00:00
Tonye Jack
c94657a1d8 Merge pull request #773 from tj-actions/feat/add-support-for-using-the-last-remote-commit
feat: add support for using the last remote commit
2022-11-06 21:00:26 -07:00
Tonye Jack
c755692dde Update test.yml 2022-11-06 20:50:36 -07:00
Tonye Jack
1e46f60599 feat: add support for using the last remote commit 2022-11-06 19:50:53 -07:00
Tonye Jack
f009ea4a47 Merge pull request #772 from tj-actions/upgrade-to-v34.2.2
Upgraded to v34.2.2
2022-11-06 11:21:25 -07:00
jackton1
7cdc68de58 Upgraded from v34.2.1 -> v34.2.2 2022-11-06 17:52:52 +00:00
5 changed files with 196 additions and 72 deletions

View File

@@ -127,9 +127,9 @@ jobs:
until: "2022-08-20" until: "2022-08-20"
- name: Check output - name: Check output
if: "!contains(steps.changed-files-until.outputs.all_changed_files, 'entrypoint.sh')" if: "!contains(steps.changed-files-until.outputs.all_changed_files, 'README.md')"
run: | run: |
echo "Invalid output: Expected to include (entrypoint.sh) got (${{ steps.changed-files-until.outputs.all_changed_files }})" echo "Invalid output: Expected to include (README.md) got (${{ steps.changed-files-until.outputs.all_changed_files }})"
exit 1 exit 1
shell: shell:
bash bash
@@ -361,6 +361,16 @@ jobs:
echo '${{ toJSON(steps.changed-files.outputs) }}' echo '${{ toJSON(steps.changed-files.outputs) }}'
shell: shell:
bash bash
- name: Run changed-files with since_last_remote_commit
id: changed-files-since-last-remote-commit
uses: ./
with:
since_last_remote_commit: true
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-since-last-remote-commit.outputs) }}'
shell:
bash
- name: Run changed-files with include_all_old_new_renamed_files - name: Run changed-files with include_all_old_new_renamed_files
id: changed-files-all-old-new-renamed-files id: changed-files-all-old-new-renamed-files
uses: ./ uses: ./
@@ -899,7 +909,7 @@ jobs:
bash bash
- name: Run changed-files with custom sha - name: Run changed-files with custom sha
id: changed-files-custom-sha id: changed-files-custom-sha
if: github.event.action != 'closed' if: github.event_name == 'pull_request' && github.event.action != 'closed'
uses: ./ uses: ./
with: with:
sha: ${{ github.event.pull_request.head.sha }} sha: ${{ github.event.pull_request.head.sha }}

View File

@@ -1,12 +1,80 @@
# Changelog # Changelog
## [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...v34.3.3)
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-11-08)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.1...v34)
**Fixed bugs:**
- \[BUG\] Action compares only two latest commits on push [\#783](https://github.com/tj-actions/changed-files/issues/783)
- Detected dubious ownership in repository error when running the action [\#782](https://github.com/tj-actions/changed-files/issues/782)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:**
- fix: bug with force pushing commits to pr branches [\#787](https://github.com/tj-actions/changed-files/pull/787) ([jackton1](https://github.com/jackton1))
- fix: bug with invalid branch name [\#786](https://github.com/tj-actions/changed-files/pull/786) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update tj-actions/glob action to v16 [\#785](https://github.com/tj-actions/changed-files/pull/785) ([renovate[bot]](https://github.com/apps/renovate))
- 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)
**Fixed bugs:**
- \[BUG\] Similar commit hashes detected: previous sha: abc123 is equivalent to the current sha: abc123 on PR merge [\#778](https://github.com/tj-actions/changed-files/issues/778)
**Merged pull requests:**
- fix: similar commit hashes [\#780](https://github.com/tj-actions/changed-files/pull/780) ([jackton1](https://github.com/jackton1))
- chore: update readme [\#779](https://github.com/tj-actions/changed-files/pull/779) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.3.0 [\#777](https://github.com/tj-actions/changed-files/pull/777) ([jackton1](https://github.com/jackton1))
## [v34.3.0](https://github.com/tj-actions/changed-files/tree/v34.3.0) (2022-11-07)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.2.2...v34.3.0)
**Closed issues:**
- How can I let the workflow to detect the changes only in the certain micro service? [\#766](https://github.com/tj-actions/changed-files/issues/766)
**Merged pull requests:**
- chore: exclude fetching tags [\#776](https://github.com/tj-actions/changed-files/pull/776) ([jackton1](https://github.com/jackton1))
- chore: update test [\#775](https://github.com/tj-actions/changed-files/pull/775) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#774](https://github.com/tj-actions/changed-files/pull/774) ([jackton1](https://github.com/jackton1))
- feat: add support for using the last remote commit [\#773](https://github.com/tj-actions/changed-files/pull/773) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.2.2 [\#772](https://github.com/tj-actions/changed-files/pull/772) ([jackton1](https://github.com/jackton1))
## [v34.2.2](https://github.com/tj-actions/changed-files/tree/v34.2.2) (2022-11-06)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.2.1...v34.2.2)
**Merged pull requests:**
- Updated README.md [\#771](https://github.com/tj-actions/changed-files/pull/771) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#770](https://github.com/tj-actions/changed-files/pull/770) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#769](https://github.com/tj-actions/changed-files/pull/769) ([jackton1](https://github.com/jackton1))
- docs: add kenji-miyake as a contributor for code [\#768](https://github.com/tj-actions/changed-files/pull/768) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- chore: change `sha` to non-required [\#767](https://github.com/tj-actions/changed-files/pull/767) ([kenji-miyake](https://github.com/kenji-miyake))
- Upgraded to v34.2.1 [\#765](https://github.com/tj-actions/changed-files/pull/765) ([jackton1](https://github.com/jackton1))
## [v34.2.1](https://github.com/tj-actions/changed-files/tree/v34.2.1) (2022-11-05) ## [v34.2.1](https://github.com/tj-actions/changed-files/tree/v34.2.1) (2022-11-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.2.1) [Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.2.0...v34.2.1)
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-11-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.2.0...v34)
**Merged pull requests:** **Merged pull requests:**
@@ -124,10 +192,6 @@
- \[BUG\] Auto-Merge not working properly on Change-Detection for PRs [\#713](https://github.com/tj-actions/changed-files/issues/713) - \[BUG\] Auto-Merge not working properly on Change-Detection for PRs [\#713](https://github.com/tj-actions/changed-files/issues/713)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:** **Merged pull requests:**
- Updated README.md [\#725](https://github.com/tj-actions/changed-files/pull/725) ([jackton1](https://github.com/jackton1)) - Updated README.md [\#725](https://github.com/tj-actions/changed-files/pull/725) ([jackton1](https://github.com/jackton1))
@@ -1202,7 +1266,7 @@
## [v13](https://github.com/tj-actions/changed-files/tree/v13) (2022-02-17) ## [v13](https://github.com/tj-actions/changed-files/tree/v13) (2022-02-17)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v2.0.1...v13) [Full Changelog](https://github.com/tj-actions/changed-files/compare/v12.2...v13)
**Implemented enhancements:** **Implemented enhancements:**
@@ -1221,13 +1285,13 @@
- \[BUG\] wrong result of any\_change output [\#314](https://github.com/tj-actions/changed-files/issues/314) - \[BUG\] wrong result of any\_change output [\#314](https://github.com/tj-actions/changed-files/issues/314)
- \[BUG\] Investigate possible bug using since\_last\_remote\_commit when force pushing changes. [\#303](https://github.com/tj-actions/changed-files/issues/303) - \[BUG\] Investigate possible bug using since\_last\_remote\_commit when force pushing changes. [\#303](https://github.com/tj-actions/changed-files/issues/303)
## [v2.0.1](https://github.com/tj-actions/changed-files/tree/v2.0.1) (2021-12-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v12.2...v2.0.1)
## [v12.2](https://github.com/tj-actions/changed-files/tree/v12.2) (2021-12-30) ## [v12.2](https://github.com/tj-actions/changed-files/tree/v12.2) (2021-12-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v12.1...v12.2) [Full Changelog](https://github.com/tj-actions/changed-files/compare/v2.0.1...v12.2)
## [v2.0.1](https://github.com/tj-actions/changed-files/tree/v2.0.1) (2021-12-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v12.1...v2.0.1)
**Merged pull requests:** **Merged pull requests:**
@@ -1786,7 +1850,7 @@
## [v7](https://github.com/tj-actions/changed-files/tree/v7) (2021-06-09) ## [v7](https://github.com/tj-actions/changed-files/tree/v7) (2021-06-09)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.3...v7) [Full Changelog](https://github.com/tj-actions/changed-files/compare/v6...v7)
**Closed issues:** **Closed issues:**
@@ -1802,13 +1866,13 @@
- Update tj-actions/sync-release-version action to v8.7 [\#86](https://github.com/tj-actions/changed-files/pull/86) ([renovate[bot]](https://github.com/apps/renovate)) - Update tj-actions/sync-release-version action to v8.7 [\#86](https://github.com/tj-actions/changed-files/pull/86) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v6.3 [\#85](https://github.com/tj-actions/changed-files/pull/85) ([jackton1](https://github.com/jackton1)) - Upgraded to v6.3 [\#85](https://github.com/tj-actions/changed-files/pull/85) ([jackton1](https://github.com/jackton1))
## [v6.3](https://github.com/tj-actions/changed-files/tree/v6.3) (2021-05-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6...v6.3)
## [v6](https://github.com/tj-actions/changed-files/tree/v6) (2021-05-26) ## [v6](https://github.com/tj-actions/changed-files/tree/v6) (2021-05-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.2...v6) [Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.3...v6)
## [v6.3](https://github.com/tj-actions/changed-files/tree/v6.3) (2021-05-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.2...v6.3)
**Merged pull requests:** **Merged pull requests:**

View File

@@ -52,9 +52,13 @@ Retrieve all changed files and directories relative to the target branch or the
name: CI name: CI
on: on:
# Compare the preceeding commit of main -> to the current commit of the main branch.
# (Note: To compare changes between the last pushed commit to the remote main branch set `since_last_remote_commit: true`)
push: push:
branches: branches:
- main - main
# Compare the last commit of main -> to the current commit of a PR branch.
# (Note: To compare changes between the last pushed commit to the remote PR branch set `since_last_remote_commit: true`)
pull_request: pull_request:
branches: branches:
- main - main
@@ -153,28 +157,30 @@ Support this project with a :star:
<!-- AUTO-DOC-INPUT:START - Do not remove or modify this section --> <!-- AUTO-DOC-INPUT:START - Do not remove or modify this section -->
| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION | | INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
|-----------------------------------|--------|----------|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |-----------------------------------|--------|----------|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| base\_sha | string | false | | Specify a different base commit<br>SHA used for comparing changes<br> | | 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 pathnames relative<br>to it. **NOTE:** This requires<br>you to specify the top<br>level directory via the `path`<br>input. | | diff\_relative | string | false | | Exclude changes outside the current<br>directory and show pathnames relative<br>to it. **NOTE:** This requires<br>you to specify the top<br>level directory via the `path`<br>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 | 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. |
| fetch\_depth | string | false | `"40"` | Limit depth of the branch<br>history fetched. **NOTE**: This can<br>be adjusted to resolve errors<br>with insufficient history. | | fetch\_depth | string | false | `"40"` | Limit 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>qoutes. | | 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>qoutes. |
| files\_from\_source\_file | string | false | | Source file(s) used to populate<br>the `files` input. | | 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 qoutes. | | files\_ignore | string | false | | Ignore changes to these file(s)<br>**NOTE:** Multiline file/directory patterns should<br>not include qoutes. |
| files\_ignore\_from\_source\_file | string | false | | Source file(s) used to populate<br>the `files_ignore` input | | 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\_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 | | 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). | | 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. | | json | string | false | `"false"` | Output list of changed files<br>in a JSON formatted string<br>which can be used for<br>matrix jobs. |
| old\_new\_files\_separator | string | false | `" "` | Split character for multiple old<br>and new filename pairs. | | 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\_separator | string | false | `","` | Split character for old and<br>new filename pairs. | | old\_new\_files\_separator | string | false | `" "` | Split character for multiple old<br>and new filename pairs. |
| path | string | false | `"."` | Specify a relative path under<br>`$GITHUB_WORKSPACE` to locate the repository.<br> | | old\_new\_separator | string | false | `","` | Split character for old and<br>new filename pairs. |
| 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` | | path | string | false | `"."` | Specify a relative path under<br>`$GITHUB_WORKSPACE` to locate the repository.<br> |
| separator | string | false | `" "` | Split character for output strings<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` |
| sha | string | false | `"${{ github.sha }}"` | Specify a different commit SHA<br>used for comparing changes | | separator | string | false | `" "` | Split character for output strings<br> |
| since | string | false | | Get changed files for commits<br>whose timestamp is older than<br>the given time. | | sha | string | false | `"${{ github.sha }}"` | Specify a different commit SHA<br>used for comparing changes |
| until | string | false | | Get changed files for commits<br>whose timestamp is earlier than<br>the given time. | | 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. |
<!-- AUTO-DOC-INPUT:END --> <!-- AUTO-DOC-INPUT:END -->
@@ -594,6 +600,7 @@ This package was created with [Cookiecutter](https://github.com/cookiecutter/coo
* [tj-actions/glob](https://github.com/tj-actions/glob) * [tj-actions/glob](https://github.com/tj-actions/glob)
* [tj-actions/demo](https://github.com/tj-actions/demo) * [tj-actions/demo](https://github.com/tj-actions/demo)
* [tj-actions/demo2](https://github.com/tj-actions/demo2) * [tj-actions/demo2](https://github.com/tj-actions/demo2)
* [tj-actions/demo3](https://github.com/tj-actions/demo3)
* [tj-actions/release-tagger](https://github.com/tj-actions/release-tagger) * [tj-actions/release-tagger](https://github.com/tj-actions/release-tagger)
* [tj-actions/auto-doc](https://github.com/tj-actions/auto-doc) * [tj-actions/auto-doc](https://github.com/tj-actions/auto-doc)
* [tj-actions/verify-changed-files](https://github.com/tj-actions/verify-changed-files) * [tj-actions/verify-changed-files](https://github.com/tj-actions/verify-changed-files)

View File

@@ -81,6 +81,14 @@ inputs:
description: "Limit depth of the branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history." description: "Limit depth of the branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
required: false required: false
default: "40" default: "40"
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"
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."
required: true
default: "false"
outputs: outputs:
added_files: added_files:
@@ -173,8 +181,10 @@ runs:
INPUT_UNTIL: ${{ inputs.until }} INPUT_UNTIL: ${{ inputs.until }}
INPUT_PATH: ${{ inputs.path }} INPUT_PATH: ${{ inputs.path }}
INPUT_FETCH_DEPTH: ${{ inputs.fetch_depth }} INPUT_FETCH_DEPTH: ${{ inputs.fetch_depth }}
INPUT_MAX_FETCH_DEPTH: ${{ inputs.max_fetch_depth }}
INPUT_SINCE_LAST_REMOTE_COMMIT: ${{ inputs.since_last_remote_commit }}
- name: Glob match - name: Glob match
uses: tj-actions/glob@v15 uses: tj-actions/glob@v16
id: glob id: glob
with: with:
files: ${{ inputs.files }} files: ${{ inputs.files }}

View File

@@ -4,6 +4,11 @@ set -euo pipefail
INITIAL_COMMIT="false" INITIAL_COMMIT="false"
GITHUB_OUTPUT=${GITHUB_OUTPUT:-""} GITHUB_OUTPUT=${GITHUB_OUTPUT:-""}
EXTRA_ARGS="--no-tags"
if [[ "$GITHUB_REF" == "refs/tags/"* ]]; then
EXTRA_ARGS=""
fi
echo "::group::changed-files-diff-sha" echo "::group::changed-files-diff-sha"
@@ -40,8 +45,6 @@ fi
if [[ -z $GITHUB_BASE_REF ]]; then if [[ -z $GITHUB_BASE_REF ]]; then
echo "Running on a push event..." echo "Running on a push event..."
TARGET_BRANCH=${GITHUB_REF/refs\/heads\//} && exit_status=$? || exit_status=$?
CURRENT_BRANCH=$TARGET_BRANCH && exit_status=$? || exit_status=$?
echo "::debug::Getting HEAD SHA..." echo "::debug::Getting HEAD SHA..."
if [[ -n "$INPUT_UNTIL" ]]; then if [[ -n "$INPUT_UNTIL" ]]; then
@@ -56,11 +59,15 @@ if [[ -z $GITHUB_BASE_REF ]]; then
if [[ -z $INPUT_SHA ]]; then if [[ -z $INPUT_SHA ]]; then
CURRENT_SHA=$(git rev-list -n 1 HEAD 2>&1) && exit_status=$? || exit_status=$? CURRENT_SHA=$(git rev-list -n 1 HEAD 2>&1) && exit_status=$? || exit_status=$?
else else
git fetch --no-tags -u --progress --deepen="$INPUT_FETCH_DEPTH" # shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH"
CURRENT_SHA=$INPUT_SHA; exit_status=$? CURRENT_SHA=$INPUT_SHA; exit_status=$?
fi fi
fi fi
TARGET_BRANCH=$(git name-rev --name-only "$CURRENT_SHA" 2>&1) && exit_status=$? || exit_status=$?
CURRENT_BRANCH=$TARGET_BRANCH && exit_status=$? || exit_status=$?
echo "::debug::Verifying the current commit SHA: $CURRENT_SHA" echo "::debug::Verifying the current commit SHA: $CURRENT_SHA"
git rev-parse --quiet --verify "$CURRENT_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$? git rev-parse --quiet --verify "$CURRENT_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
@@ -82,12 +89,20 @@ if [[ -z $GITHUB_BASE_REF ]]; then
exit 1 exit 1
fi fi
else else
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$? if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; then
PREVIOUS_SHA=""
if [[ -z "$PREVIOUS_SHA" ]]; then
if [[ "$GITHUB_EVENT_FORCED" == "false" || -z "$GITHUB_EVENT_FORCED" ]]; then if [[ "$GITHUB_EVENT_FORCED" == "false" || -z "$GITHUB_EVENT_FORCED" ]]; then
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
fi fi
else
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
if [[ -z "$PREVIOUS_SHA" ]]; then
if [[ "$GITHUB_EVENT_FORCED" == "false" || -z "$GITHUB_EVENT_FORCED" ]]; then
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
fi
fi
fi fi
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "0000000000000000000000000000000000000000" ]]; then if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "0000000000000000000000000000000000000000" ]]; then
@@ -110,10 +125,9 @@ if [[ -z $GITHUB_BASE_REF ]]; then
fi fi
fi fi
else else
git fetch --no-tags -u --progress --deepen="$INPUT_FETCH_DEPTH" # shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH"
PREVIOUS_SHA=$INPUT_BASE_SHA PREVIOUS_SHA=$INPUT_BASE_SHA
TARGET_BRANCH=$(git name-rev --name-only "$PREVIOUS_SHA" 2>&1) && exit_status=$? || exit_status=$?
CURRENT_BRANCH=$TARGET_BRANCH
fi fi
echo "::debug::Target branch $TARGET_BRANCH..." echo "::debug::Target branch $TARGET_BRANCH..."
@@ -133,21 +147,26 @@ else
CURRENT_BRANCH=$GITHUB_HEAD_REF CURRENT_BRANCH=$GITHUB_HEAD_REF
echo "Fetching remote refs..." echo "Fetching remote refs..."
git fetch --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
depth=$INPUT_FETCH_DEPTH
while [ -z "$( git merge-base "$TARGET_BRANCH" HEAD )" ]; do if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "false" ]]; then
git fetch --deepen="$depth" origin "$TARGET_BRANCH" HEAD; # shellcheck disable=SC2086
depth=$((depth * 10)) git fetch $EXTRA_ARGS --depth="$INPUT_FETCH_DEPTH" origin +refs/heads/"$TARGET_BRANCH":refs/remotes/origin/"$TARGET_BRANCH"
max_depth=5000 git branch --track "$TARGET_BRANCH" origin/"$TARGET_BRANCH" 2>/dev/null || true
if [[ $depth -gt $max_depth ]]; then depth=$INPUT_FETCH_DEPTH
echo "::error::Unable to find merge-base between $TARGET_BRANCH and HEAD."
fi while [ -z "$( git merge-base "$TARGET_BRANCH" HEAD )" ]; do
done # shellcheck disable=SC2086
git fetch $EXTRA_ARGS --deepen="$depth" origin "$TARGET_BRANCH" HEAD;
depth=$((depth * 10))
max_depth=$INPUT_MAX_FETCH_DEPTH
if [[ $depth -gt $max_depth ]]; then
echo "::error::Unable to find merge-base between $TARGET_BRANCH and HEAD."
exit 1
fi
done
fi
echo "::debug::Getting HEAD SHA..." echo "::debug::Getting HEAD SHA..."
if [[ -n "$INPUT_UNTIL" ]]; then if [[ -n "$INPUT_UNTIL" ]]; then
@@ -178,10 +197,24 @@ else
fi fi
if [[ -z $INPUT_BASE_SHA ]]; then if [[ -z $INPUT_BASE_SHA ]]; then
PREVIOUS_SHA=$(git rev-list --no-merges -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$? if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; then
if [[ -z "$PREVIOUS_SHA" ]]; then PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
if ! git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1; then
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
fi
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "0000000000000000000000000000000000000000" ]]; then
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
fi
else
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
fi
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "$CURRENT_SHA" ]]; then
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA && exit_status=$? || exit_status=$? PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA && exit_status=$? || exit_status=$?
fi fi
echo "::debug::Previous SHA: $PREVIOUS_SHA" echo "::debug::Previous SHA: $PREVIOUS_SHA"
else else
PREVIOUS_SHA=$INPUT_BASE_SHA && exit_status=$? || exit_status=$? PREVIOUS_SHA=$INPUT_BASE_SHA && exit_status=$? || exit_status=$?