Verify that certain files or directories did or did not change during the workflow execution.
- Boolean output indicating the presence of uncommited changes.
- List all files that changed during the workflow execution.
- Restrict change detection to a subset of files.
- Regex pattern matching on a subset of files.
NOTE:
⚠️
This action only detects files that have pending uncommited changes generated during the workflow execution, for running a specific step when a file changes relative to the default branch or previous commit
See: https://github.com/tj-actions/changed-files
Detects files that were
Added,Copied,Modified,Unmerged,Unknown, had theirType changed,UnstagedandRenamed.
...
steps:
- uses: actions/checkout@v2
- name: Change text file
run: |
echo "Modified" > new.txt
- name: Change file in directory
run: |
echo "Changed" > test_directory/new.txt
- name: Verify Changed files
uses: tj-actions/[email protected]
id: verify-changed-files
with:
files: |
new.txt
test_directory
.(py|jpeg)$
\.sql$
^(mynewfile|custom)
- name: Run step only when files change.
if: steps.verify-changed-files.outputs.files_changed == 'true'
run: |
echo "Changed files: ${{ steps.verify_changed_files.outputs.changed_files }}"
# Outputs: "Changed files: new.txt test_directory/new.txt"Using the contains function.
...
- name: Verify Changed files
uses: tj-actions/[email protected]
id: verify-changed-files
with:
files: |
new.txt
test_directory
- name: Perform action when test_directory changes
if: contains(steps.verify-changed-files.outputs.changed_files, 'test_directory')
run: |
echo "test_directory has changed."| Input | type | required | default | description |
|---|---|---|---|---|
| token | string |
true |
${{ github.token }} |
GITHUB_TOKEN or a repo scoped Personal Access Token |
| files | string[] OR string |
true |
Check for uncommited changes using only these list of file(s) |
| Input | type | example | description |
|---|---|---|---|
| files_changed | string |
true OR false |
Indicates that there are outstanding changes |
| changed_files | string |
example.txt ... |
List of file(s)/directory names that changed during the workflow execution |
- Free software: MIT license
If you feel generous and want to show some extra appreciation:
Support me with a ⭐
