Compare commits

...

29 Commits

Author SHA1 Message Date
repo-ranger[bot]
3f1e44af6c Merge pull request #847 from tj-actions/chore/update-error-handling
chore: update error handling
2022-12-12 18:49:05 +00:00
Tonye Jack
d9be0ccb5e Update diff-sha.sh 2022-12-12 11:16:39 -07:00
repo-ranger[bot]
ff10d2fbc5 Merge branch 'main' into chore/update-error-handling 2022-12-12 18:14:59 +00:00
Tonye Jack
8fb90ed7f6 Update diff-sha.sh 2022-12-12 11:14:49 -07:00
Tonye Jack
474e3bd363 Merge pull request #848 from tj-actions/chore/update-readme
chore: update readme
2022-12-12 08:30:55 -07:00
Tonye Jack
b2902f40b3 chore: update readme 2022-12-12 01:36:53 -07:00
Tonye Jack
17ae17127c Update diff-sha.sh 2022-12-12 00:19:02 -07:00
Tonye Jack
65dc0e47e9 chore: update error handling 2022-12-12 00:18:33 -07:00
Tonye Jack
ba5abef332 Merge pull request #846 from tj-actions/upgrade-to-v34.5.3 2022-12-10 19:03:01 -07:00
jackton1
84dcdf586d Upgraded from v34.5.2 -> v34.5.3 2022-12-11 00:32:24 +00:00
Tonye Jack
74dc2e8a78 Merge pull request #845 from tj-actions/chore/update-diff-sha.sh 2022-12-10 16:50:31 -07:00
Tonye Jack
a817eeece0 chore: update diff-sha.sh 2022-12-10 16:31:17 -07:00
Tonye Jack
b120be5d01 Merge pull request #844 from tj-actions/upgrade-to-v34.5.2
Upgraded to v34.5.2
2022-12-10 13:07:36 -07:00
jackton1
626ad8da53 Upgraded from v34.5.1 -> v34.5.2 2022-12-10 09:07:14 +00:00
Tonye Jack
8356a01788 Merge pull request #843 from tj-actions/fix/unable-to-locate-the-previous-sha 2022-12-10 01:05:01 -07:00
Tonye Jack
a84c8f54f9 Update diff-sha.sh 2022-12-10 00:30:40 -07:00
Tonye Jack
a4f296d02e Update diff-sha.sh 2022-12-10 00:21:14 -07:00
Tonye Jack
33eef1b0ed Update diff-sha.sh 2022-12-10 00:05:52 -07:00
Tonye Jack
ae2404f72e Update diff-sha.sh 2022-12-09 23:58:40 -07:00
Tonye Jack
3f045143ec Update get-changed-paths.sh 2022-12-09 23:53:21 -07:00
Tonye Jack
0707f1b441 Update diff-sha.sh 2022-12-09 23:52:38 -07:00
Tonye Jack
fbc9b61579 Update action.yml 2022-12-09 23:51:25 -07:00
Tonye Jack
ac602e39b8 fix: error verifying the previous commit sha for push event 2022-12-09 23:49:27 -07:00
Tonye Jack
ef32360b2d Merge pull request #841 from tj-actions/chore/rename-env-variable 2022-12-08 14:32:58 -07:00
Tonye Jack
4b60d05705 Update action.yml 2022-12-08 12:43:50 -07:00
Tonye Jack
385d98db73 Update diff-sha.sh 2022-12-08 12:34:38 -07:00
Tonye Jack
8c766cffe7 Update action.yml 2022-12-08 12:32:51 -07:00
repo-ranger[bot]
00cc8e59b9 Merge pull request #839 from tj-actions/upgrade-to-v34.5.1
Upgraded to v34.5.1
2022-12-06 02:16:50 +00:00
jackton1
56a1ce212a Upgraded from v34.5.0 -> v34.5.1 2022-12-06 02:01:30 +00:00
5 changed files with 103 additions and 59 deletions

View File

