verify-changed-files icon indicating copy to clipboard operation
verify-changed-files copied to clipboard

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

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: :warning:

  • 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

...
    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: |
             *.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/[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."

If you feel generous and want to show some extra appreciation:

Support this project with a :star:

Buy me a coffee

Inputs

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.

Outputs

OUTPUT TYPE DESCRIPTION
changed_files string List of changed files
files_changed string Boolean indicating that files have
changed.
  • Free software: MIT license

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!