Compare commits

...

12 Commits
v27 ... v28

Author SHA1 Message Date
Tonye Jack
602cf94057 Update README.md 2022-08-21 11:11:00 -06:00
Tonye Jack
620fa099ad updated error message and fixed the test 2022-08-21 11:04:51 -06:00
Tonye Jack
ee1ab68105 updated action.yml 2022-08-21 11:04:51 -06:00
Tonye Jack
8a141f1b25 updated action.yml 2022-08-21 11:04:51 -06:00
Tonye Jack
7f4d2ba1d7 updated action.yml 2022-08-21 11:04:51 -06:00
Tonye Jack
312a368eff added test 2022-08-21 11:04:51 -06:00
Tonye Jack
492c7bf391 fixed test 2022-08-21 11:04:51 -06:00
Tonye Jack
7179d77efe feat: add support for using time based filtering. 2022-08-21 11:04:51 -06:00
Tonye Jack
8d5c4478e2 chore: update readme (#587) 2022-08-19 00:11:34 -06:00
Tonye Jack
bfc4426d68 chore: remove skip for forks (#586) 2022-08-19 00:04:56 -06:00
renovate[bot]
0e8d0f1209 chore(deps): update peter-evans/create-pull-request action to v4.1.1 2022-08-18 04:36:39 -06:00
Tonye Jack
2b777af8b0 Upgraded to v27 (#584)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2022-08-17 15:52:35 -06:00
8 changed files with 109 additions and 42 deletions

View File

@@ -19,7 +19,7 @@ jobs:
git submodule update --remote --recursive
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4.1.0
uses: peter-evans/create-pull-request@v4.1.1
with:
title: "Updated submodule"
branch: "chore/update-submodule"

View File

@@ -23,7 +23,7 @@ jobs:
with:
output: 'HISTORY.md'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4.1.0
uses: peter-evans/create-pull-request@v4.1.1
with:
base: "main"
title: "Upgraded to ${{ steps.sync-release-version.outputs.new_version }}"

View File

@@ -167,7 +167,7 @@ jobs:
echo "${{ toJSON(steps.changed-files.outputs) }}"
shell:
bash
- name: Exit with 1 if no error is raised
if: steps.changed-files.outcome != 'failure'
run: |
@@ -187,7 +187,7 @@ jobs:
echo "${{ toJSON(steps.changed-files-specific.outputs) }}"
shell:
bash
- name: Exit with 1 if no error is raised
if: steps.changed-files-specific.outcome != 'failure'
run: |
@@ -219,7 +219,7 @@ jobs:
echo "${{ toJSON(steps.changed-files.outputs) }}"
shell:
bash
- name: Exit with 1 if no error is raised
if: steps.changed-files.outcome != 'failure'
run: |
@@ -239,7 +239,7 @@ jobs:
echo "${{ toJSON(steps.changed-files-specific.outputs) }}"
shell:
bash
- name: Exit with 1 if no error is raised
if: steps.changed-files-specific.outcome != 'failure'
run: |
@@ -302,6 +302,26 @@ jobs:
echo '${{ toJSON(steps.changed-files-dir-names.outputs) }}'
shell:
bash
- name: Run changed-files since 2022-08-19
id: changed-files-since
uses: ./
with:
since: "2022-08-19"
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-since.outputs) }}'
shell:
bash
- name: Run changed-files until 2022-08-20
id: changed-files-until
uses: ./
with:
until: "2022-08-21"
- name: Show output
run: |
echo '${{ toJSON(steps.changed-files-until.outputs) }}'
shell:
bash
- name: Run changed-files with forward slash separator
id: changed-files-forward-slash
uses: ./
@@ -367,20 +387,18 @@ jobs:
bash
- name: Run changed-files for old new filenames test rename 1
id: changed-files-all-old-new-renamed-files-1
if: contains('dependabot[bot] dependabot renovate[bot] renovate', github.actor) || github.event.pull_request.head.repo.owner.login == github.repository_owner
uses: ./
with:
base_sha: d1c0ee4
sha: 4d04215
include_all_old_new_renamed_files: true
- name: Show output
if: contains('dependabot[bot] dependabot renovate[bot] renovate', github.actor) || github.event.pull_request.head.repo.owner.login == github.repository_owner
run: |
echo '${{ toJSON(steps.changed-files-all-old-new-renamed-files-1.outputs) }}'
shell:
bash
- name: Check all_old_new_renamed_files output
if: "!contains(steps.changed-files-all-old-new-renamed-files-1.outputs.all_old_new_renamed_files, 'test/test rename 1.txt,test/test rename-1.txt') && (contains('dependabot[bot] dependabot renovate[bot] renovate', github.actor) || github.event.pull_request.head.repo.owner.login == github.repository_owner)"
if: "!contains(steps.changed-files-all-old-new-renamed-files-1.outputs.all_old_new_renamed_files, 'test/test rename 1.txt,test/test rename-1.txt')"
run: |
echo "Invalid output: Expected to include (test/test rename 1.txt,test/test rename-1.txt) got (${{ steps.changed-files-all-old-new-renamed-files-1.outputs.all_old_new_renamed_files }})"
exit 1
@@ -388,20 +406,18 @@ jobs:
bash
- name: Run changed-files for old new filenames test rename 2
id: changed-files-all-old-new-renamed-files-2
if: contains('dependabot[bot] dependabot renovate[bot] renovate', github.actor) || github.event.pull_request.head.repo.owner.login == github.repository_owner
uses: ./
with:
base_sha: 4d04215
sha: fe238e6
include_all_old_new_renamed_files: true
- name: Show output
if: contains('dependabot[bot] dependabot renovate[bot] renovate', github.actor) || github.event.pull_request.head.repo.owner.login == github.repository_owner
run: |
echo '${{ toJSON(steps.changed-files-all-old-new-renamed-files-2.outputs) }}'
shell:
bash
- name: Check all_old_new_renamed_files output
if: "!contains(steps.changed-files-all-old-new-renamed-files-2.outputs.all_old_new_renamed_files, 'test/test rename 2.txt,test/test rename-2.txt') && (contains('dependabot[bot] dependabot renovate[bot] renovate', github.actor) || github.event.pull_request.head.repo.owner.login == github.repository_owner)"
if: "!contains(steps.changed-files-all-old-new-renamed-files-2.outputs.all_old_new_renamed_files, 'test/test rename 2.txt,test/test rename-2.txt')"
run: |
echo "Invalid output: Expected to include (test/test rename 2.txt test/test rename-2.txt) got (${{ steps.changed-files-all-old-new-renamed-files-2.outputs.all_old_new_renamed_files }})"
exit 1