@@ -1,20 +1,66 @@
# Changelog
## [Unreleased](https://github.com/tj-actions/changed-files/tree/HEAD)
## [v34.5.3](https://github.com/tj-actions/changed-files/tree/v34.5.3) (2022-12-10)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.0...HEAD)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.5.3)
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-12-10)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.2...v34)
**Fixed bugs:**
- \[BUG\] Error: Unable to locate the previous sha: fatal: ambiguous argument 'main': unknown revision or path not in the working tree [\#840](https://github.com/tj-actions/changed-files/issues/840)
**Merged pull requests:**
- chore: update diff-sha.sh [\#845](https://github.com/tj-actions/changed-files/pull/845) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.5.2 [\#844](https://github.com/tj-actions/changed-files/pull/844) ([jackton1](https://github.com/jackton1))
## [v34.5.2](https://github.com/tj-actions/changed-files/tree/v34.5.2) (2022-12-10)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.1...v34.5.2)
**Merged pull requests:**
- fix: error verifying the previous commit sha for push event [\#843](https://github.com/tj-actions/changed-files/pull/843) ([jackton1](https://github.com/jackton1))
- chore: rename env variable [\#841](https://github.com/tj-actions/changed-files/pull/841) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.5.1 [\#839](https://github.com/tj-actions/changed-files/pull/839) ([jackton1](https://github.com/jackton1))
## [v34.5.1](https://github.com/tj-actions/changed-files/tree/v34.5.1) (2022-12-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.5.0...v34.5.1)
**Implemented enhancements:**
- \[Feature\] Deprecate usage of `set-output` command and upgrade to environment variable [\#833](https://github.com/tj-actions/changed-files/issues/833)
**Fixed bugs:**
- \[BUG\] set-output call is deprecated [\#831](https://github.com/tj-actions/changed-files/issues/831)
- Unable to find merge-base between master and HEAD\[BUG\] \<title\> [\#830](https://github.com/tj-actions/changed-files/issues/830)
- \[BUG\] Glob not matching changed files [\#829](https://github.com/tj-actions/changed-files/issues/829)
- \[BUG\] Wrong changed-files returned for forked PRs [\#714](https://github.com/tj-actions/changed-files/issues/714)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:**
- Updated README.md [\#838](https://github.com/tj-actions/changed-files/pull/838) ([jackton1](https://github.com/jackton1))
- fix: wrong changed files for forked prs [\#837](https://github.com/tj-actions/changed-files/pull/837) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#836](https://github.com/tj-actions/changed-files/pull/836) ([jackton1](https://github.com/jackton1))
- fix: determining the merge base [\#835](https://github.com/tj-actions/changed-files/pull/835) ([jackton1](https://github.com/jackton1))
- chore: fix typos [\#834](https://github.com/tj-actions/changed-files/pull/834) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update tj-actions/auto-doc action to v1.5.0 [\#832](https://github.com/tj-actions/changed-files/pull/832) ([renovate[bot]](https://github.com/apps/renovate))
- chore\(deps\): update peter-evans/create-pull-request action to v4.2.3 [\#828](https://github.com/tj-actions/changed-files/pull/828) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v34.5.0 [\#827](https://github.com/tj-actions/changed-files/pull/827) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#826](https://github.com/tj-actions/changed-files/pull/826) ([jackton1](https://github.com/jackton1))
## [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)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.4.4...v34.5.0)
**Implemented enhancements:**
@@ -234,7 +280,6 @@
**Fixed bugs:**
- \[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)
**Closed issues:**
@@ -319,7 +364,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...v34.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v33.0.0...v34.0.0)
**Fixed bugs:**
@@ -332,13 +377,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](https://github.com/tj-actions/changed-files/tree/v33) (2022-10-21)
[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)
[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...v33)
**Closed issues:**
@@ -357,13 +402,13 @@
- chore\(deps\): update tj-actions/verify-changed-files action to v12 [\#696](https://github.com/tj-actions/changed-files/pull/696) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v32.1.2 [\#695](https://github.com/tj-actions/changed-files/pull/695) ([jackton1](https://github.com/jackton1))
## [v32.1.2](https://github.com/tj-actions/changed-files/tree/v32.1.2) (2022-10-16)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32...v32.1.2)
## [v32](https://github.com/tj-actions/changed-files/tree/v32) (2022-10-16)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.1...v32)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.2...v32)
## [v32.1.2](https://github.com/tj-actions/changed-files/tree/v32.1.2) (2022-10-16)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v32.1.1...v32.1.2)
**Fixed bugs:**
@@ -419,7 +464,7 @@
## [v32.0.0](https://github.com/tj-actions/changed-files/tree/v32.0.0) (2022-10-06)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31...v32.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.3...v32.0.0)
**Merged pull requests:**
@@ -430,13 +475,13 @@
- chore\(deps\): update actions/checkout action to v3.1.0 [\#669](https://github.com/tj-actions/changed-files/pull/669) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v31.0.3 [\#667](https://github.com/tj-actions/changed-files/pull/667) ([jackton1](https://github.com/jackton1))
## [v31](https://github.com/tj-actions/changed-files/tree/v31) (2022-10-02)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.3...v31)
## [v31.0.3](https://github.com/tj-actions/changed-files/tree/v31.0.3) (2022-10-02)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.2...v31.0.3)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31...v31.0.3)
## [v31](https://github.com/tj-actions/changed-files/tree/v31) (2022-10-02)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31.0.2...v31)
**Fixed bugs:**
@@ -1960,7 +2005,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.3...v7)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6...v7)
**Closed issues:**
@@ -1976,13 +2021,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.3](https://github.com/tj-actions/changed-files/tree/v6.3) (2021-05-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6...v6.3)
## [v6](https://github.com/tj-actions/changed-files/tree/v6) (2021-05-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.2...v6)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.3...v6)
## [v6.3](https://github.com/tj-actions/changed-files/tree/v6.3) (2021-05-26)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v6.2...v6.3)
**Merged pull requests:**

View File

@@ -25,7 +25,8 @@ Retrieve all changed files and directories relative to the target branch or the
* Git submodules support.
* No extra API calls.
* Escaped JSON Output which can be used for running matrix jobs based on changed files.
* List only changed directories.
* Optionally list only changed directories.
* Restrict the max depth of changed directories.
* Monorepos (Fetches only the last remote commit).
* Supports all platforms (Linux, MacOS, Windows).
* [GitHub-hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners) support

View File

@@ -173,8 +173,9 @@ 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_HEAD_REPO_FORK: ${{ github.event.pull_request.head.repo.fork }}
GITHUB_EVENT_PULL_REQUEST_BASE_SHA: ${{ github.event.pull_request.base.sha }}
GITHUB_EVENT_PULL_REQUEST_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
GITHUB_EVENT_BEFORE: ${{ github.event.before }}
GITHUB_EVENT_FORCED: ${{ github.event.forced }}
GITHUB_REFNAME: ${{ github.ref_name }}
@@ -211,6 +212,7 @@ runs:
env:
GITHUB_WORKSPACE: ${{ github.workspace }}
GITHUB_BASE_REF: ${{ github.base_ref }}
GITHUB_EVENT_HEAD_REPO_FORK: ${{ github.event.pull_request.head.repo.fork }}
# 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_FILES_PATTERN_FILE: ${{ steps.glob.outputs.paths-output-file }}

View File

@@ -7,14 +7,14 @@ GITHUB_OUTPUT=${GITHUB_OUTPUT:-""}
EXTRA_ARGS="--no-tags"
PREVIOUS_SHA=""
CURRENT_SHA=""
MERGE_BASE_EXRTRA_ARGS=""
DIFF="..."
if [[ "$GITHUB_REF" == "refs/tags/"* ]]; then
EXTRA_ARGS=""
fi
if [[ "$GITHUB_HEAD_REPO_FORK" == "true" ]]; then
MERGE_BASE_EXRTRA_ARGS="--fork-point"
if [[ "$GITHUB_EVENT_HEAD_REPO_FORK" == "true" ]]; then
DIFF=".."
fi
echo "::group::changed-files-diff-sha"
@@ -68,9 +68,9 @@ 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
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=$?
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH"
CURRENT_SHA=$INPUT_SHA; exit_status=$?
fi
fi
@@ -131,9 +131,9 @@ if [[ -z $GITHUB_BASE_REF ]]; then
fi
fi
else
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=$?
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH"
PREVIOUS_SHA=$INPUT_BASE_SHA
fi
echo "::debug::Target branch $TARGET_BRANCH..."
@@ -204,14 +204,10 @@ else
PREVIOUS_SHA=$(git rev-parse origin/"$CURRENT_BRANCH" 2>&1) && exit_status=$? || exit_status=$?
fi
else
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=$?
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
PREVIOUS_SHA=$(git merge-base "$PREVIOUS_SHA" "$CURRENT_SHA" 2>&1) && exit_status=$? || exit_status=$?
fi
fi
@@ -224,21 +220,21 @@ else
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..."
for ((i=0; i<max_depth; i+=depth)); do
echo "Fetching $i commits..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$depth" origin +"$GITHUB_REF":refs/remotes/origin/"$CURRENT_BRANCH"
git fetch $EXTRA_ARGS -u --progress --deepen="$i" 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
if git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
break
fi
depth=$((depth + 300))
done
if ((i >= max_depth)); then
echo "::error::Unable to locate a common ancestor between $TARGET_BRANCH and $CURRENT_BRANCH with: $PREVIOUS_SHA$DIFF$CURRENT_SHA"
exit 1
fi
else
echo "::debug::Not a shallow clone, skipping merge-base check."
fi

View File

@@ -10,7 +10,7 @@ INPUT_SEPARATOR="${INPUT_SEPARATOR//$'\r'/'%0D'}"
GITHUB_OUTPUT=${GITHUB_OUTPUT:-""}
DIFF="..."
if [[ -z $GITHUB_BASE_REF ]]; then
if [[ -z $GITHUB_BASE_REF || "$GITHUB_EVENT_HEAD_REPO_FORK" == "true" ]]; then
DIFF=".."
fi