Skip to content
You're viewing an older version of this GitHub Action. Do you want to see the latest version instead?
file-text

GitHub Action

Verify Changed files

v8.7

Verify Changed files

file-text

Verify Changed files

Find files that were modified during workflow execution

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Verify Changed files

uses: tj-actions/[email protected]

Learn more about this action in tj-actions/verify-changed-files

Choose a version

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

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 indicating the presence of 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/[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."

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).

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

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

Support me with a ⭐

Buy me a coffee

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!