View File

@@ -31,7 +31,7 @@ jobs:
- name: Create Pull Request
if: failure()
uses: peter-evans/create-pull-request@v4.1.0
uses: peter-evans/create-pull-request@v4.1.1
with:
base: "main"
title: "Updated README.md"

View File

@@ -1,5 +1,28 @@
# Changelog
## [Unreleased](https://github.com/tj-actions/changed-files/tree/HEAD)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v27...HEAD)
**Fixed bugs:**
- \[BUG\] changes based on last remote commit fail after rebasing [\#546](https://github.com/tj-actions/changed-files/issues/546)
## [v27](https://github.com/tj-actions/changed-files/tree/v27) (2022-08-17)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v26.1...v27)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:**
- fix: bug force pushing commits after a rebase [\#583](https://github.com/tj-actions/changed-files/pull/583) ([jackton1](https://github.com/jackton1))
- Updated README.md [\#582](https://github.com/tj-actions/changed-files/pull/582) ([jackton1](https://github.com/jackton1))
- chore\(deps\): update peter-evans/create-pull-request action to v4.1.0 [\#581](https://github.com/tj-actions/changed-files/pull/581) ([renovate[bot]](https://github.com/apps/renovate))
- Upgraded to v26.1 [\#580](https://github.com/tj-actions/changed-files/pull/580) ([jackton1](https://github.com/jackton1))
## [v26.1](https://github.com/tj-actions/changed-files/tree/v26.1) (2022-08-15)
[Full Changelog](https://github.com/tj-actions/changed-files/compare/v26...v26.1)
@@ -90,10 +113,6 @@
- \[BUG\] Repo name changed, workflows are broken [\#542](https://github.com/tj-actions/changed-files/issues/542)
**Closed issues:**
- Dependency Dashboard [\#27](https://github.com/tj-actions/changed-files/issues/27)
**Merged pull requests:**
- feat: fix bug with similar commit hashes. [\#549](https://github.com/tj-actions/changed-files/pull/549) ([jackton1](https://github.com/jackton1))

View File

@@ -70,7 +70,7 @@ jobs:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v26.1
uses: tj-actions/changed-files@v27
- name: List all changed files
run: |
@@ -150,6 +150,8 @@ Support this project with a :star:
| diff\_relative | `boolean` | `false` | | Exclude changes outside the current directory and show pathnames relative to it. |
| dir\_names | `boolean` | `false` | `false` | Output unique changed directories instead of filenames. <br> NOTE: This returns `.` for <br> changed files located in the root of the project. |
| json | `boolean` | `false` | `false` | Output changed files in JSON format which can be used for matrix jobs. |
| since | `string` | `false` | | Get changed files for commits whose timestamp is older than the given time. |
| until | `string` | `false` | | Get changed files for commits whose timestamp is earlier than the given time. |
## Examples
@@ -157,17 +159,17 @@ Support this project with a :star:
...
steps:
- uses: actions/checkout@v3
# with:
# fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
with:
fetch-depth: 0 # OR "2" -> To retrieve the preceding commit.
# submodules: true # OR "recursive" -> To include all changed submodule files.
- name: Get changed files using defaults
id: changed-files
uses: tj-actions/changed-files@v26.1
uses: tj-actions/changed-files@v27
- name: Get changed files using a comma separator
id: changed-files-comma
uses: tj-actions/changed-files@v26.1
uses: tj-actions/changed-files@v27
with:
separator: ","
@@ -189,7 +191,7 @@ Support this project with a :star:
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v26.1
uses: tj-actions/changed-files@v27
with:
files: |
my-file.txt
@@ -230,14 +232,14 @@ Support this project with a :star:
- 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@v26.1
uses: tj-actions/changed-files@v27
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@v26.1
uses: tj-actions/changed-files@v27
with:
files_from_source_file: |
test/changed-files-list.txt
@@ -246,13 +248,13 @@ Support this project with a :star:
- name: Use a different commit SHA
id: changed-files-custom-sha
uses: tj-actions/changed-files@v26.1
uses: tj-actions/changed-files@v27
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@v26.1
uses: tj-actions/changed-files@v27
with:
base_sha: "2096ed0"
@@ -264,7 +266,7 @@ Support this project with a :star:
- name: Run changed-files with defaults on the dir1
id: changed-files-for-dir1
uses: tj-actions/changed-files@v26.1
uses: tj-actions/changed-files@v27
with:
path: dir1
@@ -276,19 +278,19 @@ Support this project with a :star:
- name: Run changed-files using the last commit on the remote branch
id: changed-files-since-last-remote-commit
uses: tj-actions/changed-files@v26.1
uses: tj-actions/changed-files@v27
with:
since_last_remote_commit: "true"
- name: Run changed-files using the fork point of a pull request
id: changed-files-fork-point
uses: tj-actions/changed-files@v26.1
uses: tj-actions/changed-files@v27
with:
use_fork_point: "true"
- name: Run changed-files with quotepath disabled
id: changed-files-quotepath
uses: tj-actions/changed-files@v26.1
uses: tj-actions/changed-files@v27
with:
quotepath: "false"
@@ -310,7 +312,7 @@ Support this project with a :star:
- 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@v26.1
uses: tj-actions/changed-files@v27
with:
base_sha: ${{ steps.last_successful_commit_push.outputs.commit_hash }}
@@ -331,22 +333,34 @@ Support this project with a :star:
- name: Run changed-files with the commit of the last successful test workflow run on main
if: github.event_name == 'pull_request'
id: changed-files-base-sha-pull-request
uses: tj-actions/changed-files@v26.1
uses: tj-actions/changed-files@v27
with:
base_sha: ${{ steps.last_successful_commit_pull_request.outputs.commit_hash }}
- name: Run changed-files with dir_names
id: changed-files-dir-names
uses: tj-actions/changed-files@v26.1
uses: tj-actions/changed-files@v27
with:
dir_names: "true"
# All outputs are JSON formatted arrays and can be used in other actions and matrix compatible jobs.
- name: Run changed-files with json output
id: changed-files-json
uses: tj-actions/changed-files@v26.1
uses: tj-actions/changed-files@v27
with:
json: "true"
- name: Run changed-files since 2022-08-19
id: changed-files-since
uses: tj-actions/changed-files@v27
with:
since: "2022-08-19"
- name: Run changed-files until 2022-08-20
id: changed-files-until
uses: tj-actions/changed-files@v27
with:
until: "2022-08-20"
```
<img width="1147" alt="Screen Shot 2021-11-19 at 4 59 21 PM" src="https://user-images.githubusercontent.com/17484350/142696936-8b7ca955-7ef9-4d53-9bdf-3e0008e90c3f.png">
@@ -397,7 +411,7 @@ With the switch from using grep's Extended regex to match files to the natively
- name: Get specific changed files
id: changed-files-specific
uses: tj-actions/changed-files@v26.1
uses: tj-actions/changed-files@v27
with:
files: |
*.sh

View File

@@ -58,6 +58,12 @@ inputs:
description: "Use the last commit on the remote branch as the base_sha for push event."
required: false
default: "false"
since:
description: "Get changed files for commits whose timestamp is older than the given time"
required: false
until:
description: "Get changed files for commits whose timestamp is earlier than the given time"
required: false
path:
description: "Specify a relative path under $GITHUB_WORKSPACE to locate the repository"
required: false
@@ -152,7 +158,10 @@ runs:
steps:
- run: |
# "Set base sha..."
if [[ -n "${{ inputs.base_sha }}" ]]; then
if [[ -n "${{ inputs.since }}" ]]; then
BASE_SHA=$(git log --format="%H" --date=local --since="${{ inputs.since }}" --reverse | head -n 1)
echo "::set-output name=base_sha::$BASE_SHA"
elif [[ -n "${{ inputs.base_sha }}" ]]; then
echo "::set-output name=base_sha::${{ inputs.base_sha }}"
elif [[ "${{ inputs.since_last_remote_commit }}" == "true" && "${{ github.event.forced }}" == "true" && "${{ github.event.before }}" != "0000000000000000000000000000000000000000" ]]; then
LAST_REMOTE_COMMIT=$(git rev-parse $(git branch -r --sort=-committerdate | head -1))
@@ -164,6 +173,16 @@ runs:
fi
id: base-sha
shell: bash
- run: |
# "Set the sha..."
if [[ -n "${{ inputs.until }}" ]]; then
SHA=$(git log -1 --format="%H" --date=local --until="${{ inputs.until }}")
echo "::set-output name=sha::$SHA"
else
echo "::set-output name=sha::${{ inputs.sha }}"
fi
id: sha
shell: bash
- run: |
# "Calculating the previous and current SHA..."
bash $GITHUB_ACTION_PATH/diff-sha.sh
@@ -178,7 +197,7 @@ runs:
GITHUB_WORKSPACE: ${{ github.workspace }}
# 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_SHA: ${{ steps.sha.outputs.sha }}
INPUT_BASE_SHA: ${{ steps.base-sha.outputs.base_sha }}
INPUT_TOKEN: ${{ inputs.token }}
INPUT_PATH: ${{ inputs.path }}

View File

@@ -19,11 +19,11 @@ fi
echo "Verifying git version..."
function __version() {
echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }';
function __version() {
echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }';
}
GIT_VERSION=$(git --version | awk '{print $3}'); exit_status=$?
GIT_VERSION=$(git --version | awk '{print $3}'); exit_status=$?
if [[ $exit_status -ne 0 ]]; then
echo "::error::git not installed"
@@ -122,7 +122,6 @@ fi
if [[ -n "$PREVIOUS_SHA" && -n "$CURRENT_SHA" && "$PREVIOUS_SHA" == "$CURRENT_SHA" && "$INITIAL_COMMIT" == "false" ]]; then
echo "::error::Similar commit hashes detected: previous sha: $PREVIOUS_SHA is equivalent to the current sha: $CURRENT_SHA"
echo "::error::You seem to be missing 'fetch-depth: 0' or 'fetch-depth: 2'. See https://github.com/tj-actions/changed-files#usage"
exit 1
fi