Compare commits

...

70 Commits

Author SHA1 Message Date
Tonye Jack
09a879748c Update action.yml 2021-10-30 16:15:42 -04:00
Tonye Jack
71afc9f3b8 Update README.md 2021-10-30 16:06:21 -04:00
Tonye Jack
bb5d1a8f64 Upgraded from v11.3 -> v11.4 (#239)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-10-30 16:05:56 -04:00
Tonye Jack
23b35e63df Update README.md 2021-10-30 16:05:24 -04:00
Tonye Jack
12ed49be65 Update README.md 2021-10-30 16:04:52 -04:00
Tonye Jack
b54a7ae725 Updated README.md (#238)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-10-30 15:58:02 -04:00
Tonye Jack
71583c0a06 Support retrieving changed files between the last remote commit and the current HEAD for push events (#236)
* Update entrypoint.sh

* Update entrypoint.sh

* Update entrypoint.sh

* Update entrypoint.sh

* Update entrypoint.sh

* Update entrypoint.sh

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update entrypoint.sh

* Update entrypoint.sh

* Update entrypoint.sh

* Update entrypoint.sh

* Create new.yml

* Empty commit

* Empty commit 2

* Empty commit 3

* Updated the use the last remote commit

* Update entrypoint.sh

* Update README.md

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-30 15:55:58 -04:00
Tonye Jack
e11c6b4fe2 Revert "Update base_sha to use the last commit on the current branch for push event (#235)" (#237)
This reverts commit d924fccc1e.
2021-10-27 19:59:37 -04:00
Tonye Jack
d924fccc1e Update base_sha to use the last commit on the current branch for push event (#235)
* Update base_sha to use the last commit on the current branch for push events

Resolves: #234

* Update entrypoint.sh

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-10-27 17:28:58 -04:00
Tonye Jack
9e2f491e3f Upgraded from v11.2 -> v11.3 (#233)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-10-27 07:46:55 -04:00
Tonye Jack
902e607379 [Security]: Prevent persisting the remote when there are errors (#232) 2021-10-27 07:30:47 -04:00
Tonye Jack
29558f2ca4 Upgraded from v11.1 -> v11.2 (#231)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-10-26 12:23:05 -04:00
Tonye Jack
2b51570d5f Resolved bug with already existing remote (#230)
* Resolved bug with already existing remote

* Added the --exit-code option

* Added debug lines

* Update entrypoint.sh

* Update entrypoint.sh
2021-10-26 10:16:42 -04:00
Tonye Jack
227fb65ec9 Revert "Resolved bug with already existing remote (#228)" (#229)
This reverts commit 3b3a421bef.
2021-10-26 09:41:27 -04:00
Tonye Jack
3b3a421bef Resolved bug with already existing remote (#228) 2021-10-26 09:39:24 -04:00
Tonye Jack
5de15f855c Upgraded from v11 -> v11.1 (#226)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-10-26 04:51:01 -04:00
Tonye Jack
040111b367 Disable pulling tags (#225)
Fixes: #220
2021-10-25 16:02:53 -04:00
Tonye Jack
104afac892 Updated README.md (#223)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-10-23 12:03:11 -04:00
Tonye Jack
b6f4c3cf16 Update README.md 2021-10-23 11:38:14 -04:00
Tonye Jack
ac426cd439 Upgraded from v10.1 -> v11 (#222)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-10-23 10:07:37 -04:00
Tonye Jack
3ee41f13e6 Updated README.md (#221)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-10-23 09:49:52 -04:00
Tonye Jack
6213a65ebe Update README.md 2021-10-23 09:44:50 -04:00
Tonye Jack
576ad18ead Update README.md 2021-10-23 09:41:29 -04:00
Tonye Jack
4e6de625a6 Fixed bug with separator for filenames that contain spaces (#218)
* Fixed bug with separator for filenames that contain spaces

* Updated to use printf

* Updated entrypoint.sh

* Updated internal field separator.

* Updated entrypoint.sh

* Updated entrypoint.sh

* Update test new.txt

* Added debug line.

* Updated script to support spaces.

* Updated script to support spaces.

* Updated script to support spaces.

* Removed unused non 0 exit

* Fixed error with space conversion
2021-10-23 09:29:28 -04:00
Tonye Jack
d6475671fe Updated .github/ISSUE_TEMPLATE/feature_request.yaml 2021-10-22 12:16:18 -04:00
Tonye Jack
4645f6c955 Updated .github/ISSUE_TEMPLATE/bug_report.yaml 2021-10-22 12:14:28 -04:00
Tonye Jack
0b9d12b01a Miscellaneous code cleanup (#219)
* Miscellaneous code cleanup

* Update action.yml
2021-10-21 12:00:00 -04:00
Tonye Jack
4aa85cfb22 Updated README.md (#215)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-10-17 22:05:32 -04:00
dependabot[bot]
1d307bb4de Bump tj-actions/sync-release-version from 8.7 to 9
Bumps [tj-actions/sync-release-version](https://github.com/tj-actions/sync-release-version) from 8.7 to 9.
- [Release notes](https://github.com/tj-actions/sync-release-version/releases)
- [Changelog](https://github.com/tj-actions/sync-release-version/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/sync-release-version/compare/v8.7...v9)

---
updated-dependencies:
- dependency-name: tj-actions/sync-release-version
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-17 21:27:40 -04:00
allcontributors[bot]
5bb1b050f3 docs: add eltociear as a contributor for doc (#213)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
Co-authored-by: Tonye Jack <jtonye@ymail.com>
2021-10-17 13:15:06 -04:00
Ikko Ashimine
724314caa1 Update README.md (#212)
Github -> GitHub
2021-10-17 13:14:33 -04:00
Tonye Jack
be5a16dacc Update README.md 2021-10-16 13:47:30 -04:00
Tonye Jack
fb30d37bcb Updated renovate.json 2021-10-15 20:30:21 -04:00
Tonye Jack
9f3e75368c Updated renovate.json 2021-10-15 20:28:37 -04:00
Renovate Bot
66115b7173 Update actions/checkout action to v2.3.5 2021-10-15 13:39:31 -04:00
Tonye Jack
4f72533e45 Fixed error with test (#211) 2021-10-15 13:36:09 -04:00
Tonye Jack
33a99b6c97 Update README.md 2021-10-15 04:23:23 -04:00
Tonye Jack
e1796d73e4 Update README.md 2021-10-14 21:03:37 -04:00
Tonye Jack
3e1f47b193 Update README.md 2021-10-14 20:55:27 -04:00
Tonye Jack
3451eadc87 Updated usage of for loop accessing array items. (#209) 2021-10-12 09:47:12 -04:00
Tonye Jack
520368d3a1 Updated README.md (#207)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-10-12 09:18:39 -04:00
Tonye Jack
3d6d917b49 Upgraded from v10 -> v10.1 (#206)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-10-12 09:17:14 -04:00
allcontributors[bot]
1d34e69895 docs: add talva-tr as a contributor for code (#205)
* docs: update README.md [skip ci]

* docs: update .all-contributorsrc [skip ci]

Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
2021-10-12 07:59:10 -04:00
talva-tr
d0d71572ef Update entrypoint.sh (#204)
update.sh: fatal: Refusing to fetch into current branch refs/heads/master of non-bare repository error fix

Co-authored-by: Tonye Jack <jtonye@ymail.com>
2021-10-12 07:56:12 -04:00
Tonye Jack
69451b63b8 Update README.md 2021-10-11 12:31:51 -04:00
Renovate Bot
4cef38cbce Update tj-actions/verify-changed-files action to v8 2021-10-04 20:41:15 -04:00
Tonye Jack
f1be45b9ab Upgraded from v1.1.3 -> v10 (#202)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-10-04 16:03:39 -04:00
Tonye Jack
b86b537e2b Update README.md 2021-10-03 09:09:58 -04:00
Tonye Jack
5cb4d14be7 Update README.md 2021-10-03 09:09:30 -04:00
Tonye Jack
7bae8cf0e8 Update README.md 2021-09-29 12:15:56 -04:00
Tonye Jack
02612a5e97 Update README.md 2021-09-29 08:43:54 -04:00
Tonye Jack
98b231f5af Update README.md 2021-09-28 19:33:00 -04:00
Tonye Jack
8a129181d9 Update README.md (#201)
Fixes #200
2021-09-27 22:12:45 -04:00
Tonye Jack
4787cce9c3 Upgraded from v1.1.2 -> v1.1.3 (#199)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-09-26 02:40:13 -04:00
Tonye Jack
8e7cc77ab9 Fixed bug setting the server URL for github enterprise server (#198)
* Update action.yml

* Update entrypoint.sh

* Update entrypoint.sh

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2021-09-26 02:32:59 -04:00
Tonye Jack
5a6b6bb1c3 Update test.yml 2021-09-26 02:32:37 -04:00
Renovate Bot
1f37ab54c8 Update reviewdog/action-shellcheck action to v1.9 2021-09-25 05:33:38 -04:00
Tonye Jack
6757c5e650 Update README.md 2021-09-19 20:47:25 -04:00
Tonye Jack
be5c441f0d Update README.md 2021-09-19 20:45:52 -04:00
Tonye Jack
343bc3cc2f Update README.md 2021-09-19 20:45:21 -04:00
Tonye Jack
1a59b03b8b Updated test (#195) 2021-09-19 20:44:31 -04:00
Tonye Jack
1ac83f052b Updated README.md (#194)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-09-19 20:41:05 -04:00
Tonye Jack
3b5a8e6656 Update README.md 2021-09-19 19:58:07 -04:00
dependabot[bot]
223c35895d Bump tj-actions/branch-names from 4.9 to 5 (#193)
Bumps [tj-actions/branch-names](https://github.com/tj-actions/branch-names) from 4.9 to 5.
- [Release notes](https://github.com/tj-actions/branch-names/releases)
- [Changelog](https://github.com/tj-actions/branch-names/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/branch-names/compare/v4.9...v5)

---
updated-dependencies:
- dependency-name: tj-actions/branch-names
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-09-14 21:08:57 -04:00
Tonye Jack
13c082a4b3 Updated README.md (#192)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-09-08 13:56:33 -04:00
Tonye Jack
966bf442ea Update README.md 2021-09-08 13:20:02 -04:00
Tonye Jack
32f883f2c8 Update README.md 2021-09-06 11:09:47 -04:00
jackton12
61622b6c0a Updated README.md 2021-09-05 19:36:22 -04:00
jackton12
4ed079e554 Updated README.md 2021-09-05 19:35:44 -04:00
Tonye Jack
d18cfbea8d Upgraded from v1.1.1 -> v1.1.2 (#190)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2021-09-05 15:32:05 -04:00
14 changed files with 371 additions and 147 deletions

View File

@@ -42,6 +42,24 @@
"code",
"doc"
]
},
{
"login": "talva-tr",
"name": "talva-tr",
"avatar_url": "https://avatars.githubusercontent.com/u/82046981?v=4",
"profile": "https://github.com/talva-tr",
"contributions": [
"code"
]
},
{
"login": "eltociear",
"name": "Ikko Ashimine",
"avatar_url": "https://avatars.githubusercontent.com/u/22633385?v=4",
"profile": "https://bandism.net/",
"contributions": [
"doc"
]
}
],
"contributorsPerLine": 7,

View File

@@ -15,6 +15,13 @@ body:
options:
- label: I have searched the existing issues
required: true
- type: checkboxes
attributes:
label: Does this issue exist in the latest version?
description: Please view all releases to confirm that this issue hasn't already been fixed.
options:
- label: I'm using the latest release
required: true
- type: textarea
id: what-happened
attributes:

View File

@@ -8,6 +8,13 @@ body:
attributes:
value: |
Thanks for taking the time to fill out this feature request!
- type: checkboxes
attributes:
label: Is this feature missing in the latest version?
description: Please upgrade to the latest version to verify that this feature is still missing.
options:
- label: I'm using the latest release
required: true
- type: textarea
id: what-happened
attributes:

View File

@@ -8,7 +8,7 @@ jobs:
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4
- uses: actions/checkout@v2.3.5
with:
token: ${{ secrets.PAT_TOKEN }}
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo

View File

@@ -8,11 +8,11 @@ jobs:
update-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4
- uses: actions/checkout@v2.3.5
with:
fetch-depth: 0
- name: Sync release version.
uses: tj-actions/sync-release-version@v8.7
uses: tj-actions/sync-release-version@v9
id: sync-release-version
with:
pattern: '${{ github.repository }}@'

View File

@@ -18,7 +18,7 @@ jobs:
- name: Checkout to branch
uses: actions/checkout@v2
- name: shellcheck
uses: reviewdog/action-shellcheck@v1.7
uses: reviewdog/action-shellcheck@v1.9
test-multiple-repositories:
name: Test with multiple repositories
@@ -26,7 +26,7 @@ jobs:
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, windows-latest, macos-latest]
platform: [ubuntu-latest, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022, windows-2016]
steps:
- name: Checkout into dir1
uses: actions/checkout@v2
@@ -45,7 +45,7 @@ jobs:
bash
- name: List all modified files
run: |
for file in "${{ steps.changed-files-dir1.outputs.modified_files }}"; do
for file in ${{ steps.changed-files-dir1.outputs.modified_files }}; do
echo "$file"
done
shell:
@@ -67,7 +67,7 @@ jobs:
bash
- name: List all modified files
run: |
for file in "${{ steps.changed-files-dir2.outputs.modified_files }}"; do
for file in ${{ steps.changed-files-dir2.outputs.modified_files }}; do
echo "$file"
done
shell:
@@ -79,7 +79,7 @@ jobs:
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, windows-latest, macos-latest]
platform: [ubuntu-latest, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022, windows-2016]
steps:
- name: Checkout to branch
@@ -102,7 +102,7 @@ jobs:
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, windows-latest, macos-latest]
platform: [ubuntu-latest, windows-latest, macos-latest, macos-11, ubuntu-18.04, windows-2022, windows-2016]
steps:
- name: Checkout
@@ -119,7 +119,7 @@ jobs:
bash
- name: List all modified files
run: |
for file in "${{ steps.changed-files.outputs.modified_files }}"; do
for file in ${{ steps.changed-files.outputs.modified_files }}; do
echo $file
done
shell:
@@ -312,7 +312,12 @@ jobs:
files: |
.github/workflows/rebase.yml
- name: Verify any_changed from source files
if: "!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'action.yml') && !contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/test.yml')"
if: |
(
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, 'action.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/test.yml') &&
!contains(steps.changed-files-specific-source-file.outputs.all_modified_files, '.github/workflows/rebase.yml')
)
run: |
if [[ "${{ steps.changed-files-specific-source-file.outputs.any_changed }}" != "false" ]]; then
echo "Invalid output: Expected (false) got (${{ steps.changed-files-specific-source-file.outputs.any_changed }})"
@@ -376,13 +381,23 @@ jobs:
bash
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v4.9
uses: tj-actions/branch-names@v5
- uses: nrwl/last-successful-commit-action@v1
id: last_successful_commit
with:
branch: ${{ steps.branch-name.outputs.base_ref_branch }}
workflow_id: 'test.yml'
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Run changed-files with since_last_remote_commit set to true
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 a custom base sha
id: changed-files-custom-base-sha
uses: ./

View File

@@ -9,7 +9,7 @@ jobs:
sync-assets:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4
- uses: actions/checkout@v2.3.5
with:
fetch-depth: 0
@@ -17,7 +17,7 @@ jobs:
uses: tj-actions/remark@v1.7
- name: Verify Changed files
uses: tj-actions/verify-changed-files@v7
uses: tj-actions/verify-changed-files@v8
id: verify_changed_files
with:
files: |

View File

@@ -1,5 +1,138 @@
# Changelog
## [v11.4](https://github.com/tj-actions/changed-files/tree/v11.4) (2021-10-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.3...v11.4)
**Implemented enhancements:**
- \[Feature\] Get changed files in all commits in push [\#234](https://github.com/tj-actions/changed-files/issues/234)
**Merged pull requests:**
- Updated README.md [\#238](https://github.com/tj-actions/changed-files/pull/238) ([jackton1](https://github.com/jackton1))
- Revert "Update base\_sha to use the last commit on the current branch for push event" [\#237](https://github.com/tj-actions/changed-files/pull/237) ([jackton1](https://github.com/jackton1))
- Support retrieving changed files between the last remote commit and the current HEAD for push events [\#236](https://github.com/tj-actions/changed-files/pull/236) ([jackton1](https://github.com/jackton1))
- Update base\_sha to use the last commit on the current branch for push event [\#235](https://github.com/tj-actions/changed-files/pull/235) ([jackton1](https://github.com/jackton1))
- Upgraded to v11.3 [\#233](https://github.com/tj-actions/changed-files/pull/233) ([jackton1](https://github.com/jackton1))
## [v11.3](https://github.com/tj-actions/changed-files/tree/v11.3) (2021-10-27)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.2...v11.3)
**Fixed bugs:**
- \[BUG\] Changed files not working on self hosted runners [\#227](https://github.com/tj-actions/changed-files/issues/227)
**Merged pull requests:**
- \[Security\]: Prevent persisting the remote when there are errors [\#232](https://github.com/tj-actions/changed-files/pull/232) ([jackton1](https://github.com/jackton1))
- Upgraded to v11.2 [\#231](https://github.com/tj-actions/changed-files/pull/231) ([jackton1](https://github.com/jackton1))
## [v11.2](https://github.com/tj-actions/changed-files/tree/v11.2) (2021-10-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.1...v11.2)
**Implemented enhancements:**
- \[Feature\] fetch HEAD without tags [\#220](https://github.com/tj-actions/changed-files/issues/220)
**Merged pull requests:**
- Resolved bug with already existing remote [\#230](https://github.com/tj-actions/changed-files/pull/230) ([jackton1](https://github.com/jackton1))
- Revert "bug/fix error with already existing remote" [\#229](https://github.com/tj-actions/changed-files/pull/229) ([jackton1](https://github.com/jackton1))
- bug/fix error with already existing remote [\#228](https://github.com/tj-actions/changed-files/pull/228) ([jackton1](https://github.com/jackton1))
- Upgraded to v11.1 [\#226](https://github.com/tj-actions/changed-files/pull/226) ([jackton1](https://github.com/jackton1))
## [v11.1](https://github.com/tj-actions/changed-files/tree/v11.1) (2021-10-25)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11...v11.1)
**Closed issues:**
- \[BUG\] not able to find only python files [\#224](https://github.com/tj-actions/changed-files/issues/224)
**Merged pull requests:**
- Disable automatic tag following [\#225](https://github.com/tj-actions/changed-files/pull/225) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#223](https://github.com/tj-actions/changed-files/pull/223) ([jackton1](https://github.com/jackton1))
- Upgraded to v11 [\#222](https://github.com/tj-actions/changed-files/pull/222) ([jackton1](https://github.com/jackton1))
## [v11](https://github.com/tj-actions/changed-files/tree/v11) (2021-10-23)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v10.1...v11)
**Fixed bugs:**
- \[BUG\] Spaces in file names are not handled correctly [\#216](https://github.com/tj-actions/changed-files/issues/216)
- \[BUG\] Usage of quotes around array items [\#208](https://github.com/tj-actions/changed-files/issues/208)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:**
- Updated README.md [\#221](https://github.com/tj-actions/changed-files/pull/221) ([jackton1](https://github.com/jackton1))
- Miscellaneous code cleanup [\#219](https://github.com/tj-actions/changed-files/pull/219) ([jackton1](https://github.com/jackton1))
- Fixed bug with separator for filenames that contain spaces [\#218](https://github.com/tj-actions/changed-files/pull/218) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#215](https://github.com/tj-actions/changed-files/pull/215) ([jackton1](https://github.com/jackton1))
- Bump tj-actions/sync-release-version from 8.7 to 9 [\#214](https://github.com/tj-actions/changed-files/pull/214) ([dependabot[bot]](https://github.com/apps/dependabot))
- docs: add eltociear as a contributor for doc [\#213](https://github.com/tj-actions/changed-files/pull/213) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- Update README.md [\#212](https://github.com/tj-actions/changed-files/pull/212) ([eltociear](https://github.com/eltociear))
- Fixed error with test [\#211](https://github.com/tj-actions/changed-files/pull/211) ([jackton1](https://github.com/jackton1))
- Update actions/checkout action to v2.3.5 [\#210](https://github.com/tj-actions/changed-files/pull/210) ([renovate[bot]](https://github.com/apps/renovate))
- Updated usage of quotes around array items. [\#209](https://github.com/tj-actions/changed-files/pull/209) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#207](https://github.com/tj-actions/changed-files/pull/207) ([jackton1](https://github.com/jackton1))
- Upgraded to v10.1 [\#206](https://github.com/tj-actions/changed-files/pull/206) ([jackton1](https://github.com/jackton1))
## [v10.1](https://github.com/tj-actions/changed-files/tree/v10.1) (2021-10-12)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v10...v10.1)
**Merged pull requests:**
- docs: add talva-tr as a contributor for code [\#205](https://github.com/tj-actions/changed-files/pull/205) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- Add support for updating the current HEAD [\#204](https://github.com/tj-actions/changed-files/pull/204) ([talva-tr](https://github.com/talva-tr))
- Update tj-actions/verify-changed-files action to v8 [\#203](https://github.com/tj-actions/changed-files/pull/203) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v10 [\#202](https://github.com/tj-actions/changed-files/pull/202) ([jackton1](https://github.com/jackton1))
## [v10](https://github.com/tj-actions/changed-files/tree/v10) (2021-10-03)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.1.3...v10)
**Fixed bugs:**
- \[BUG\] Glob vs regex in readme and execution when using \* in with: files: [\#200](https://github.com/tj-actions/changed-files/issues/200)
- \[BUG\] in entrypoint is referring to gihub.com repository [\#196](https://github.com/tj-actions/changed-files/issues/196)
**Merged pull requests:**
- Update README.md [\#201](https://github.com/tj-actions/changed-files/pull/201) ([jackton1](https://github.com/jackton1))
- Upgraded to v1.1.3 [\#199](https://github.com/tj-actions/changed-files/pull/199) ([jackton1](https://github.com/jackton1))
## [v1.1.3](https://github.com/tj-actions/changed-files/tree/v1.1.3) (2021-09-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.1.2...v1.1.3)
**Merged pull requests:**
- Fixed bug setting the server URL for github enterprise server [\#198](https://github.com/tj-actions/changed-files/pull/198) ([jackton1](https://github.com/jackton1))
- Update reviewdog/action-shellcheck action to v1.9 [\#197](https://github.com/tj-actions/changed-files/pull/197) ([renovate[bot]](https://github.com/apps/renovate))
- Updated test [\#195](https://github.com/tj-actions/changed-files/pull/195) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#194](https://github.com/tj-actions/changed-files/pull/194) ([jackton1](https://github.com/jackton1))
- Bump tj-actions/branch-names from 4.9 to 5 [\#193](https://github.com/tj-actions/changed-files/pull/193) ([dependabot[bot]](https://github.com/apps/dependabot))
- Updated README.md [\#192](https://github.com/tj-actions/changed-files/pull/192) ([jackton1](https://github.com/jackton1))
- Upgraded to v1.1.2 [\#190](https://github.com/tj-actions/changed-files/pull/190) ([jackton1](https://github.com/jackton1))
## [v1.1.2](https://github.com/tj-actions/changed-files/tree/v1.1.2) (2021-09-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.1.1...v1.1.2)
**Merged pull requests:**
- Upgraded to v1.1.1 [\#189](https://github.com/tj-actions/changed-files/pull/189) ([jackton1](https://github.com/jackton1))
## [v1.1.1](https://github.com/tj-actions/changed-files/tree/v1.1.1) (2021-09-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.1.0...v1.1.1)
@@ -24,10 +157,6 @@
- \[Feature\] Specify sed delimiter or escaping forward slashes used in separator [\#180](https://github.com/tj-actions/changed-files/issues/180)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:**
- Update pascalgn/automerge-action action to v0.14.3 [\#184](https://github.com/tj-actions/changed-files/pull/184) ([renovate[bot]](https://github.com/apps/renovate))

123
README.md
View File

@@ -1,8 +1,12 @@
[![CI](https://github.com/tj-actions/changed-files/actions/workflows/test.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/test.yml) [![Update release version.](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/a3822d6c37f644bc99a5faa0bfb9c2c1)](https://www.codacy.com/gh/tj-actions/changed-files/dashboard?utm_source=github.com\&utm_medium=referral\&utm_content=tj-actions/changed-files\&utm_campaign=Badge_Grade) [![Public workflows that use this action.](https://img.shields.io/endpoint?url=https%3A%2F%2Fapi-tj-actions1.vercel.app%2Fapi%2Fgithub-actions%2Fused-by%3Faction%3Dtj-actions%2Fchanged-files%26badge%3Dtrue)](https://github.com/search?o=desc\&q=tj-actions+changed-files+language%3AYAML\&s=\&type=Code)
[![Ubuntu](https://img.shields.io/badge/Ubuntu-E95420?logo=ubuntu\&logoColor=white)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
[![Mac OS](https://img.shields.io/badge/mac%20os-000000?logo=macos\&logoColor=F0F0F0)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
[![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows\&logoColor=white)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg?style=flat-square)](#contributors-)
[![All Contributors](https://img.shields.io/badge/all_contributors-6-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
@@ -12,9 +16,13 @@ Retrieve all changed files relative to the default branch (`pull_request*` based
## Features
* Fast execution (0-2 seconds on average).
* Easy to debug.
* Boolean output indicating that certain files have been modified.
* Multiple repository support.
* Multiple repositories.
* Self hosted runners.
* GitHub Enterprise Server.
* Supports all platforms.
* List all files that have changed.
* Between the current pull request branch and the default branch.
* Between the last commit and the current pushed change.
@@ -22,12 +30,6 @@ Retrieve all changed files relative to the default branch (`pull_request*` based
* Report on files that have at least one change.
* [Regex pattern](https://www.gnu.org/software/grep/manual/grep.html#Regular-Expressions) matching on a subset of files.
## Supported Platforms
* [`ubuntu-*`](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
* [`macos-*`](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
* [`windows-*`](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
## Usage
> NOTE: :warning:
@@ -57,11 +59,11 @@ jobs:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v1.1.1
uses: tj-actions/changed-files@v11.4
- name: List all modified files
run: |
for file in "${{ steps.changed-files.outputs.all_modified_files }}"; do
for file in ${{ steps.changed-files.outputs.all_modified_files }}; do
echo "$file was modified"
done
```
@@ -81,33 +83,35 @@ jobs:
| Output | type | example | description |
|:--------------------:|:------------:|:----------------------------------:|:----------------------------------------:|
| any_changed | `string` | `true` OR `false` | Returns `true` when any <br /> of the filenames provided using <br /> the `files` input has changed. <br /> i.e. *using a combination of all added, <br />copied, modified and renamed files (ACMR).* |
| only_changed | `string` | `true` OR `false` | Returns `true` when only <br /> files provided using <br /> the `files` input have changed. |
| any_deleted | `string` | `true` OR `false` | Returns `true` when any <br /> of the filenames provided using <br /> the `files` input has been deleted. |
| only_deleted | `string` | `true` OR `false` | Returns `true` when only <br /> files provided using <br /> the `files` input has been deleted. |
| other_changed_files | `string` | `'new.txt path/to/file.png ...'` | Select all other changed files <br/> not listed in the files input <br /> i.e. *a combination of all added, <br /> copied and modified files (ACMR).* |
| all_modified_files | `string` | `'new.txt path/to/file.png ...'` | Select all modified files <br /> i.e. *a combination of all added, <br />copied, modified and renamed files (ACMR).* |
| all_changed_and_modified_files | `string` | `'new.txt path/to/file.png ...'` | Select all changed <br /> and modified files <br /> i.e. *a combination of (ACMRDTUX).* |
| added_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Added (A) |
| copied_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Copied (C) |
| deleted_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Deleted (D) |
| modified_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Modified (M) |
| renamed_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Renamed (R) |
| type_changed_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that have their file type changed (T) |
| unmerged_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Unmerged (U) |
| unknown_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Unknown (X) |
| any\_changed | `string` | `true` OR `false` | Returns `true` when any <br /> of the filenames provided using <br /> the `files` input has changed. <br /> i.e. *using a combination of all added, <br />copied, modified and renamed files (ACMR)* |
| only\_changed | `string` | `true` OR `false` | Returns `true` when only <br /> files provided using <br /> the `files` input have changed. (ACMR) |
| other\_changed\_files | `string` | `'new.txt path/to/file.png ...'` | Select all other changed files <br/> not listed in the files input <br /> i.e. *a combination of all added, <br /> copied and modified files (ACMR)* |
| any\_deleted | `string` | `true` OR `false` | Returns `true` when any <br /> of the filenames provided using <br /> the `files` input has been deleted. (D) |
| only\_deleted | `string` | `true` OR `false` | Returns `true` when only <br /> files provided using <br /> the `files` input has been deleted. (D) |
| other\_deleted\_files | `string` | `'new.txt path/to/file.png ...'` | Select all other deleted files <br/> not listed in the files input <br /> i.e. *a combination of all deleted files (D)* |
| all\_modified\_files | `string` | `'new.txt path/to/file.png ...'` | Select all modified files <br /> i.e. *a combination of all added, <br />copied, modified and renamed files (ACMR)* |
| all\_changed\_and\_modified\_files | `string` | `'new.txt path/to/file.png ...'` | Select all changed <br /> and modified files <br /> i.e. *a combination of (ACMRDTUX)* |
| added\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Added (A) |
| copied\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Copied (C) |
| deleted\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Deleted (D) |
| modified\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Modified (M) |
| renamed\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Renamed (R) |
| type\_changed\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that have their file type changed (T) |
| unmerged\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Unmerged (U) |
| unknown\_files | `string` | `'new.txt path/to/file.png ...'` | Select only files that are Unknown (X) |
## Inputs
| Input | type | required | default | description |
|:-------------:|:-----------:|:-------------:|:-----------------------------:|:-------------:|
| token | `string` | `false` | `${{ github.token }}` | [GITHUB_TOKEN](https://docs.github.com/en/free-pro-team@latest/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow) <br /> or a repo scoped <br /> [Personal Access Token](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token) |
| token | `string` | `false` | `${{ github.token }}` | [GITHUB\_TOKEN](https://docs.github.com/en/free-pro-team@latest/actions/reference/authentication-in-a-workflow#using-the-github_token-in-a-workflow) <br /> or a repo scoped <br /> [Personal Access Token](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token) |
| separator | `string` | `true` | `' '` | Output string separator |
| files | `string` OR `string[]` | `false` | | Check for changes <br> using only these <br> list of file(s) <br> (Defaults to the <br> entire repo) |
| base_sha | `string` | `false` | | Specify a different <br> base commit SHA <br> used for <br> comparing changes |
| base\_sha | `string` | `false` | | Specify a different <br> base commit SHA <br> used for <br> comparing changes |
| sha | `string` | `true` | `${{ github.sha }}` | Specify a different <br> commit SHA <br> used for <br> comparing changes |
| files_from_source_file | `string` | `false` | | Source file <br> used to populate <br> the files input |
| files\_from\_source\_file | `string` | `false` | | Source file <br> used to populate <br> the files input |
| path | `string` | `false` | | Relative path under <br> `GITHUB_WORKSPACE` <br> to the repository |
| since\_last\_remote\_commit | `string` | `false` | `false` | Use the last commit on the remote <br> branch as the `base_sha` for push event.<br> (Defaults to the previous commit). |
## Example
@@ -118,42 +122,42 @@ jobs:
- name: Get changed files using defaults
id: changed-files
uses: tj-actions/changed-files@v1.1.1
uses: tj-actions/changed-files@v11.4
- name: Get changed files using a comma separator
id: changed-files-comma
uses: tj-actions/changed-files@v1.1.1
uses: tj-actions/changed-files@v11.4
with:
separator: ","
- name: List all added files
run: |
for file in "${{ steps.changed-files.outputs.added_files }}"; do
for file in ${{ steps.changed-files.outputs.added_files }}; do
echo "$file was added"
done
- name: Run step when a file changes
if: contains(steps.changed-files.outputs.modified_files, 'my-file.txt')
run: |
echo "Your file my-file.txt has been modified."
echo "Your my-file.txt file has been modified."
- name: Run step when a file has been deleted
if: contains(steps.changed-files.outputs.deleted_files, 'test.txt')
run: |
echo "Your test.txt has been deleted."
echo "Your test.txt file has been deleted."
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v1.1.1
uses: tj-actions/changed-files@v11.4
with:
files: |
my-file.txt
test.txt
new.txt
test_directory
*.sh
\.sh$
.(png|jpeg)$
.(sql)$
.(sql|py)$
^(mynewfile|custom)
- name: Run step if any of the listed files above change
@@ -169,42 +173,42 @@ jobs:
- name: Run step if any of the listed files above is deleted
if: steps.changed-files.outputs.any_deleted == "true"
run: |
for file in "${{ steps.changed-files.outputs.deleted_files }}"; do
for file in ${{ steps.changed-files.outputs.deleted_files }}; do
echo "$file was deleted"
done
- name: Run step if all listed files above have been deleted
if: steps.changed-files.outputs.only_deleted == "true"
run: |
for file in "${{ steps.changed-files.outputs.deleted_files }}"; do
for file in ${{ steps.changed-files.outputs.deleted_files }}; do
echo "$file was deleted"
done
- name: Use a source file or list of file(s) to populate to files input.
id: changed-files-specific-source-file
uses: tj-actions/changed-files@v1.1.1
uses: tj-actions/changed-files@v11.4
with:
files_from_source_file: |
test/changed-files-list.txt
- name: Use a source file or list of file(s) to populate to files input and optionally specify more files.
id: changed-files-specific-source-file-and-specify-files
uses: tj-actions/changed-files@v1.1.1
uses: tj-actions/changed-files@v11.4
with:
files_from_source_file: |
test/changed-files-list.txt
files: |
.github/workflows/rebase.yml
test.txt
- name: Use a different commit SHA
id: changed-files-custom-sha
uses: tj-actions/changed-files@v1.1.1
uses: tj-actions/changed-files@v11.4
with:
sha: ${{ github.event.pull_request.head.sha }}
- name: Use a different base SHA
id: changed-files-custom-base-sha
uses: tj-actions/changed-files@v1.1.1
uses: tj-actions/changed-files@v11.4
with:
base_sha: "2096ed0"
@@ -212,13 +216,26 @@ jobs:
uses: actions/checkout@v2
with:
fetch-depth: 0
path: subfolder
path: dir1
- name: Run changed-files with defaults on the dir1
id: changed-files-for-subfolder
uses: tj-actions/changed-files@v1.1.1
id: changed-files-for-dir1
uses: tj-actions/changed-files@v11.4
with:
path: subfolder
path: dir1
- name: List all added files in dir1
run: |
for file in ${{ steps.changed-files-for-dir1.outputs.added_files }}; do
echo "$file was added"
done
- name: Run changed-files with since_last_remote_commit set to true
id: changed-files-since-last-remote-commit
uses: tj-actions/changed-files@v11.4
with:
since_last_remote_commit: 'true'
```
### Running [pre-commit](https://pre-commit.com/) on all modified files
@@ -232,7 +249,7 @@ jobs:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v1.1.1
uses: tj-actions/changed-files@v11.4
- name: Pre-commit
uses: pre-commit/action@v2.0.0
@@ -253,6 +270,14 @@ Support me with a :star:
[![Buy me a coffee][buymeacoffee-shield]][buymeacoffee]
## Known Limitation
> NOTE: :warning:
>
> * Spaces in file names can introduce bugs when using bash loops. See: [Issue #216](https://github.com/tj-actions/changed-files/issues/216)
> * 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)
## Credits
This package was created with [Cookiecutter](https://github.com/cookiecutter/cookiecutter).
@@ -283,6 +308,8 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<td align="center"><a href="https://github.com/monoxgas"><img src="https://avatars.githubusercontent.com/u/1223016?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nick Landers</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=monoxgas" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Kras4ooo"><img src="https://avatars.githubusercontent.com/u/1948054?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Krasimir Nikolov</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=Kras4ooo" title="Code">💻</a> <a href="https://github.com/tj-actions/changed-files/commits?author=Kras4ooo" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/IvanPizhenko"><img src="https://avatars.githubusercontent.com/u/11859904?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ivan Pizhenko</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=IvanPizhenko" title="Code">💻</a> <a href="https://github.com/tj-actions/changed-files/commits?author=IvanPizhenko" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/talva-tr"><img src="https://avatars.githubusercontent.com/u/82046981?v=4?s=100" width="100px;" alt=""/><br /><sub><b>talva-tr</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=talva-tr" title="Code">💻</a></td>
<td align="center"><a href="https://bandism.net/"><img src="https://avatars.githubusercontent.com/u/22633385?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ikko Ashimine</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=eltociear" title="Documentation">📖</a></td>
</tr>
</table>

View File

@@ -1,6 +1,7 @@
name: Changed files
description: Get all changed files for push and pull request events.
author: tj-actions
inputs:
token:
description: 'Github token'
@@ -25,6 +26,10 @@ inputs:
base_sha:
description: 'Specify a base commit SHA on used for comparing changes'
required: false
since_last_remote_commit:
description: 'Use the last commit on the remote branch as the base_sha for push event.'
required: false
default: 'false'
path:
description: 'Specify a relative path under $GITHUB_WORKSPACE to locate the repository'
required: false
@@ -89,17 +94,26 @@ runs:
env:
INPUT_FILES: ${{ inputs.files }}
INPUT_FILES_FROM_SOURCE_FILE: ${{ inputs.files_from_source_file }}
- run: |
if [[ -n "${{ inputs.base_sha }}" ]]; then
echo "::set-output name=base_sha::${{ inputs.base_sha }}"
elif [[ "${{ inputs.since_last_remote_commit }}" == "true" && -z "${{ inputs.base_sha }}" ]]; then
echo "::set-output name=base_sha::${{ github.event.before }}"
fi
id: base-sha
shell: bash
- run: |
bash $GITHUB_ACTION_PATH/entrypoint.sh
id: changed-files
shell: bash
env:
GITHUB_BASE_REF: ${{ github.base_ref }}
GITHUB_SERVER_URL: ${{ github.server_url }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_BASE_REF: ${{ github.base_ref }}
# INPUT_<VARIABLE_NAME> is not available in Composite run steps
# https://github.community/t/input-variable-name-is-not-available-in-composite-run-steps/127611
INPUT_SHA: ${{ inputs.sha }}
INPUT_BASE_SHA: ${{ inputs.base_sha }}
INPUT_BASE_SHA: ${{ steps.base-sha.outputs.base_sha }}
INPUT_TOKEN: ${{ inputs.token }}
INPUT_FILES: ${{ steps.source-input-files.outputs.files }}
INPUT_SEPARATOR: ${{ inputs.separator }}

View File

@@ -15,39 +15,54 @@ if [[ -n $INPUT_PATH ]]; then
cd "$REPO_DIR"
fi
git remote add temp_changed_files "https://${INPUT_TOKEN}@github.com/${GITHUB_REPOSITORY}"
SERVER_URL=$(echo "$GITHUB_SERVER_URL" | awk -F/ '{print $3}')
echo "Setting up 'temp_changed_files' remote..."
git ls-remote --exit-code temp_changed_files 1>/dev/null 2>&1 && exit_status=$? || exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "No 'temp_changed_files' remote found"
echo "Creating 'temp_changed_files' remote..."
git remote add temp_changed_files "https://${INPUT_TOKEN}@${SERVER_URL}/${GITHUB_REPOSITORY}"
else
echo "Found 'temp_changed_files' remote"
fi
echo "Getting HEAD info..."
if [[ -z $INPUT_SHA ]]; then
CURRENT_SHA=$(git rev-parse HEAD 2>&1) && exit_status=$? || exit_status=$?
else
CURRENT_SHA=$INPUT_SHA
CURRENT_SHA=$INPUT_SHA && exit_status=$? || exit_status=$?
fi
if [[ $exit_status -ne 0 ]]; then
echo "::warning::Unable to determine the current head sha"
git remote remove temp_changed_files
exit 1
fi
if [[ -z $GITHUB_BASE_REF ]]; then
TARGET_BRANCH=${GITHUB_REF/refs\/heads\//}
CURRENT_BRANCH=$TARGET_BRANCH
if [[ -z $INPUT_BASE_SHA ]]; then
PREVIOUS_SHA=$(git rev-parse HEAD^1 2>&1) && exit_status=$? || exit_status=$?
else
PREVIOUS_SHA=$INPUT_BASE_SHA
PREVIOUS_SHA=$INPUT_BASE_SHA && exit_status=$? || exit_status=$?
fi
TARGET_BRANCH=${GITHUB_REF/refs\/heads\//}
CURRENT_BRANCH=$TARGET_BRANCH
if [[ $exit_status -ne 0 ]]; then
echo "::warning::Unable to determine the previous commit sha"
echo "::warning::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
git remote remove temp_changed_files
exit 1
fi
else
TARGET_BRANCH=$GITHUB_BASE_REF
CURRENT_BRANCH=$GITHUB_HEAD_REF
git fetch temp_changed_files "${TARGET_BRANCH}":"${TARGET_BRANCH}"
git fetch temp_changed_files --no-tags -u "${TARGET_BRANCH}":"${TARGET_BRANCH}"
if [[ -z $INPUT_BASE_SHA ]]; then
PREVIOUS_SHA=$(git rev-parse "${TARGET_BRANCH}" 2>&1) && exit_status=$? || exit_status=$?
else
@@ -56,6 +71,7 @@ else
if [[ $exit_status -ne 0 ]]; then
echo "::warning::Unable to determine the base ref sha for ${TARGET_BRANCH}"
git remote remove temp_changed_files
exit 1
fi
fi
@@ -73,103 +89,93 @@ if [[ -z "${INPUT_FILES[*]}" ]]; then
UNMERGED=$(git diff --diff-filter=U --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(git diff --diff-filter=X --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(git diff --diff-filter="*ACDMRTUX" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED_FILES=$(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
else
ADDED_ARRAY=()
COPIED_ARRAY=()
DELETED_ARRAY=()
MODIFIED_ARRAY=()
RENAMED_ARRAY=()
TYPE_CHANGED_ARRAY=()
UNMERGED_ARRAY=()
UNKNOWN_ARRAY=()
ALL_CHANGED_ARRAY=()
ALL_MODIFIED_FILES_ARRAY=()
echo "Input files: ${INPUT_FILES[*]}"
for path in ${INPUT_FILES}
do
echo "Checking for file changes: \"${path}\"..."
IFS=" "
# shellcheck disable=SC2207
ADDED_ARRAY+=($(git diff --diff-filter=A --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
COPIED_ARRAY+=($(git diff --diff-filter=C --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
DELETED_ARRAY+=($(git diff --diff-filter=D --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
MODIFIED_ARRAY+=($(git diff --diff-filter=M --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
RENAMED_ARRAY+=($(git diff --diff-filter=R --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
TYPE_CHANGED_ARRAY+=($(git diff --diff-filter=T --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
UNMERGED_ARRAY+=($(git diff --diff-filter=U --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
UNKNOWN_ARRAY+=($(git diff --diff-filter=X --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
ALL_CHANGED_ARRAY+=($(git diff --diff-filter="*ACDMRTUX" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
# shellcheck disable=SC2207
ALL_MODIFIED_FILES_ARRAY+=($(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${path})" | xargs -0 || true))
done
FILES=$(echo "${INPUT_FILES[*]}" | awk '{gsub(/ /,"\n"); print $0;}' | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ADDED=$(echo "${ADDED_ARRAY[*]}" | tr " " "\n" | sort -u | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
COPIED=$(echo "${COPIED_ARRAY[*]}" | tr " " "\n" | sort -u | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
DELETED=$(echo "${DELETED_ARRAY[*]}" | tr " " "\n" | sort -u | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
MODIFIED=$(echo "${MODIFIED_ARRAY[*]}" | tr " " "\n" | sort -u | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
RENAMED=$(echo "${RENAMED_ARRAY[*]}" | tr " " "\n" | sort -u | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
TYPE_CHANGED=$(echo "${TYPE_CHANGED_ARRAY[*]}" | tr " " "\n" | sort -u | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNMERGED=$(echo "${UNMERGED_ARRAY[*]}" | tr " " "\n" | sort -u | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(echo "${UNKNOWN_ARRAY[*]}" | tr " " "\n" | sort -u | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_ARRAY[*]}" | tr " " "\n" | sort -u | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED_FILES=$(echo "${ALL_MODIFIED_FILES_ARRAY[*]}" | tr " " "\n" | sort -u | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
echo "Checking for file changes: \"${FILES}\"..."
ADDED=$(git diff --diff-filter=A --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
COPIED=$(git diff --diff-filter=C --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
DELETED=$(git diff --diff-filter=D --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
MODIFIED=$(git diff --diff-filter=M --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
RENAMED=$(git diff --diff-filter=R --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
TYPE_CHANGED=$(git diff --diff-filter=T --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
UNMERGED=$(git diff --diff-filter=U --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(git diff --diff-filter=X --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(git diff --diff-filter="*ACDMRTUX" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | grep -E "(${FILES})" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_OTHER_MODIFIED_FILES=$(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA")
ALL_OTHER_MODIFIED=$(git diff --diff-filter="ACMR" --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
UNIQUE_ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | sort -u | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
IFS=" " read -r -a UNIQUE_ALL_MODIFIED_FILES_ARRAY <<< "$(echo "${ALL_MODIFIED_FILES_ARRAY[*]}" | tr " " "\n" | sort -u | tr "\n" " ")"
IFS=" " read -r -a OTHER_MODIFIED_FILES_ARRAY <<< "$(echo "${ALL_OTHER_MODIFIED_FILES[@]}" "${UNIQUE_ALL_MODIFIED_FILES_ARRAY[@]}" | tr " " "\n" | sort | uniq -u | tr "\n" " ")"
if [[ -n $ALL_OTHER_MODIFIED ]]; then
if [[ -n "$UNIQUE_ALL_MODIFIED" ]]; then
OTHER_MODIFIED=$(echo "${ALL_OTHER_MODIFIED}|${UNIQUE_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
fi
OTHER_MODIFIED_FILES=$(echo "${OTHER_MODIFIED_FILES_ARRAY[*]}" | tr " " "\n" | sort -u | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
echo "Matching modified files: ${UNIQUE_ALL_MODIFIED}"
echo "Matching modified files: ${UNIQUE_ALL_MODIFIED_FILES_ARRAY[*]}"
if [[ -n "${UNIQUE_ALL_MODIFIED_FILES_ARRAY[*]}" ]]; then
if [[ -n "${UNIQUE_ALL_MODIFIED}" ]]; then
echo "::set-output name=any_changed::true"
else
echo "::set-output name=any_changed::false"
fi
if [[ -n "${OTHER_MODIFIED_FILES_ARRAY[*]}" ]]; then
echo "Non Matching modified files: ${OTHER_MODIFIED_FILES_ARRAY[*]}"
OTHER_MODIFIED=$(echo "${OTHER_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
if [[ -n "${OTHER_MODIFIED}" ]]; then
echo "Non Matching modified files: ${OTHER_MODIFIED}"
echo "::set-output name=only_changed::false"
echo "::set-output name=other_changed_files::$OTHER_MODIFIED_FILES"
elif [[ -n "${UNIQUE_ALL_MODIFIED_FILES_ARRAY[*]}" ]]; then
echo "::set-output name=other_changed_files::$OTHER_MODIFIED"
elif [[ -n "${UNIQUE_ALL_MODIFIED}" ]]; then
echo "::set-output name=only_changed::true"
fi
OTHER_DELETED_FILES=$(git diff --diff-filter=D --name-only "$PREVIOUS_SHA" "$CURRENT_SHA")
ALL_OTHER_DELETED=$(git diff --diff-filter=D --name-only "$PREVIOUS_SHA" "$CURRENT_SHA" | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
UNIQUE_ALL_DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | sort -u | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
IFS=" " read -r -a UNIQUE_DELETED_FILES_ARRAY <<< "$(echo "${DELETED_ARRAY[*]}" | tr " " "\n" | sort -u | tr "\n" " ")"
IFS=" " read -r -a OTHER_DELETED_FILES_ARRAY <<< "$(echo "${OTHER_DELETED_FILES[@]}" "${UNIQUE_DELETED_FILES_ARRAY[@]}" | tr " " "\n" | sort | uniq -u | tr "\n" " ")"
if [[ -n $ALL_OTHER_DELETED ]]; then
if [[ -n "$UNIQUE_ALL_DELETED" ]]; then
OTHER_DELETED=$(echo "${ALL_OTHER_DELETED}|${UNIQUE_ALL_DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | sort | uniq -u | awk -v d="|" '{s=(NR==1?s:s d)$0}END{print s}')
else
OTHER_DELETED=$ALL_OTHER_DELETED
fi
fi
OTHER_DELETED_FILES=$(echo "${OTHER_DELETED_FILES_ARRAY[*]}" | tr " " "\n" | sort -u | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
echo "Matching deleted files: ${UNIQUE_ALL_DELETED}"
echo "Matching deleted files: ${UNIQUE_DELETED_FILES_ARRAY[*]}"
if [[ -n "${UNIQUE_DELETED_FILES_ARRAY[*]}" ]]; then
if [[ -n "${UNIQUE_ALL_DELETED}" ]]; then
echo "::set-output name=any_deleted::true"
else
echo "::set-output name=any_deleted::false"
fi
if [[ -n "${OTHER_DELETED_FILES_ARRAY[*]}" ]]; then
echo "Non Matching deleted files: ${OTHER_DELETED_FILES_ARRAY[*]}"
OTHER_DELETED=$(echo "${OTHER_DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
if [[ -n "${OTHER_DELETED}" ]]; then
echo "Non Matching deleted files: ${OTHER_DELETED}"
echo "::set-output name=only_deleted::false"
echo "::set-output name=other_deleted_files::$OTHER_DELETED_FILES"
elif [[ -n "${UNIQUE_DELETED_FILES_ARRAY[*]}" ]]; then
echo "::set-output name=other_deleted_files::$OTHER_DELETED"
elif [[ -n "${UNIQUE_ALL_DELETED}" ]]; then
echo "::set-output name=only_deleted::true"
fi
ADDED=$(echo "${ADDED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
COPIED=$(echo "${COPIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
DELETED=$(echo "${DELETED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
MODIFIED=$(echo "${MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
RENAMED=$(echo "${RENAMED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
TYPE_CHANGED=$(echo "${TYPE_CHANGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNMERGED=$(echo "${UNMERGED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
UNKNOWN=$(echo "${UNKNOWN}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_CHANGED_AND_MODIFIED=$(echo "${ALL_CHANGED_AND_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
ALL_MODIFIED=$(echo "${ALL_MODIFIED}" | awk '{gsub(/\|/,"\n"); print $0;}' | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')
fi
echo "Added files: $ADDED"
@@ -181,7 +187,7 @@ echo "Type Changed files: $TYPE_CHANGED"
echo "Unmerged files: $UNMERGED"
echo "Unknown files: $UNKNOWN"
echo "All changed files: $ALL_CHANGED_AND_MODIFIED"
echo "All modified files: $ALL_MODIFIED_FILES"
echo "All modified files: $ALL_MODIFIED"
git remote remove temp_changed_files
@@ -194,6 +200,6 @@ echo "::set-output name=type_changed_files::$TYPE_CHANGED"
echo "::set-output name=unmerged_files::$UNMERGED"
echo "::set-output name=unknown_files::$UNKNOWN"
echo "::set-output name=all_changed_and_modified_files::$ALL_CHANGED_AND_MODIFIED"
echo "::set-output name=all_modified_files::$ALL_MODIFIED_FILES"
echo "::set-output name=all_modified_files::$ALL_MODIFIED"
echo "::endgroup::"

View File

@@ -21,7 +21,7 @@
},
"packageRules": [
{
"matchUpdateTypes": ["major", "minor", "patch", "pin", "digest"],
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
"automerge": true,
"rebaseWhen": "behind-base-branch",
"addLabels": [
@@ -33,7 +33,7 @@
"matchLanguages": [
"docker"
],
"matchUpdateTypes": ["major", "minor", "patch", "pin", "digest"],
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
"rebaseWhen": "behind-base-branch",
"addLabels": [
"automerge"

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

@@ -0,0 +1 @@
This is a test file

View File

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