Compare commits

...

108 Commits

Author SHA1 Message Date
repo-ranger[bot]
baaf598b46 Merge pull request #838 from tj-actions/chore/update-readme
Updated README.md
2022-12-05 22:52:03 +00:00
jackton1
15519b6a6f Updated README.md 2022-12-05 22:19:34 +00:00
Tonye Jack
e9a054c870 Update README.md 2022-12-05 15:17:05 -07:00
Tonye Jack
ed7adeaf22 Update action.yml 2022-12-05 15:15:35 -07:00
repo-ranger[bot]
703a319222 Merge pull request #837 from tj-actions/fix/wrong-changed-files-for-forked-prs
fix: wrong changed files for forked prs
2022-12-05 22:02:59 +00:00
Tonye Jack
e6fbdde201 Update diff-sha.sh 2022-12-05 14:38:37 -07:00
Tonye Jack
860dc31320 Update diff-sha.sh 2022-12-05 14:34:38 -07:00
Tonye Jack
fd5d6c3a2d Update action.yml 2022-12-05 14:30:14 -07:00
Tonye Jack
77fbd5a18c Update diff-sha.sh 2022-12-05 14:29:20 -07:00
Tonye Jack
aba4e5712b Update diff-sha.sh 2022-12-05 14:21:07 -07:00
Tonye Jack
c3642c4a1c Update diff-sha.sh 2022-12-05 13:19:24 -07:00
Tonye Jack
0a207fd892 Merge branch 'main' into fix/wrong-changed-files-for-forked-prs 2022-12-05 09:25:35 -07:00
repo-ranger[bot]
2a74e5e5d4 Merge pull request #835 from tj-actions/fix/determining-the-merge-base
fix: determining the merge base
2022-12-05 08:06:53 +00:00
repo-ranger[bot]
6e85a3501a Merge branch 'main' into fix/determining-the-merge-base 2022-12-05 07:15:19 +00:00
Tonye Jack
660db6c787 Merge pull request #836 from tj-actions/chore/update-readme
Updated README.md
2022-12-05 00:13:35 -07:00
Tonye Jack
a4d22acb20 Updated fetch branch 2022-12-05 00:12:48 -07:00
Tonye Jack
984b4ca567 Merge branch 'fix/determining-the-merge-base' into fix/wrong-changed-files-for-forked-prs 2022-12-05 00:06:11 -07:00
Tonye Jack
477b380579 Updated to use git diff 2022-12-05 00:05:01 -07:00
Tonye Jack
a699a3be4a Fixed test 2022-12-05 00:02:56 -07:00
Tonye Jack
3a46c048f7 Updated formatting 2022-12-05 00:02:15 -07:00
Tonye Jack
d78a469ec7 fix: wrong changed files for forked prs 2022-12-04 23:57:17 -07:00
Tonye Jack
0d9ec12402 Fixed test 2022-12-04 23:54:36 -07:00
repo-ranger[bot]
7e929625a3 Updated README.md 2022-12-05 06:50:05 +00:00
repo-ranger[bot]
c09cd8795d Merge branch 'main' into fix/determining-the-merge-base 2022-12-05 06:48:47 +00:00
repo-ranger[bot]
67482da9c0 Merge pull request #834 from tj-actions/chore/fix-typos
chore: fix typos
2022-12-05 06:47:10 +00:00
Tonye Jack
ef8591de30 Updated to use merge-base 2022-12-04 23:33:22 -07:00
Tonye Jack
f282e19e52 Updated to use merge-base 2022-12-04 23:27:32 -07:00
Tonye Jack
a20b263d03 Updated to use merge-base 2022-12-04 23:16:45 -07:00
Tonye Jack
69b90fbdbe fix: determining the merge-base with limited history. 2022-12-04 23:13:42 -07:00
Tonye Jack
2cf3132a60 Updated action 2022-12-04 23:08:45 -07:00
Tonye Jack
dc7365b27b Updated action 2022-12-04 23:07:38 -07:00
Tonye Jack
d8b80b3b09 chore: fix typos 2022-12-04 23:06:33 -07:00
Tonye Jack
33d8d67443 Update sync-release-version.yml 2022-12-04 22:29:11 -07:00
renovate[bot]
9f74b8c9e2 chore(deps): update tj-actions/auto-doc action to v1.5.0 2022-12-03 19:31:00 -07:00
renovate[bot]
17ce62043e chore(deps): update peter-evans/create-pull-request action to v4.2.3 2022-11-28 03:14:19 -07:00
repo-ranger[bot]
896db63e40 Merge pull request #827 from tj-actions/upgrade-to-v34.5.0
Upgraded to v34.5.0
2022-11-24 05:35:19 +00:00
repo-ranger[bot]
467f657e76 Merge branch 'main' into upgrade-to-v34.5.0 2022-11-24 05:14:58 +00:00
repo-ranger[bot]
efaec6dced Merge pull request #826 from tj-actions/chore/update-readme
Updated README.md
2022-11-24 05:14:24 +00:00
jackton1
5adea4114e Upgraded from v34.4.4 -> v34.5.0 2022-11-24 04:53:36 +00:00
jackton1
02a5f95a79 Updated README.md 2022-11-24 04:46:45 +00:00
Tonye Jack
91e0894f3f Update diff-sha.sh 2022-11-23 21:46:23 -07:00
Tonye Jack
20cff0223e Update action.yml 2022-11-23 21:37:16 -07:00
Tonye Jack
8a4cc4fbd6 Merge pull request #825 from tj-actions/renovate/peter-evans-create-pull-request-4.x
chore(deps): update peter-evans/create-pull-request action to v4.2.2
2022-11-23 21:07:09 -07:00
Tonye Jack
d372997c45 Merge branch 'main' into renovate/peter-evans-create-pull-request-4.x 2022-11-23 21:06:58 -07:00
Tonye Jack
a0b9b1e5a9 Merge pull request #824 from tj-actions/chore/update-readme
Updated README.md
2022-11-23 21:06:27 -07:00
renovate[bot]
88defd04db chore(deps): update peter-evans/create-pull-request action to v4.2.2 2022-11-24 03:52:44 +00:00
repo-ranger[bot]
e428e21b89 Updated README.md 2022-11-24 03:28:08 +00:00
repo-ranger[bot]
b383c47099 Merge pull request #823 from tj-actions/feat/add-support-for-dir-names-max-depth
feat: add support for dir_names_max_depth
2022-11-24 03:27:34 +00:00
Tonye Jack
a262e55d0d Update action.yml 2022-11-23 20:08:09 -07:00
Tonye Jack
637cb57c28 Update get-changed-paths.sh 2022-11-23 20:05:28 -07:00
Tonye Jack
65688ba5c8 Update get-changed-paths.sh 2022-11-23 19:56:19 -07:00
Tonye Jack
63f38f9f41 Update get-changed-paths.sh 2022-11-23 19:46:28 -07:00
Tonye Jack
3d46931839 Update get-changed-paths.sh 2022-11-23 19:38:21 -07:00
Tonye Jack
3840bc84e6 Update get-changed-paths.sh 2022-11-23 19:30:57 -07:00
Tonye Jack
1c9a614a4f Updated get-changed-paths.sh 2022-11-23 19:26:31 -07:00
Tonye Jack
d127e35180 Updated get-changed-paths.sh 2022-11-23 19:22:38 -07:00
Tonye Jack
386cb933d4 Updated get-changed-paths.sh 2022-11-23 19:08:10 -07:00
Tonye Jack
54b7c1b8d2 Updated get-changed-paths.sh 2022-11-23 19:01:02 -07:00
Tonye Jack
967c8a0609 Updated get-changed-paths.sh 2022-11-23 19:00:52 -07:00
Tonye Jack
6093777a38 Updated get-changed-paths.sh 2022-11-23 18:59:55 -07:00
Tonye Jack
bf3ca40593 Updated get-changed-paths.sh 2022-11-23 18:46:46 -07:00
Tonye Jack
0951b64836 Updated arguments 2022-11-23 18:38:53 -07:00
Tonye Jack
32c707316b Updated get-changed-paths.sh 2022-11-23 18:35:30 -07:00
Tonye Jack
f08344bfbc fixed shellcheck error 2022-11-23 18:17:30 -07:00
Tonye Jack
bcd97d2870 fixed unbound variable 2022-11-23 18:03:39 -07:00
Tonye Jack
e54a2423a8 Merge branch 'main' into feat/add-support-for-dir-names-max-depth 2022-11-23 17:40:08 -07:00
Tonye Jack
3c938dc216 fixed unbound variable 2022-11-23 17:39:37 -07:00
Tonye Jack
80e364a5d0 Update get-changed-paths.sh 2022-11-23 17:35:43 -07:00
repo-ranger[bot]
120c425db7 Merge pull request #822 from tj-actions/feat/replace-all-usage-of-last-successful-commit-action
feat: replace all usage of nrwl/last-successful-commit-action with nrwl/nx-set-shas
2022-11-24 00:35:34 +00:00
Tonye Jack
df466ccd7d fixed test 2022-11-23 17:32:14 -07:00
Tonye Jack
0a5b7c6ec0 Added test files 2022-11-23 17:29:39 -07:00
Tonye Jack
08d0cedfea feat: add support for dir_names_max_depth 2022-11-23 17:25:26 -07:00
Tonye Jack
5abef67e95 feat: replace all usage of nrwl/last-successful-commit-action with nrwl/nx-set-shas 2022-11-23 15:02:10 -07:00
renovate[bot]
ba788ed4ee chore(deps): update peter-evans/create-pull-request action to v4.2.1 2022-11-21 19:51:58 -07:00
repo-ranger[bot]
e883d3fc1b Merge pull request #819 from tj-actions/chore/update-renovate.json
chore: update renovate.json
2022-11-20 00:46:31 +00:00
Tonye Jack
7f3332eb99 chore: update renovate.json 2022-11-19 17:27:54 -07:00
Tonye Jack
28638a0d9b Merge pull request #818 from tj-actions/upgrade-to-v34.4.4
Upgraded to v34.4.4
2022-11-18 08:39:50 -07:00
jackton1
0686733297 Upgraded from v34.4.3 -> v34.4.4 2022-11-18 15:23:49 +00:00
repo-ranger[bot]
8a7336fb6f Merge pull request #817 from tj-actions/chore/fix-error-locating-last-remote-commit-sha
chore: fix error locating last remote commit sha
2022-11-18 13:46:28 +00:00
Tonye Jack
bf097488b7 Update diff-sha.sh 2022-11-18 06:28:49 -07:00
Tonye Jack
fad01cd373 chore: fix error locating last remote commit sha 2022-11-18 06:17:59 -07:00
repo-ranger[bot]
5b0b92e859 Merge pull request #816 from tj-actions/dependabot/github_actions/hmarr/auto-approve-action-3
Bump hmarr/auto-approve-action from 2 to 3
2022-11-18 02:09:44 +00:00
Tonye Jack
dc7e117725 Update auto-approve.yml 2022-11-17 18:52:13 -07:00
dependabot[bot]
f4f55124a4 Bump hmarr/auto-approve-action from 2 to 3
Bumps [hmarr/auto-approve-action](https://github.com/hmarr/auto-approve-action) from 2 to 3.
- [Release notes](https://github.com/hmarr/auto-approve-action/releases)
- [Commits](https://github.com/hmarr/auto-approve-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: hmarr/auto-approve-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-18 01:02:07 +00:00
repo-ranger[bot]
b86dc28fcb Merge pull request #815 from tj-actions/upgrade-to-v34.4.3
Upgraded to v34.4.3
2022-11-17 21:11:53 +00:00
repo-ranger[bot]
c6cd9a4c8b Merge branch 'main' into upgrade-to-v34.4.3 2022-11-17 20:43:28 +00:00
repo-ranger[bot]
62974b6c9c Merge pull request #814 from tj-actions/chore/update-readme
Updated README.md
2022-11-17 20:42:12 +00:00
jackton1
f76843a802 Upgraded from v34.4.2 -> v34.4.3 2022-11-17 20:19:19 +00:00
repo-ranger[bot]
fb362d4f10 Updated README.md 2022-11-17 20:16:14 +00:00
repo-ranger[bot]
3996bc3fde Merge pull request #810 from tj-actions/fix/pulling-current-branch-history
fix: pulling current branch history
2022-11-17 20:15:36 +00:00
Tonye Jack
7b68fcd082 Update diff-sha.sh 2022-11-17 12:59:15 -07:00
repo-ranger[bot]
c8dc4b69b8 Merge branch 'main' into fix/pulling-current-branch-history 2022-11-17 19:34:46 +00:00
Tonye Jack
0265ed819d Update README.md 2022-11-17 12:33:38 -07:00
Tonye Jack
96ce8da4f6 Update diff-sha.sh 2022-11-17 12:32:34 -07:00
Tonye Jack
2ed48aa52f Update diff-sha.sh 2022-11-17 12:25:27 -07:00
Tonye Jack
434c3eaa98 Merge branch 'main' into fix/pulling-current-branch-history 2022-11-17 12:19:28 -07:00
Tonye Jack
0efacabbb5 Update diff-sha.sh 2022-11-17 12:05:17 -07:00
Tonye Jack
61fac4da4b Updated diff-sha.sh 2022-11-17 08:28:46 -07:00
Tonye Jack
6ea66cc129 Updated diff-sha.sh 2022-11-17 08:24:46 -07:00
Tonye Jack
30b9252953 Updated diff-sha.sh 2022-11-17 08:16:17 -07:00
Tonye Jack
3b10cebd3d Update diff-sha.sh 2022-11-16 21:06:22 -07:00
repo-ranger[bot]
171e4353ac Merge pull request #811 from tj-actions/chore/update-readme
Updated README.md
2022-11-16 19:15:40 +00:00
jackton1
1882e2f481 Updated README.md 2022-11-16 18:53:06 +00:00
Tonye Jack
0c4c0c47b8 Update README.md 2022-11-16 11:52:30 -07:00
Tonye Jack
fe3a37012f Update action.yml 2022-11-16 11:46:53 -07:00
Tonye Jack
fe47f7dc4c fix: pulling current branch history 2022-11-16 11:29:35 -07:00
repo-ranger[bot]
61e93c8aeb Merge pull request #808 from tj-actions/upgrade-to-v34.4.2
Upgraded to v34.4.2
2022-11-15 21:19:52 +00:00
jackton1
73e225f69c Upgraded from v34.4.1 -> v34.4.2 2022-11-15 20:30:41 +00:00
15 changed files with 305 additions and 143 deletions

View File

@@ -3,11 +3,12 @@ name: Auto approve
on:
pull_request_target
jobs:
auto-approve:
runs-on: ubuntu-latest
steps:
- uses: hmarr/auto-approve-action@v2
- uses: hmarr/auto-approve-action@v3
if: |
(
github.event.pull_request.user.login == 'dependabot[bot]' ||

View File

@@ -19,9 +19,10 @@ jobs:
git submodule update --remote --recursive
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4.2.0
uses: peter-evans/create-pull-request@v4.2.3
with:
title: "Updated submodule"
labels: "merge when passing"
branch: "chore/update-submodule"
commit-message: "Updated submodule"
body: "Updated submodule"

View File

@@ -26,9 +26,10 @@ jobs:
with:
output: 'HISTORY.md'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4.2.0
uses: peter-evans/create-pull-request@v4.2.3
with:
base: "main"
labels: "merge when passing"
title: "Upgraded to ${{ steps.sync-release-version.outputs.new_version }}"
branch: "upgrade-to-${{ steps.sync-release-version.outputs.new_version }}"
commit-message: "Upgraded from ${{ steps.sync-release-version.outputs.old_version }} -> ${{ steps.sync-release-version.outputs.new_version }}"

View File

@@ -417,6 +417,27 @@ jobs:
echo '${{ toJSON(steps.changed-files-quotepath.outputs) }}'
shell:
bash
- name: Run changed-files with dir_names and dir_names_max_depth
id: changed-files-dir-names-max-depth
uses: ./
with:
base_sha: ba788ed
sha: 0a5b7c6
fetch_depth: 60000
dir_names: "true"
dir_names_max_depth: 3
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-dir-names-max-depth.outputs) }}'
shell:
bash
- name: Check dir_names output
if: "!contains(steps.changed-files-dir-names-max-depth.outputs.all_changed_files, 'test/test2/test3')"
run: |
echo "Invalid output: Expected to include (test/test2/test3) got (${{ steps.changed-files-dir-names-max-depth.outputs.all_changed_files }})"
exit 1
shell:
bash
- name: Run changed-files with dir_names
id: changed-files-dir-names
uses: ./
@@ -925,19 +946,18 @@ jobs:
id: branch-name
uses: tj-actions/branch-names@v6
if: github.event_name == 'pull_request'
- uses: nrwl/last-successful-commit-action@v1
- uses: nrwl/nx-set-shas@v3
id: last_successful_commit
if: github.event_name == 'pull_request' && github.event.action != 'closed'
with:
branch: ${{ steps.branch-name.outputs.base_ref_branch }}
workflow_id: 'test.yml'
github_token: ${{ secrets.PAT_TOKEN }}
main-branch-name: ${{ steps.branch-name.outputs.base_ref_branch }}
workflow-id: 'test.yml'
- name: Run changed-files with a custom base sha
if: github.event_name == 'pull_request' && github.event.action != 'closed'
id: changed-files-custom-base-sha
uses: ./
with:
base_sha: ${{ steps.last_successful_commit.outputs.commit_hash }}
base_sha: ${{ steps.last_successful_commit.outputs.base }}
- name: Show output
if: github.event_name == 'pull_request' && github.event.action != 'closed'
run: |

View File

@@ -14,7 +14,7 @@ jobs:
fetch-depth: 0
- name: Run auto-doc
uses: tj-actions/auto-doc@v1.4.3
uses: tj-actions/auto-doc@v1.5.0
- name: Run test
uses: tj-actions/remark@v3
@@ -34,9 +34,10 @@ jobs:
- name: Create Pull Request
if: failure()
uses: peter-evans/create-pull-request@v4.2.0
uses: peter-evans/create-pull-request@v4.2.3
with:
base: "main"
labels: "merge when passing"
title: "Updated README.md"
branch: "chore/update-readme"
commit-message: "Updated README.md"

View File

@@ -1,16 +1,103 @@
# Changelog
## [v34.4.0](https://github.com/tj-actions/changed-files/tree/v34.4.0) (2022-11-11)
## [Unreleased](https://github.com/tj-actions/changed-files/tree/HEAD)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.4.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.0...HEAD)
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-11-11)
**Closed issues:**
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.4...v34)
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
## [v34.5.0](https://github.com/tj-actions/changed-files/tree/v34.5.0) (2022-11-24)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.5.0)
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-11-24)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.4.4...v34)
**Implemented enhancements:**
- \[Feature\] Replace all usage of nrwl/last-successful-commit-action with nrwl/nx-set-shas [\#820](https://github.com/tj-actions/changed-files/issues/820)
- \[Feature\] Unique directories max\_depth option [\#789](https://github.com/tj-actions/changed-files/issues/789)
**Merged pull requests:**
- chore\(deps\): update peter-evans/create-pull-request action to v4.2.2 [\#825](https://github.com/tj-actions/changed-files/pull/825) ([renovate[bot]](https://github.com/apps/renovate))
- Updated README.md [\#824](https://github.com/tj-actions/changed-files/pull/824) ([jackton1](https://github.com/jackton1))
- feat: add support for dir\_names\_max\_depth [\#823](https://github.com/tj-actions/changed-files/pull/823) ([jackton1](https://github.com/jackton1))
- feat: replace all usage of nrwl/last-successful-commit-action with nrwl/nx-set-shas [\#822](https://github.com/tj-actions/changed-files/pull/822) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update peter-evans/create-pull-request action to v4.2.1 [\#821](https://github.com/tj-actions/changed-files/pull/821) ([renovate[bot]](https://github.com/apps/renovate))
- chore: update renovate.json [\#819](https://github.com/tj-actions/changed-files/pull/819) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.4.4 [\#818](https://github.com/tj-actions/changed-files/pull/818) ([jackton1](https://github.com/jackton1))
## [v34.4.4](https://github.com/tj-actions/changed-files/tree/v34.4.4) (2022-11-18)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.4.3...v34.4.4)
**Implemented enhancements:**
- \[Feature\] Compare `HEAD` and `unstaged` [\#813](https://github.com/tj-actions/changed-files/issues/813)
**Fixed bugs:**
- `increase the fetch_depth to a number higher than 5000` [\#812](https://github.com/tj-actions/changed-files/issues/812)
- \[BUG\] changed-files v34.4.2 unable to locate a common ancestor [\#809](https://github.com/tj-actions/changed-files/issues/809)
**Merged pull requests:**
- chore: fix error locating last remote commit sha [\#817](https://github.com/tj-actions/changed-files/pull/817) ([jackton1](https://github.com/jackton1))
- Bump hmarr/auto-approve-action from 2 to 3 [\#816](https://github.com/tj-actions/changed-files/pull/816) ([dependabot[bot]](https://github.com/apps/dependabot))
- Upgraded to v34.4.3 [\#815](https://github.com/tj-actions/changed-files/pull/815) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#814](https://github.com/tj-actions/changed-files/pull/814) ([jackton1](https://github.com/jackton1))
## [v34.4.3](https://github.com/tj-actions/changed-files/tree/v34.4.3) (2022-11-17)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.4.2...v34.4.3)
**Fixed bugs:**
- \[BUG\] diff-sha.sh results in "fatal: ambiguous argument '': unknown revision or path not in the working tree." [\#750](https://github.com/tj-actions/changed-files/issues/750)
**Merged pull requests:**
- Updated README.md [\#811](https://github.com/tj-actions/changed-files/pull/811) ([jackton1](https://github.com/jackton1))
- fix: pulling current branch history [\#810](https://github.com/tj-actions/changed-files/pull/810) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.4.2 [\#808](https://github.com/tj-actions/changed-files/pull/808) ([jackton1](https://github.com/jackton1))
## [v34.4.2](https://github.com/tj-actions/changed-files/tree/v34.4.2) (2022-11-15)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.4.1...v34.4.2)
**Fixed bugs:**
- \[BUG\] Infinite loop on v34.4.0 [\#803](https://github.com/tj-actions/changed-files/issues/803)
- Unable to locate a common ancestor between production\_migration and HEAD [\#802](https://github.com/tj-actions/changed-files/issues/802)
**Merged pull requests:**
- fix: bug with retrieving the last remote commit [\#806](https://github.com/tj-actions/changed-files/pull/806) ([jackton1](https://github.com/jackton1))
## [v34.4.1](https://github.com/tj-actions/changed-files/tree/v34.4.1) (2022-11-15)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.4.0...v34.4.1)
**Fixed bugs:**
- \[BUG\] Very simple branch gives: "Unable to find merge-base between main and HEAD." [\#797](https://github.com/tj-actions/changed-files/issues/797)
**Merged pull requests:**
- chore: update sync-release-version.yml [\#805](https://github.com/tj-actions/changed-files/pull/805) ([jackton1](https://github.com/jackton1))
- fix: finding merge-base [\#804](https://github.com/tj-actions/changed-files/pull/804) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.4.0 [\#800](https://github.com/tj-actions/changed-files/pull/800) ([jackton1](https://github.com/jackton1))
## [v34.4.0](https://github.com/tj-actions/changed-files/tree/v34.4.0) (2022-11-11)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.4...v34.4.0)
**Fixed bugs:**
- \[BUG\] Specfic File Bug in v33 / v34 - grep: : No such file or directory [\#795](https://github.com/tj-actions/changed-files/issues/795)
- \[BUG\] Please verify that the previous sha is valid, and increase the fetch\_depth to a number higher than 40. [\#790](https://github.com/tj-actions/changed-files/issues/790)
@@ -41,10 +128,6 @@
- \[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))
@@ -150,7 +233,6 @@
**Fixed bugs:**
- \[BUG\] diff-sha.sh results in "fatal: ambiguous argument '': unknown revision or path not in the working tree." [\#750](https://github.com/tj-actions/changed-files/issues/750)
- \[BUG\] Action failing on PR with "Unable to find merge-base in shallow clone" [\#737](https://github.com/tj-actions/changed-files/issues/737)
- \[BUG\] Wrong changed-files returned for forked PRs [\#714](https://github.com/tj-actions/changed-files/issues/714)
@@ -237,7 +319,7 @@
## [v34.0.0](https://github.com/tj-actions/changed-files/tree/v34.0.0) (2022-10-25)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33.0.0...v34.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33...v34.0.0)
**Fixed bugs:**
@@ -250,13 +332,13 @@
- feat: add support for fetching more history [\#709](https://github.com/tj-actions/changed-files/pull/709) ([jackton1](https://github.com/jackton1))
- Upgraded to v33.0.0 [\#707](https://github.com/tj-actions/changed-files/pull/707) ([jackton1](https://github.com/jackton1))
## [v33.0.0](https://github.com/tj-actions/changed-files/tree/v33.0.0) (2022-10-21)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33...v33.0.0)
## [v33](https://github.com/tj-actions/changed-files/tree/v33) (2022-10-21)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.2...v33)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33.0.0...v33)
## [v33.0.0](https://github.com/tj-actions/changed-files/tree/v33.0.0) (2022-10-21)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.2...v33.0.0)
**Closed issues:**
@@ -394,7 +476,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.0.0...v31.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30...v31.0.0)
**Merged pull requests:**
@@ -407,13 +489,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.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/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...v30)
[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)
**Fixed bugs:**
@@ -429,13 +511,13 @@
- chore\(deps\): update codacy/codacy-analysis-cli-action action to v4.2.0 [\#634](https://github.com/tj-actions/changed-files/pull/634) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v29.0.9 [\#633](https://github.com/tj-actions/changed-files/pull/633) ([jackton1](https://github.com/jackton1))
## [v29](https://github.com/tj-actions/changed-files/tree/v29) (2022-09-20)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.9...v29)
## [v29.0.9](https://github.com/tj-actions/changed-files/tree/v29.0.9) (2022-09-20)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.8...v29.0.9)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29...v29.0.9)
## [v29](https://github.com/tj-actions/changed-files/tree/v29) (2022-09-20)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.8...v29)
**Implemented enhancements:**
@@ -1878,7 +1960,7 @@
## [v7](https://github.com/tj-actions/changed-files/tree/v7) (2021-06-09)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6...v7)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.3...v7)
**Closed issues:**
@@ -1894,13 +1976,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))
- Upgraded to v6.3 [\#85](https://github.com/tj-actions/changed-files/pull/85) ([jackton1](https://github.com/jackton1))
## [v6](https://github.com/tj-actions/changed-files/tree/v6) (2021-05-26)
[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)
[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)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.2...v6)
**Merged pull requests:**

View File

@@ -15,7 +15,7 @@
## changed-files
Retrieve all changed files and directories relative to the target branch or the last remote commit returning the **absolute path** from the project root.
Retrieve all changed files and directories relative to the target branch or the last remote commit returning the **absolute paths** from the project root.
## Features
@@ -160,19 +160,20 @@ Support this project with a :star:
| 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 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 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. |
| 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. |
| 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 qoutes. |
| 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 multiple old<br>and new filename pairs. |
| 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` |
@@ -336,8 +337,7 @@ See [outputs](#outputs) for a list of all available outputs.
id: changed-files-specific-source-file
uses: tj-actions/changed-files@v34
with:
files_from_source_file: |
test/changed-files-list.txt
files_from_source_file: test/changed-files-list.txt
...
```
@@ -467,18 +467,17 @@ See [inputs](#inputs) for more information.
id: branch-name
uses: tj-actions/branch-names@v6
- uses: nrwl/last-successful-commit-action@v1
- uses: nrwl/nx-set-shas@v3
id: last_successful_commit_push
with:
branch: ${{ steps.branch-name.outputs.current_branch }} # Get the last successful commit for the current branch.
workflow_id: 'test.yml'
github_token: ${{ secrets.GITHUB_TOKEN }}
main-branch-name: ${{ steps.branch-name.outputs.current_branch }} # Get the last successful commit for the current branch.
workflow-id: 'test.yml'
- name: Run changed-files with the commit of the last successful test workflow run
id: changed-files-base-sha-push
uses: tj-actions/changed-files@v34
with:
base_sha: ${{ steps.last_successful_commit_push.outputs.commit_hash }}
base_sha: ${{ steps.last_successful_commit_push.outputs.base }}
...
```
@@ -495,18 +494,17 @@ See [inputs](#inputs) for more information.
id: branch-name
uses: tj-actions/branch-names@v5
- uses: nrwl/last-successful-commit-action@v1
- uses: nrwl/nx-set-shas@v3
id: last_successful_commit_pull_request
with:
branch: ${{ steps.branch-name.outputs.base_ref_branch }} # Get the last successful commit on master or main branch
main-branch-name: ${{ steps.branch-name.outputs.base_ref_branch }} # Get the last successful commit on master or main branch
workflow_id: 'test.yml'
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Run changed-files with the commit of the last successful test workflow run on main
id: changed-files-base-sha-pull-request
uses: tj-actions/changed-files@v34
with:
base_sha: ${{ steps.last_successful_commit_pull_request.outputs.commit_hash }}
base_sha: ${{ steps.last_successful_commit_pull_request.outputs.base }}
...
```

View File

@@ -16,7 +16,7 @@ inputs:
required: false
default: ","
old_new_files_separator:
description: "Split character for multiple old and new filename pairs."
description: "Split character for old and new renamed filename pairs."
required: false
default: " "
files_from_source_file:
@@ -24,7 +24,7 @@ inputs:
required: false
default: ""
files:
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 qoutes."
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: ""
files_separator:
@@ -32,7 +32,7 @@ inputs:
default: "\n"
required: false
files_ignore:
description: "Ignore changes to these file(s) **NOTE:** Multiline file/directory patterns should not include qoutes."
description: "Ignore changes to these file(s) **NOTE:** Multiline file/directory patterns should not include quotes."
required: false
default: ""
files_ignore_separator:
@@ -67,18 +67,21 @@ inputs:
default: "true"
required: false
diff_relative:
description: "Exclude changes outside the current directory and show pathnames relative to it. **NOTE:** This requires you to specify the top level directory via the `path` input."
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"
fetch_depth:
description: "Limit depth of the branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
description: "Initial depth of the branch history fetched. **NOTE**: This can be adjusted to resolve errors with insufficient history."
required: false
default: "40"
max_fetch_depth:
@@ -170,9 +173,11 @@ runs:
GITHUB_BASE_REF: ${{ github.base_ref }}
GITHUB_HEAD_REF: ${{ github.head_ref }}
GITHUB_WORKSPACE: ${{ github.workspace }}
GITHUB_HEAD_REPO_FORK: ${{ github.event.pull_request.head.repo.fork }}
GITHUB_EVENT_PULL_REQUEST_BASE_SHA: ${{ github.event.pull_request.base.sha }}
GITHUB_EVENT_BEFORE: ${{ github.event.before }}
GITHUB_EVENT_FORCED: ${{ github.event.forced }}
GITHUB_REFNAME: ${{ github.ref_name }}
# INPUT_<VARIABLE_NAME> is not available in Composite run steps
# https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#example-specifying-inputs
INPUT_SHA: ${{ inputs.sha }}
@@ -221,6 +226,7 @@ runs:
INPUT_OLD_NEW_FILES_SEPARATOR: ${{ inputs.old_new_files_separator }}
INPUT_DIFF_RELATIVE: ${{ inputs.diff_relative }}
INPUT_DIR_NAMES: ${{ inputs.dir_names }}
INPUT_DIR_NAMES_MAX_DEPTH: ${{ inputs.dir_names_max_depth }}
INPUT_JSON: ${{ inputs.json }}
INPUT_HAS_CUSTOM_PATTERNS: ${{ steps.glob.outputs.has-custom-patterns }}

View File

@@ -5,11 +5,18 @@ set -euo pipefail
INITIAL_COMMIT="false"
GITHUB_OUTPUT=${GITHUB_OUTPUT:-""}
EXTRA_ARGS="--no-tags"
PREVIOUS_SHA=""
CURRENT_SHA=""
MERGE_BASE_EXRTRA_ARGS=""
if [[ "$GITHUB_REF" == "refs/tags/"* ]]; then
EXTRA_ARGS=""
fi
if [[ "$GITHUB_HEAD_REPO_FORK" == "true" ]]; then
MERGE_BASE_EXRTRA_ARGS="--fork-point"
fi
echo "::group::changed-files-diff-sha"
if [[ -n $INPUT_PATH ]]; then
@@ -45,6 +52,8 @@ fi
if [[ -z $GITHUB_BASE_REF ]]; then
echo "Running on a push event..."
TARGET_BRANCH=$GITHUB_REFNAME
CURRENT_BRANCH=$TARGET_BRANCH
echo "::debug::Getting HEAD SHA..."
if [[ -n "$INPUT_UNTIL" ]]; then
@@ -59,15 +68,12 @@ if [[ -z $GITHUB_BASE_REF ]]; then
if [[ -z $INPUT_SHA ]]; 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"
CURRENT_SHA=$INPUT_SHA; exit_status=$?
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin +"$GITHUB_REF":refs/remotes/origin/"$CURRENT_BRANCH" 2>&1 && exit_status=$? || exit_status=$?
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"
git rev-parse --quiet --verify "$CURRENT_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
@@ -119,15 +125,15 @@ if [[ -z $GITHUB_BASE_REF ]]; then
fi
else
if [[ -z "$PREVIOUS_SHA" ]]; then
echo "::error::Unable to locate a previous commit"
echo "::error::Unable to locate a previous commit."
exit 1
fi
fi
fi
else
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH"
PREVIOUS_SHA=$INPUT_BASE_SHA
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin +"$GITHUB_REF":refs/remotes/origin/"$CURRENT_BRANCH" 2>&1 && exit_status=$? || exit_status=$?
fi
echo "::debug::Target branch $TARGET_BRANCH..."
@@ -145,6 +151,10 @@ else
echo "Running on a pull request event..."
TARGET_BRANCH=$GITHUB_BASE_REF
CURRENT_BRANCH=$GITHUB_HEAD_REF
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; then
TARGET_BRANCH=$CURRENT_BRANCH
fi
echo "Fetching remote refs..."
@@ -152,6 +162,9 @@ else
# 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
else
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --depth="$INPUT_FETCH_DEPTH" origin +"$GITHUB_REF":refs/remotes/origin/"$CURRENT_BRANCH"
fi
echo "::debug::Getting HEAD SHA..."
@@ -188,16 +201,49 @@ else
if ! git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1; then
# shellcheck disable=SC2046
PREVIOUS_SHA=$(git rev-parse $(git branch -r --sort=-committerdate | head -1) 2>&1) && exit_status=$? || exit_status=$?
PREVIOUS_SHA=$(git rev-parse origin/"$CURRENT_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
fi
else
PREVIOUS_SHA=$(git rev-list -n 1 "$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
PREVIOUS_SHA=$(git merge-base $MERGE_BASE_EXRTRA_ARGS "$TARGET_BRANCH" "$CURRENT_SHA" 2>&1) && exit_status=$? || exit_status=$?
if [[ -z "$PREVIOUS_SHA" ]]; then
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA && exit_status=$? || exit_status=$?
fi
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA"..."$CURRENT_SHA" 1>/dev/null 2>&1; then
PREVIOUS_SHA=$(git rev-parse origin/"$TARGET_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
fi
fi
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "$CURRENT_SHA" ]]; then
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
while ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA"..."$CURRENT_SHA" 1>/dev/null 2>&1; do
echo "Fetching $depth commits..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$depth" origin +"$GITHUB_REF":refs/remotes/origin/"$CURRENT_BRANCH"
PREVIOUS_SHA=$(git merge-base $MERGE_BASE_EXRTRA_ARGS "$TARGET_BRANCH" "$CURRENT_SHA" 2>&1) && exit_status=$? || exit_status=$?
if [[ $depth -gt $max_depth ]]; then
echo "::error::Unable to locate a common ancestor between $TARGET_BRANCH and $CURRENT_SHA"
exit 1
fi
depth=$((depth + 300))
done
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=$?
@@ -206,29 +252,6 @@ else
echo "::debug::Target branch: $TARGET_BRANCH"
echo "::debug::Current branch: $CURRENT_BRANCH"
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "false" ]]; then
if [[ -f .git/shallow ]]; then
depth=$INPUT_FETCH_DEPTH
max_depth=$INPUT_MAX_FETCH_DEPTH
while ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA"..."$CURRENT_SHA" 1>/dev/null; do
echo "Fetching $depth commits..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS --deepen="$depth" origin "$TARGET_BRANCH" "$CURRENT_SHA";
if [[ $depth -gt $max_depth ]]; then
echo "::error::Unable to locate a common ancestor between $TARGET_BRANCH and $CURRENT_SHA"
exit 1
fi
depth=$((depth + 300))
done
else
echo "::debug::Not a shallow clone, skipping merge-base check."
fi
fi
echo "::debug::Verifying the previous commit SHA: $PREVIOUS_SHA"
git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?

View File

@@ -24,6 +24,31 @@ if [[ -n $INPUT_DIFF_RELATIVE ]]; then
git config --global diff.relative "$INPUT_DIFF_RELATIVE"
fi
function get_dirname_max_depth() {
while IFS='' read -r line; do
local dir="$line"
local dirs=()
IFS='/' read -ra dirs <<<"$dir"
local max_depth=${#dirs[@]}
local input_dir_names_max_depth="${INPUT_DIR_NAMES_MAX_DEPTH:-$max_depth}"
if [[ -n "$input_dir_names_max_depth" && "$input_dir_names_max_depth" -lt "$max_depth" ]]; then
max_depth="$input_dir_names_max_depth"
fi
local output="${dirs[0]}"
local depth="1"
while [ "$depth" -lt "$max_depth" ]; do
output="$output/${dirs[${depth}]}"
depth=$((depth + 1))
done
echo "$output"
done < <(uniq)
}
function get_diff() {
local base="$1"
local sha="$2"
@@ -43,17 +68,17 @@ function get_diff() {
fi
if [ -n "$sub_commit_cur" ]; then
(
cd "$sub" && (
# the strange magic number is a hardcoded "empty tree" commit sha
get_diff "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}" "${sub_commit_cur}" "$filter" | awk -v r="$sub" '{ print "" r "/" $0}'
(
cd "$sub" && (
# the strange magic number is a hardcoded "empty tree" commit sha
get_diff "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}" "${sub_commit_cur}" "$filter" | awk -v r="$sub" '{ print "" r "/" $0}'
)
)
)
fi
done < <(git submodule | awk '{print $2}')
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
git diff --diff-filter="$filter" --name-only --ignore-submodules=all "$base$DIFF$sha" | xargs -I {} dirname {} | uniq && exit_status=$? || exit_status=$?
git diff --diff-filter="$filter" --name-only --ignore-submodules=all "$base$DIFF$sha" | xargs -I {} dirname {} | get_dirname_max_depth | uniq && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get changed directories between: $base$DIFF$sha"
@@ -80,24 +105,24 @@ function get_renames() {
exit 1
fi
sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[+]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
sub_commit_cur="$(git diff "$base$DIFF$sha" -- "$sub" | { grep '^[+]Subproject commit' || true; } | awk '{print $3}')" && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get current commit for submodule ($sub) between: $base$DIFF$sha"
exit 1
fi
if [ -n "$sub_commit_cur" ]; then
(
cd "$sub" && (
# the strange magic number is a hardcoded "empty tree" commit sha
get_renames "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}" "${sub_commit_cur}" | awk -v r="$sub" '{ print "" r "/" $0}'
(
cd "$sub" && (
# the strange magic number is a hardcoded "empty tree" commit sha
get_renames "${sub_commit_pre:-4b825dc642cb6eb9a060e54bf8d69288fbee4904}" "${sub_commit_cur}" | awk -v r="$sub" '{ print "" r "/" $0}'
)
)
)
fi
done < <(git submodule | awk '{print $2}')
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
git log --name-status --ignore-submodules=all "$base" "$sha" | { grep -E "^R" || true; } | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' | xargs -I {} dirname {} | uniq && exit_status=$? || exit_status=$?
git log --name-status --ignore-submodules=all "$base" "$sha" | { grep -E "^R" || true; } | awk -F '\t' -v d="$INPUT_OLD_NEW_SEPARATOR" '{print $2d$3}' | xargs -I {} dirname {} | get_dirname_max_depth | uniq && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::Failed to get renamed directories between: $base$sha"
@@ -145,19 +170,19 @@ if [[ "$INPUT_HAS_CUSTOM_PATTERNS" == "false" ]]; then
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="$INPUT_OLD_NEW_FILES_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
fi
else
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
COPIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" C | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
DELETED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" D | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" M | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
RENAMED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" R | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
TYPE_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" T | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
UNMERGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" U | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
UNKNOWN=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" X | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ALL_CHANGED_AND_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "*ACDMRTUX" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ALL_CHANGED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMR" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ALL_MODIFIED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" "ACMRD" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
if [[ $INPUT_INCLUDE_ALL_OLD_NEW_RENAMED_FILES == "true" ]]; then
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}'| jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
ALL_OLD_NEW_RENAMED=$(get_renames "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}' | jq -R 'split("|") | @json' | sed -r 's/^"|"$//g' | tr -s /)
fi
fi
else
@@ -183,13 +208,13 @@ else
if [[ -z "$GITHUB_OUTPUT" ]]; then
echo "::set-output name=any_changed::true"
else
echo "any_changed=true" >> "$GITHUB_OUTPUT"
echo "any_changed=true" >>"$GITHUB_OUTPUT"
fi
else
if [[ -z "$GITHUB_OUTPUT" ]]; then
echo "::set-output name=any_changed::false"
else
echo "any_changed=false" >> "$GITHUB_OUTPUT"
echo "any_changed=false" >>"$GITHUB_OUTPUT"
fi
fi
@@ -197,7 +222,7 @@ else
if [[ -n $ALL_OTHER_CHANGED ]]; then
if [[ -n "$ALL_CHANGED" ]]; then
OTHER_CHANGED=$(echo "${ALL_OTHER_CHANGED}|${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | sort | uniq -u | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
OTHER_CHANGED=$(echo "${ALL_OTHER_CHANGED}|${ALL_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | sort | uniq -u | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
else
OTHER_CHANGED=$ALL_OTHER_CHANGED
fi
@@ -216,15 +241,15 @@ else
echo "::set-output name=only_changed::false"
echo "::set-output name=other_changed_files::$OTHER_CHANGED"
else
echo "only_changed=false" >> "$GITHUB_OUTPUT"
echo "other_changed_files=$OTHER_CHANGED" >> "$GITHUB_OUTPUT"
echo "only_changed=false" >>"$GITHUB_OUTPUT"
echo "other_changed_files=$OTHER_CHANGED" >>"$GITHUB_OUTPUT"
fi
elif [[ -n "${ALL_CHANGED}" ]]; then
if [[ -z "$GITHUB_OUTPUT" ]]; then
echo "::set-output name=only_changed::true"
else
echo "only_changed=true" >> "$GITHUB_OUTPUT"
echo "only_changed=true" >>"$GITHUB_OUTPUT"
fi
fi
@@ -235,13 +260,13 @@ else
if [[ -z "$GITHUB_OUTPUT" ]]; then
echo "::set-output name=any_modified::true"
else
echo "any_modified=true" >> "$GITHUB_OUTPUT"
echo "any_modified=true" >>"$GITHUB_OUTPUT"
fi
else
if [[ -z "$GITHUB_OUTPUT" ]]; then
echo "::set-output name=any_modified::false"
else
echo "any_modified=false" >> "$GITHUB_OUTPUT"
echo "any_modified=false" >>"$GITHUB_OUTPUT"
fi
fi
@@ -249,7 +274,7 @@ else
if [[ -n $ALL_OTHER_MODIFIED ]]; then
if [[ -n "$ALL_MODIFIED" ]]; then
OTHER_MODIFIED=$(echo "${ALL_OTHER_MODIFIED}|${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | sort | uniq -u | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
OTHER_MODIFIED=$(echo "${ALL_OTHER_MODIFIED}|${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | sort | uniq -u | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
else
OTHER_MODIFIED=$ALL_OTHER_MODIFIED
fi
@@ -268,14 +293,14 @@ else
echo "::set-output name=only_modified::false"
echo "::set-output name=other_modified_files::$OTHER_MODIFIED"
else
echo "only_modified=false" >> "$GITHUB_OUTPUT"
echo "other_modified_files=$OTHER_MODIFIED" >> "$GITHUB_OUTPUT"
echo "only_modified=false" >>"$GITHUB_OUTPUT"
echo "other_modified_files=$OTHER_MODIFIED" >>"$GITHUB_OUTPUT"
fi
elif [[ -n "${ALL_MODIFIED}" ]]; then
if [[ -z "$GITHUB_OUTPUT" ]]; then
echo "::set-output name=only_modified::true"
else
echo "only_modified=true" >> "$GITHUB_OUTPUT"
echo "only_modified=true" >>"$GITHUB_OUTPUT"
fi
fi
@@ -286,13 +311,13 @@ else
if [[ -z "$GITHUB_OUTPUT" ]]; then
echo "::set-output name=any_deleted::true"
else
echo "any_deleted=true" >> "$GITHUB_OUTPUT"
echo "any_deleted=true" >>"$GITHUB_OUTPUT"
fi
else
if [[ -z "$GITHUB_OUTPUT" ]]; then
echo "::set-output name=any_deleted::false"
else
echo "any_deleted=false" >> "$GITHUB_OUTPUT"
echo "any_deleted=false" >>"$GITHUB_OUTPUT"
fi
fi
@@ -318,14 +343,14 @@ else
echo "::set-output name=only_deleted::false"
echo "::set-output name=other_deleted_files::$OTHER_DELETED"
else
echo "only_deleted=false" >> "$GITHUB_OUTPUT"
echo "other_deleted_files=$OTHER_DELETED" >> "$GITHUB_OUTPUT"
echo "only_deleted=false" >>"$GITHUB_OUTPUT"
echo "other_deleted_files=$OTHER_DELETED" >>"$GITHUB_OUTPUT"
fi
elif [[ -n "${DELETED}" ]]; then
if [[ -z "$GITHUB_OUTPUT" ]]; then
echo "::set-output name=only_deleted::true"
else
echo "only_deleted=true" >> "$GITHUB_OUTPUT"
echo "only_deleted=true" >>"$GITHUB_OUTPUT"
fi
fi
if [[ "$INPUT_JSON" == "false" ]]; then
@@ -383,7 +408,7 @@ if [[ -z "$GITHUB_OUTPUT" ]]; then
echo "::set-output name=all_changed_files::$ALL_CHANGED"
echo "::set-output name=all_modified_files::$ALL_MODIFIED"
else
cat <<EOF >> "$GITHUB_OUTPUT"
cat <<EOF >>"$GITHUB_OUTPUT"
added_files=$ADDED
copied_files=$COPIED
deleted_files=$DELETED
@@ -402,7 +427,7 @@ if [[ $INPUT_INCLUDE_ALL_OLD_NEW_RENAMED_FILES == "true" ]]; then
if [[ -z "$GITHUB_OUTPUT" ]]; then
echo "::set-output name=all_old_new_renamed_files::$ALL_OLD_NEW_RENAMED"
else
echo "all_old_new_renamed_files=$ALL_OLD_NEW_RENAMED" >> "$GITHUB_OUTPUT"
echo "all_old_new_renamed_files=$ALL_OLD_NEW_RENAMED" >>"$GITHUB_OUTPUT"
fi
fi

View File

@@ -7,7 +7,8 @@
"prConcurrentLimit": 5,
"rebaseWhen": "behind-base-branch",
"addLabels": [
"dependencies"
"dependencies",
"merge when passing"
],
"assignees": [
"jackton1"

View File

@@ -1 +1 @@
This is a test file.
This is a test file

1
test/test2/test.txt Normal file
View File

@@ -0,0 +1 @@
Lorem ipsum dolor sit amet, consectetur adip eget, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

1
test/test2/test3/new.txt Normal file
View File

@@ -0,0 +1 @@
Test file.

View File

@@ -0,0 +1 @@
Test file.