Compare commits

..

8 Commits

Author SHA1 Message Date
Tonye Jack
0626c3f940 Updated README.md (#891)
Co-authored-by: repo-ranger[bot] <repo-ranger[bot]@users.noreply.github.com>
2022-12-19 11:00:26 -07:00
Tonye Jack
83952deb06 feat: add support for writing outputs to files (#890)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-19 17:51:22 +00:00
Tonye Jack
c4bb28b25e Upgraded to v35.0.1 (#889)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-12-19 09:32:06 +00:00
Tonye Jack
a2b1e5dbb9 chore: update test (#888) 2022-12-19 09:06:52 +00:00
Tonye Jack
349b9cd596 chore: code cleanup (#887)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2022-12-19 08:12:13 +00:00
Tonye Jack
565ad867fa Update README.md 2022-12-18 23:40:18 -07:00
Tonye Jack
d984765c3c Update README.md 2022-12-18 23:19:15 -07:00
Tonye Jack
f25e6fe945 Upgraded to v35 (#886)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-12-19 06:06:50 +00:00
6 changed files with 138 additions and 49 deletions

View File

@@ -7,7 +7,6 @@ on:
- "**"
pull_request:
types:
- closed
- opened
- synchronize
- reopened
@@ -373,6 +372,18 @@ jobs:
echo '${{ toJSON(steps.changed-files-since-last-remote-commit.outputs) }}'
shell:
bash
- name: Run changed-files with write_output_files
id: changed-files-write-output-files
uses: ./
with:
json: true
write_output_files: true
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-write-output-files.outputs.all_changed_files) }}'
cat .github/outputs/all_changed_files.json
shell:
bash
- name: Run changed-files with include_all_old_new_renamed_files
id: changed-files-all-old-new-renamed-files
uses: ./

View File

@@ -1,5 +1,43 @@
# Changelog
## [v35.0.1](https://github.com/tj-actions/changed-files/tree/v35.0.1) (2022-12-19)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35...v35.0.1)
## [v35](https://github.com/tj-actions/changed-files/tree/v35) (2022-12-19)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v35.0.0...v35)
**Implemented enhancements:**
- Changed lines of modified files [\#858](https://github.com/tj-actions/changed-files/issues/858)
**Merged pull requests:**
- chore: update test [\#888](https://github.com/tj-actions/changed-files/pull/888) ([jackton1](https://github.com/jackton1))
- chore: code cleanup [\#887](https://github.com/tj-actions/changed-files/pull/887) ([jackton1](https://github.com/jackton1))
- Upgraded to v35 [\#886](https://github.com/tj-actions/changed-files/pull/886) ([jackton1](https://github.com/jackton1))
## [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.6.2...v35.0.0)
**Fixed bugs:**
- \[BUG\] Process completed with exit code 1 [\#884](https://github.com/tj-actions/changed-files/issues/884)
- \[BUG\] `changed-files` error during run [\#875](https://github.com/tj-actions/changed-files/issues/875)
**Closed issues:**
- How to see the changed files after the PR is merged ? [\#874](https://github.com/tj-actions/changed-files/issues/874)
**Merged pull requests:**
- Updated README.md [\#885](https://github.com/tj-actions/changed-files/pull/885) ([jackton1](https://github.com/jackton1))
- fix: error retrieving changed files [\#882](https://github.com/tj-actions/changed-files/pull/882) ([jackton1](https://github.com/jackton1))
- 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.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...v34.6.2)
@@ -232,7 +270,7 @@
## [v34.3.3](https://github.com/tj-actions/changed-files/tree/v34.3.3) (2022-11-08)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.2...v34.3.3)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.1...v34.3.3)
**Fixed bugs:**
@@ -247,13 +285,13 @@
- chore: update readme [\#784](https://github.com/tj-actions/changed-files/pull/784) ([jackton1](https://github.com/jackton1))
- Upgraded to v34.3.2 [\#781](https://github.com/tj-actions/changed-files/pull/781) ([jackton1](https://github.com/jackton1))
## [v34.3.2](https://github.com/tj-actions/changed-files/tree/v34.3.2) (2022-11-07)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.1...v34.3.2)
## [v34.3.1](https://github.com/tj-actions/changed-files/tree/v34.3.1) (2022-11-07)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.0...v34.3.1)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.2...v34.3.1)
## [v34.3.2](https://github.com/tj-actions/changed-files/tree/v34.3.2) (2022-11-07)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v34.3.0...v34.3.2)
**Fixed bugs:**
@@ -529,7 +567,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:**
@@ -540,13 +578,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:**

View File

@@ -76,7 +76,7 @@ jobs:
# Example 1
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
- name: List all changed files
run: |
@@ -87,7 +87,7 @@ jobs:
# Example 2
- name: Get changed files in the docs folder
id: changed-files-specific
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
files: |
docs/**
@@ -175,6 +175,7 @@ Support this project with a :star:
| json | string | false | `"false"` | Output list of changed files in a<br>JSON formatted string which can be used<br>for matrix jobs. |
| old\_new\_files\_separator | string | false | `" "` | Split character for old and new renamed<br>filename pairs. |
| old\_new\_separator | string | false | `","` | Split character for old and new filename<br>pairs. |
| output\_dir | string | false | `".github/outputs"` | Directory to store output files. |
| path | string | false | `"."` | Specify a relative path under `$GITHUB_WORKSPACE` to<br>locate the repository. |
| quotepath | string | false | `"true"` | Use non ascii characters to match files<br>and output the filenames completely verbatim by<br>setting this to `false` |
| separator | string | false | `" "` | Split character for output strings |
@@ -182,6 +183,7 @@ Support this project with a :star:
| since | string | false | | Get changed files for commits whose timestamp<br>is older than the given time. |
| since\_last\_remote\_commit | string | true | `"false"` | Use the last commit on the remote<br>branch as the `base_sha`. Defaults to the<br>last non merge commit on the target<br>branch for pull request events and the<br>previous remote commit of the current branch<br>for push events. |
| until | string | false | | Get changed files for commits whose timestamp<br>is earlier than the given time. |
| write\_output\_files | string | false | `"false"` | Write outputs to files in the `.github/outputs`<br>folder by default. |
<!-- AUTO-DOC-INPUT:END -->
@@ -194,7 +196,7 @@ Support this project with a :star:
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
...
```
@@ -207,7 +209,7 @@ Support this project with a :star:
...
- name: Get all changed files and use a comma separator in the output
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
separator: ","
...
@@ -224,7 +226,7 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
- name: List all added files
run: |
@@ -245,7 +247,7 @@ See [outputs](#outputs) for a list of all available outputs.
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
- name: Run a step if my-file.txt was modified
if: contains(steps.changed-files.outputs.modified_files, 'my-file.txt')
@@ -265,7 +267,7 @@ See [outputs](#outputs) for a list of all available outputs.
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
files: |
my-file.txt
@@ -288,7 +290,7 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
files: |
my-file.txt
@@ -335,7 +337,7 @@ See [outputs](#outputs) for a list of all available outputs.
...
- name: Get changed files using a source file or list of file(s) to populate to files input.
id: changed-files-specific-source-file
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
files_from_source_file: test/changed-files-list.txt
...
@@ -352,7 +354,7 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files using 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@v34
uses: tj-actions/changed-files@v35
with:
files_from_source_file: |
test/changed-files-list.txt
@@ -373,7 +375,7 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files using a different SHA
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
sha: ${{ github.event.pull_request.head.sha }}
...
@@ -390,7 +392,7 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files using a different base SHA
id: changed-files
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
base_sha: ${{ github.event.pull_request.base.sha }}
...
@@ -413,7 +415,7 @@ See [inputs](#inputs) for more information.
- name: Run changed-files with defaults in dir1
id: changed-files-for-dir1
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
path: dir1
@@ -436,7 +438,7 @@ See [inputs](#inputs) for more information.
...
- name: Run changed-files with quotepath disabled
id: changed-files-quotepath
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
quotepath: "false"
@@ -475,7 +477,7 @@ See [inputs](#inputs) for more information.
- name: Run changed-files with the commit of the last successful test workflow run
id: changed-files-base-sha-push
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
base_sha: ${{ steps.last_successful_commit_push.outputs.base }}
...
@@ -502,7 +504,7 @@ See [inputs](#inputs) for more information.
- name: Run changed-files with the commit of the last successful test workflow run on main
id: changed-files-base-sha-pull-request
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
base_sha: ${{ steps.last_successful_commit_pull_request.outputs.base }}
...
@@ -526,7 +528,7 @@ See [inputs](#inputs) for more information.
...
- name: Run changed-files with dir_names
id: changed-files-dir-names
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
dir_names: "true"
...
@@ -543,7 +545,7 @@ See [inputs](#inputs) for more information.
...
- name: Run changed-files with json output
id: changed-files-json
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
json: "true"
...
@@ -560,13 +562,13 @@ See [inputs](#inputs) for more information.
...
- name: Get changed-files since 2022-08-19
id: changed-files-since
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
since: "2022-08-19"
- name: Get changed-files until 2022-08-20
id: changed-files-until
uses: tj-actions/changed-files@v34
uses: tj-actions/changed-files@v35
with:
until: "2022-08-20"
...

View File

@@ -88,6 +88,14 @@ inputs:
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
default: "false"
write_output_files:
description: "Write outputs to files in the `.github/outputs` folder by default."
required: false
default: "false"
output_dir:
description: "Directory to store output files."
required: false
default: ".github/outputs"
outputs:
added_files:
@@ -230,6 +238,36 @@ runs:
INPUT_DIR_NAMES_MAX_DEPTH: ${{ inputs.dir_names_max_depth }}
INPUT_JSON: ${{ inputs.json }}
INPUT_HAS_CUSTOM_PATTERNS: ${{ steps.glob.outputs.has-custom-patterns }}
- name: Generate output files
uses: tj-actions/json2file@v1
if: inputs.write_output_files == 'true'
with:
outputs: ${{ toJSON(steps.changed-files.outputs) }}
directory: ${{ inputs.output_dir }}
skip_missing_keys: true
keys: |
added_files
copied_files
deleted_files
modified_files
renamed_files
all_old_new_renamed_files
type_changed_files
unmerged_files
unknown_files
all_changed_and_modified_files
all_changed_files
any_changed
only_changed
other_changed_files
all_modified_files
any_modified
only_modified
other_modified_files
any_deleted
only_deleted
other_deleted_files
extension: ${{ steps.changed-files.outputs.outputs_extension }}
branding:
icon: file-text

View File

@@ -157,6 +157,8 @@ else
fi
echo "Fetching remote refs..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress origin pull/"$GITHUB_EVENT_NUMBER"/head:"$CURRENT_BRANCH" 1>/dev/null 2>&1
echo "::debug::Getting HEAD SHA..."
if [[ -n "$INPUT_UNTIL" ]]; then
@@ -168,9 +170,6 @@ else
exit 1
fi
else
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH" 1>/dev/null 2>&1
if [[ -z $INPUT_SHA ]]; then
CURRENT_SHA=$(git rev-list -n 1 HEAD) && exit_status=$? || exit_status=$?
else
@@ -195,26 +194,19 @@ else
if [[ -z $INPUT_BASE_SHA ]]; then
if [[ "$INPUT_SINCE_LAST_REMOTE_COMMIT" == "true" ]]; then
echo "::debug::Fetching remote current branch..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$CURRENT_BRANCH" 1>/dev/null 2>&1
PREVIOUS_SHA=$GITHUB_EVENT_BEFORE
if ! git rev-parse --quiet --verify "$PREVIOUS_SHA^{commit}" 1>/dev/null 2>&1; then
PREVIOUS_SHA=$(git rev-parse origin/"$CURRENT_BRANCH")
PREVIOUS_SHA=$GITHUB_EVENT_PULL_REQUEST_BASE_SHA
fi
else
echo "::debug::Fetching remote target branch..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress --deepen="$INPUT_FETCH_DEPTH" origin "$TARGET_BRANCH" 1>/dev/null 2>&1
git fetch -u --progress $EXTRA_ARGS --depth="$INPUT_FETCH_DEPTH" origin +refs/heads/"$TARGET_BRANCH":refs/remotes/origin/"$TARGET_BRANCH" 1>/dev/null 2>&1
echo "::debug::Fetching remote current branch..."
# shellcheck disable=SC2086
git fetch $EXTRA_ARGS -u --progress origin pull/"$GITHUB_EVENT_NUMBER"/head:"$CURRENT_BRANCH" 1>/dev/null 2>&1
git branch --track "$TARGET_BRANCH" origin/"$TARGET_BRANCH" 1>/dev/null 2>&1 || true
PREVIOUS_SHA=$(git merge-base origin/"$TARGET_BRANCH" "$CURRENT_SHA") && exit_status=$? || exit_status=$?
PREVIOUS_SHA=$(git merge-base "$TARGET_BRANCH" "$CURRENT_SHA") && exit_status=$? || exit_status=$?
fi
if [[ -z "$PREVIOUS_SHA" || "$PREVIOUS_SHA" == "$CURRENT_SHA" ]]; then
@@ -227,7 +219,7 @@ else
fi
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then
PREVIOUS_SHA=$(git rev-parse origin/"$TARGET_BRANCH") && exit_status=$? || exit_status=$?
PREVIOUS_SHA=$(git rev-parse "$TARGET_BRANCH") && exit_status=$? || exit_status=$?
DIFF=".."
if ! git diff --name-only --ignore-submodules=all "$PREVIOUS_SHA$DIFF$CURRENT_SHA" 1>/dev/null 2>&1; then

View File

@@ -10,6 +10,12 @@ INPUT_SEPARATOR="${INPUT_SEPARATOR//$'\r'/'%0D'}"
GITHUB_OUTPUT=${GITHUB_OUTPUT:-""}
DIFF=$INPUT_DIFF
OUTPUTS_EXTENSION="txt"
if [[ "$INPUT_JSON" == "true" ]]; then
OUTPUTS_EXTENSION="json"
fi
if [[ $INPUT_QUOTEPATH == "false" ]]; then
git config --global core.quotepath off
else
@@ -403,6 +409,7 @@ if [[ -z "$GITHUB_OUTPUT" ]]; then
echo "::set-output name=all_changed_and_modified_files::$ALL_CHANGED_AND_MODIFIED"
echo "::set-output name=all_changed_files::$ALL_CHANGED"
echo "::set-output name=all_modified_files::$ALL_MODIFIED"
echo "::set-output name=outputs_extension::$OUTPUTS_EXTENSION"
else
cat <<EOF >>"$GITHUB_OUTPUT"
added_files=$ADDED
@@ -416,6 +423,7 @@ unknown_files=$UNKNOWN
all_changed_and_modified_files=$ALL_CHANGED_AND_MODIFIED
all_changed_files=$ALL_CHANGED
all_modified_files=$ALL_MODIFIED
outputs_extension=$OUTPUTS_EXTENSION
EOF
fi