Compare commits

..

26 Commits
v10.1 ... v11.1

Author SHA1 Message Date
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
14 changed files with 180 additions and 103 deletions

View File

@@ -51,6 +51,15 @@
"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

@@ -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:
@@ -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 }})"

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

View File

@@ -1,5 +1,48 @@
# Changelog
## [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)
**Implemented enhancements:**
- \[Feature\] fetch HEAD without tags [\#220](https://github.com/tj-actions/changed-files/issues/220)
**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)
@@ -18,10 +61,6 @@
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.1.2...v1.1.3)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**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))

View File

@@ -5,7 +5,9 @@
[![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-5-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 -->
## changed-files
@@ -17,7 +19,10 @@ Retrieve all changed files relative to the default branch (`pull_request*` based
* 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.
@@ -54,11 +59,11 @@ jobs:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v10
uses: tj-actions/changed-files@v11
- 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
```
@@ -116,17 +121,17 @@ jobs:
- name: Get changed files using defaults
id: changed-files
uses: tj-actions/changed-files@v10
uses: tj-actions/changed-files@v11
- name: Get changed files using a comma separator
id: changed-files-comma
uses: tj-actions/changed-files@v10
uses: tj-actions/changed-files@v11
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
@@ -142,7 +147,7 @@ jobs:
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v10
uses: tj-actions/changed-files@v11
with:
files: |
my-file.txt
@@ -167,27 +172,27 @@ 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@v10
uses: tj-actions/changed-files@v11
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@v10
uses: tj-actions/changed-files@v11
with:
files_from_source_file: |
test/changed-files-list.txt
@@ -196,13 +201,13 @@ jobs:
- name: Use a different commit SHA
id: changed-files-custom-sha
uses: tj-actions/changed-files@v10
uses: tj-actions/changed-files@v11
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@v10
uses: tj-actions/changed-files@v11
with:
base_sha: "2096ed0"
@@ -214,13 +219,13 @@ jobs:
- name: Run changed-files with defaults on the dir1
id: changed-files-for-dir1
uses: tj-actions/changed-files@v10
uses: tj-actions/changed-files@v11
with:
path: dir1
- name: List all added files in dir1
run: |
for file in "${{ steps.changed-files-for-dir1.outputs.added_files }}"; do
for file in ${{ steps.changed-files-for-dir1.outputs.added_files }}; do
echo "$file was added"
done
```
@@ -236,7 +241,7 @@ jobs:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v10
uses: tj-actions/changed-files@v11
- name: Pre-commit
uses: pre-commit/action@v2.0.0
@@ -257,6 +262,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).
@@ -276,8 +289,11 @@ If you are reporting a bug, please include:
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="https://github.com/jsoref"><img src="https://avatars.githubusercontent.com/u/2119212?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Josh Soref</b></sub></a><br /><a href="https://github.com/tj-actions/changed-files/commits?author=jsoref" title="Documentation">📖</a></td>
@@ -285,10 +301,12 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<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>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->

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'

View File

@@ -49,7 +49,7 @@ if [[ -z $GITHUB_BASE_REF ]]; then
else
TARGET_BRANCH=$GITHUB_BASE_REF
CURRENT_BRANCH=$GITHUB_HEAD_REF
git fetch temp_changed_files -u "${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
@@ -75,103 +75,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"
@@ -183,7 +173,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
@@ -196,6 +186,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