Compare commits

...

17 Commits

Author SHA1 Message Date
Tonye Jack
0562b9f865 fix: handle case of invalid file patterns (#950) 2023-01-18 11:54:46 -07:00
Tonye Jack
be519638b0 Update README.md 2023-01-17 17:27:32 -07:00
Tonye Jack
596fc641d0 Update README.md 2023-01-17 17:19:40 -07:00
Tonye Jack
c0c2634976 Update README.md 2023-01-17 05:26:20 -07:00
Tonye Jack
5ac4c9fe42 Updated README.md (#948)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-13 19:34:44 +00:00
Tonye Jack
93ae7c6b6a Update README.md 2023-01-13 12:16:39 -07:00
Tonye Jack
ca8881ae34 Upgraded to v35.4.1 (#946)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-11 23:15:50 +00:00
Tonye Jack
487675b843 fix: bug retrieving diff with custom a base sha (#945)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2023-01-11 20:58:50 +00:00
Tonye Jack
988322a381 Update diff-sha.sh 2023-01-11 13:36:35 -07:00
Tonye Jack
30649ae7e0 Updated README.md (#943)
Co-authored-by: repo-ranger[bot] <repo-ranger[bot]@users.noreply.github.com>
2023-01-10 19:55:11 +00:00
Tonye Jack
52c733bd7b chore: make since_last_remote_commit optional (#942) 2023-01-10 19:38:39 +00:00
Tonye Jack
e6a750f507 Update README.md 2023-01-06 10:58:28 -07:00
Tonye Jack
b1a4c25c63 Updated .github/workflows/update-readme.yml 2023-01-05 22:01:58 -07:00
Tonye Jack
15be594e99 Updated .github/workflows/update-readme.yml 2023-01-05 21:46:20 -07:00
Tonye Jack
5af8560e3b Updated .github/workflows/update-readme.yml 2023-01-05 21:22:49 -07:00
Tonye Jack
ef3b39a58e Updated .github/workflows/update-readme.yml 2023-01-05 21:21:03 -07:00
Tonye Jack
a7850c2ddb Upgraded to v35.4.0 (#937)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-01-05 20:25:57 +00:00
7 changed files with 116 additions and 61 deletions

View File

@@ -950,18 +950,6 @@ jobs:
fi
shell:
bash
- name: Run changed-files with custom sha
id: changed-files-custom-sha
if: github.event_name == 'pull_request' && github.event.action != 'closed'
uses: ./
with:
sha: ${{ github.event.pull_request.head.sha }}
- name: Show output
if: github.event.action != 'closed'
run: |
echo '${{ toJSON(steps.changed-files-custom-sha.outputs) }}'
shell:
bash
- name: Get branch name
id: branch-name
uses: tj-actions/branch-names@v6
@@ -984,6 +972,31 @@ jobs:
echo '${{ toJSON(steps.changed-files-custom-base-sha.outputs) }}'
shell:
bash
- name: Run changed-files with custom sha
id: changed-files-custom-sha
if: github.event_name == 'pull_request' && github.event.action != 'closed'
uses: ./
with:
sha: ${{ github.event.pull_request.head.sha }}
- name: Show output
if: github.event.action != 'closed'
run: |
echo '${{ toJSON(steps.changed-files-custom-sha.outputs) }}'
shell:
bash
- name: Run changed-files with the pull request base sha and head sha
id: changed-files-pull-request-base-sha-head-sha
if: github.event_name == 'pull_request' && github.event.action != 'closed'
uses: ./
with:
base_sha: ${{ github.event.pull_request.base.sha }}
sha: ${{ github.event.pull_request.head.sha }}
- name: Show output
if: github.event.action != 'closed'
run: |
echo '${{ toJSON(steps.changed-files-pull-request-base-sha-head-sha.outputs) }}'
shell:
bash
- name: Run changed-files with specific files (only-changed)
id: changed-files-specific-only-changed
uses: ./

View File

@@ -9,14 +9,14 @@ jobs:
sync-assets:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.3.0
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Run auto-doc
uses: tj-actions/auto-doc@v1.7.3
uses: tj-actions/auto-doc@v1
- name: Run test
- name: Run remark
uses: tj-actions/remark@v3
- name: Verify Changed files
@@ -34,7 +34,7 @@ jobs:
- name: Create Pull Request
if: failure()
uses: peter-evans/create-pull-request@v4.2.3
uses: peter-evans/create-pull-request@v4
with:
base: "main"
labels: "merge when passing"

View File

@@ -2,19 +2,56 @@
## [Unreleased](https://github.com/tj-actions/changed-files/tree/HEAD)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.3.2...HEAD)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.1...HEAD)
**Fixed bugs:**
- \[BUG\] Unable find a diff between ... [\#944](https://github.com/tj-actions/changed-files/issues/944)
## [v35.4.1](https://github.com/tj-actions/changed-files/tree/v35.4.1) (2023-01-11)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35...v35.4.1)
## [v35](https://github.com/tj-actions/changed-files/tree/v35) (2023-01-11)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.4.0...v35)
**Implemented enhancements:**
- \[Feature\] Specify base branch, not just base-sha [\#941](https://github.com/tj-actions/changed-files/issues/941)
- \[Feature\] Get contents of deleted file [\#938](https://github.com/tj-actions/changed-files/issues/938)
**Merged pull requests:**
- fix: bug retrieving diff with custom a base sha [\#945](https://github.com/tj-actions/changed-files/pull/945) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#943](https://github.com/tj-actions/changed-files/pull/943) ([jackton1](https://github.com/jackton1))
- chore: make since\_last\_remote\_commit optional [\#942](https://github.com/tj-actions/changed-files/pull/942) ([jackton1](https://github.com/jackton1))
- Upgraded to v35.4.0 [\#937](https://github.com/tj-actions/changed-files/pull/937) ([jackton1](https://github.com/jackton1))
## [v35.4.0](https://github.com/tj-actions/changed-files/tree/v35.4.0) (2023-01-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.3.2...v35.4.0)
**Implemented enhancements:**
- \[Feature\] Skip fetching remote refs for non shallow clones [\#924](https://github.com/tj-actions/changed-files/issues/924)
**Fixed bugs:**
- \[BUG\] v35.3.0 Fails to add \[\] around files when with:json: true [\#926](https://github.com/tj-actions/changed-files/issues/926)
**Merged pull requests:**
- Upgraded to v35.3.2 [\#936](https://github.com/tj-actions/changed-files/pull/936) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#935](https://github.com/tj-actions/changed-files/pull/935) ([jackton1](https://github.com/jackton1))
- feat: skip fetching remote refs for non shallow clones [\#934](https://github.com/tj-actions/changed-files/pull/934) ([jackton1](https://github.com/jackton1))
- fix: error overriding the base sha [\#933](https://github.com/tj-actions/changed-files/pull/933) ([jackton1](https://github.com/jackton1))
- docs: add cfernhout as a contributor for doc [\#932](https://github.com/tj-actions/changed-files/pull/932) ([allcontributors[bot]](https://github.com/apps/allcontributors))
- Make example consistent and out of the box usable [\#931](https://github.com/tj-actions/changed-files/pull/931) ([cfernhout](https://github.com/cfernhout))
## [v35.3.2](https://github.com/tj-actions/changed-files/tree/v35.3.2) (2023-01-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35...v35.3.2)
## [v35](https://github.com/tj-actions/changed-files/tree/v35) (2023-01-05)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.3.1...v35)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.3.1...v35.3.2)
**Closed issues:**
@@ -143,7 +180,7 @@
## [v35.0.0](https://github.com/tj-actions/changed-files/tree/v35.0.0) (2022-12-19)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v35.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.6.2...v35.0.0)
**Fixed bugs:**
@@ -161,13 +198,13 @@
- fix: fail when the merge base is not found [\#879](https://github.com/tj-actions/changed-files/pull/879) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.6.2 [\#878](https://github.com/tj-actions/changed-files/pull/878) ([jackton1](https://github.com/jackton1))
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-12-16)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.6.2...v34)
## [v34.6.2](https://github.com/tj-actions/changed-files/tree/v34.6.2) (2022-12-16)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.6.1...v34.6.2)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34...v34.6.2)
## [v34](https://github.com/tj-actions/changed-files/tree/v34) (2022-12-16)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.6.1...v34)
**Fixed bugs:**
@@ -686,7 +723,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.0.3...v32.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v31...v32.0.0)
**Merged pull requests:**
@@ -697,13 +734,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.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...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)
[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)
**Fixed bugs:**
@@ -743,7 +780,7 @@
## [v31.0.0](https://github.com/tj-actions/changed-files/tree/v31.0.0) (2022-09-25)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30...v31.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30.0.0...v31.0.0)
**Merged pull requests:**
@@ -756,13 +793,13 @@
- chore: update broken link [\#642](https://github.com/tj-actions/changed-files/pull/642) ([jackton1](https://github.com/jackton1))
- Upgraded to v30.0.0 [\#641](https://github.com/tj-actions/changed-files/pull/641) ([jackton1](https://github.com/jackton1))
## [v30](https://github.com/tj-actions/changed-files/tree/v30) (2022-09-24)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30.0.0...v30)
## [v30.0.0](https://github.com/tj-actions/changed-files/tree/v30.0.0) (2022-09-24)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29...v30.0.0)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v30...v30.0.0)
## [v30](https://github.com/tj-actions/changed-files/tree/v30) (2022-09-24)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.9...v30)
**Fixed bugs:**
@@ -778,13 +815,13 @@
- chore\(deps\): update codacy/codacy-analysis-cli-action action to v4.2.0 [\#634](https://github.com/tj-actions/changed-files/pull/634) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v29.0.9 [\#633](https://github.com/tj-actions/changed-files/pull/633) ([jackton1](https://github.com/jackton1))
## [v29](https://github.com/tj-actions/changed-files/tree/v29) (2022-09-20)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.9...v29)
## [v29.0.9](https://github.com/tj-actions/changed-files/tree/v29.0.9) (2022-09-20)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.8...v29.0.9)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29...v29.0.9)
## [v29](https://github.com/tj-actions/changed-files/tree/v29) (2022-09-20)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v29.0.8...v29)
**Implemented enhancements:**
@@ -1822,7 +1859,7 @@
## [v1.2.1](https://github.com/tj-actions/changed-files/tree/v1.2.1) (2021-11-08)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.2.0...v1.2.1)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.5...v1.2.1)
**Implemented enhancements:**
@@ -1836,13 +1873,13 @@
- Update actions/checkout action to v2.4.0 [\#243](https://github.com/tj-actions/changed-files/pull/243) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v11.5 [\#241](https://github.com/tj-actions/changed-files/pull/241) ([jackton1](https://github.com/jackton1))
## [v1.2.0](https://github.com/tj-actions/changed-files/tree/v1.2.0) (2021-10-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.5...v1.2.0)
## [v11.5](https://github.com/tj-actions/changed-files/tree/v11.5) (2021-10-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.4...v11.5)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v1.2.0...v11.5)
## [v1.2.0](https://github.com/tj-actions/changed-files/tree/v1.2.0) (2021-10-30)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v11.4...v1.2.0)
**Merged pull requests:**

View File

@@ -26,6 +26,7 @@ Retrieve all changed files and directories relative to the target branch or the
* Escaped JSON Output which can be used for running matrix jobs based on changed files.
* Optionally list only changed directories.
* Restrict the max depth of changed directories.
* Optionally save outputs to files at a specified location for further processing.
* 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
@@ -38,6 +39,7 @@ Retrieve all changed files and directories relative to the target branch or the
* Restrict change detection to a subset of files and directories:
* Boolean output indicating that certain files have been changed.
* Using [Glob pattern](https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet) matching.
* Brace expansion
## Usage
@@ -53,13 +55,13 @@ Retrieve all changed files and directories relative to the target branch or the
name: CI
on:
# Compare the preceeding commit of main -> to the current commit of the main branch.
# (Note: To compare changes between the last pushed commit to the remote main branch set `since_last_remote_commit: true`)
# Compare the preceeding commit -> to the current commit of the main branch.
# (Note: To compare changes between the current commit to the last pushed remote commit of the main branch set `since_last_remote_commit: true`)
push:
branches:
- main
# Compare the last commit of main -> to the current commit of a PR branch.
# (Note: To compare changes between the last pushed commit to the remote PR branch set `since_last_remote_commit: true`)
# (Note: To compare changes between the current commit to the last pushed remote commit of a PR branch set `since_last_remote_commit: true`)
pull_request:
branches:
- main
@@ -89,8 +91,7 @@ jobs:
id: changed-files-specific
uses: tj-actions/changed-files@v35
with:
files: |
docs/**
files: docs/*.{js,html} # Alternatively using: `docs/**` or `docs`
- name: Run step if any file(s) in the docs folder change
if: steps.changed-files-specific.outputs.any_changed == 'true'
@@ -181,7 +182,7 @@ Support this project with a :star:
| separator | string | false | `" "` | Split character for output strings |
| sha | string | false | | Specify a different commit SHA used<br>for comparing changes |
| since | string | false | | Get changed files for commits whose<br> timestamp is older than the given<br>time. |
| since\_last\_remote\_commit | string | true | `"false"` | Use the last commit on the<br> remote branch as the `base_sha`. Defaults<br> to the last non merge commit<br> on the target branch for pull<br> request events and the previous remote<br> commit of the current branch for<br>push events. |
| since\_last\_remote\_commit | string | false | `"false"` | Use the last commit on the<br> remote branch as the `base_sha`. Defaults<br> to the last non merge commit<br> on the target branch for pull<br> request events and the previous remote<br> commit of the current branch for<br>push events. |
| until | string | false | | Get changed files for commits whose<br> timestamp is earlier than the given<br>time. |
| write\_output\_files | string | false | `"false"` | Write outputs to files in the<br>`.github/outputs` folder by default. |
@@ -284,7 +285,7 @@ See [inputs](#inputs) for more information.
</details>
<details>
<summary>Get all changed files using a list of files and take action base on the changes</summary>
<summary>Get all changed files using a list of files and take action based on the changes</summary>
```yaml
...

View File

@@ -89,7 +89,7 @@ inputs:
default: "50"
since_last_remote_commit:
description: "Use the last commit on the remote branch as the `base_sha`. Defaults to the last non merge commit on the target branch for pull request events and the previous remote commit of the current branch for push events."
required: true
required: false
default: "false"
write_output_files:
description: "Write outputs to files in the `.github/outputs` folder by default."

View File

@@ -223,6 +223,10 @@ else
echo "::debug::Previous SHA: $PREVIOUS_SHA"
else
PREVIOUS_SHA=$INPUT_BASE_SHA && exit_status=$? || exit_status=$?
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
DIFF=".."
fi
fi
echo "::debug::Target branch: $TARGET_BRANCH"
@@ -238,7 +242,7 @@ else
fi
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
echo "::error::Unable find a diff between $PREVIOUS_SHA and $CURRENT_SHA"
echo "::error::Unable to determine a difference between $PREVIOUS_SHA$DIFF$CURRENT_SHA"
exit 1
fi
fi

View File

@@ -147,7 +147,7 @@ fi
echo "Retrieving changes between $INPUT_PREVIOUS_SHA ($INPUT_TARGET_BRANCH) → $INPUT_CURRENT_SHA ($INPUT_CURRENT_BRANCH)"
if [[ "$INPUT_HAS_CUSTOM_PATTERNS" == "false" ]]; then
if [[ "$INPUT_HAS_CUSTOM_PATTERNS" == "false" || -z "$INPUT_FILES_PATTERN_FILE" ]]; then
if [[ "$INPUT_JSON" == "false" ]]; then
if [[ "$INPUT_DIR_NAMES" == "true" ]]; then
ADDED=$(get_diff "$INPUT_PREVIOUS_SHA" "$INPUT_CURRENT_SHA" A | xargs -I {} dirname {} | get_dirname_max_depth | uniq | awk -v d="$INPUT_SEPARATOR" '{s=(NR==1?s:s d)$0}END{print s}')