Verify that certain files or directories did or did not change during the workflow execution.
- Fast execution (0-2 seconds on average).
- Easy to debug.
- Scales to large repositories.
- Supports all platforms (Linux, MacOS, Windows).
- GitHub-hosted runners support
- GitHub Enterprise Server support.
- self-hosted runners support.
- Boolean output for detecting uncommited changes.
- List all files that changed during the workflow execution.
- Restrict change detection to a subset of files:
- Using Glob pattern matching.
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
...
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/verify-changed-files@v11.1
id: verify-changed-files
with:
files: |
*.txt
test_directory
action.yml
**/*.py
**/*.jpeg
!*.sql
- 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/verify-changed-files@v11.1
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."
If you feel generous and want to show some extra appreciation:
Support this project with a ⭐
INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
---|---|---|---|---|
autocrlf | string | true | "input" |
Modify the git config core.autocrlf. |
files | string | true | File/Directory names to check for uncommited changes. |
|
separator | string | true | " " |
Output string separator. |
OUTPUT | TYPE | DESCRIPTION |
---|---|---|
changed_files | string | List of changed files |
files_changed | string | Boolean indicating that files have changed. |
- Free software: MIT license
Thanks goes to these wonderful people (emoji key):
Max Kahnt 📖 |
William Killerud 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!