Skip to content

:octocat: Github action to verify file changes that occur during the workflow execution.

License

Notifications You must be signed in to change notification settings

seeeverything/verify-changed-files

 
 

Repository files navigation

Codacy Badge CI Update release version. Public workflows that use this action.

Ubuntu Mac OS Windows

All Contributors

verify-changed-files

Verify that certain files or directories did or did not change during the workflow execution.

Features

  • Boolean output for detecting uncommited changes.
  • List all files that changed during the workflow execution.
  • Restrict change detection to a subset of files:

Usage

NOTE: ⚠️

...
    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@v10
        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@v10
        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 ⭐

Buy me a coffee

Inputs

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)
autocrlf string true input Modify the core.autocrlf
setting possible values
(true, false, input).
separator string true ' ' Output string separator

Outputs

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

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Max Kahnt

📖

William Killerud

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

About

:octocat: Github action to verify file changes that occur during the workflow execution.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 98.2%
  • Python 1.8%