A GitHub Action that outputs changed, added, and removed files in your repository for use in CI/CD workflows.
file-changes-action is a GitHub Action that detects and outputs which files have been changed, added, or removed in a repository during push or pull request events. It solves the problem of needing to trigger specific CI/CD workflow steps based on exactly which files were modified, enabling more efficient and targeted automation.
Developers and DevOps engineers building GitHub Actions workflows who need to conditionally execute jobs based on file changes, such as deploying only affected services or running tests for modified components.
Developers choose this action because it provides a simple, configurable way to get detailed file change information without writing custom Git comparison logic, supporting multiple output formats and integration methods for flexible workflow design.
This action can be added, and you will get outputs of all of the files that have changed in your repository for you to use.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports JSON, CSV, and custom delimiters for both variable and file outputs, as shown in the 'output' and 'fileOutput' inputs, allowing easy integration into various workflows.
Allows specifying commit SHAs via 'pushBefore'/'pushAfter' or PR numbers via 'prNumber' for targeted file comparisons, enabling precise change detection beyond default events.
Provides both GitHub Action output variables and physical files on the runner (e.g., $HOME/files.json), offering flexibility in how changes are accessed and used in subsequent steps.
Can compare changes from any GitHub repository with the 'githubRepo' input and appropriate token permissions, making it useful for cross-repo workflows.
Relies on GitHub API calls which can be rate-limited and requires proper token setup (via 'githubToken'), potentially causing failures in restricted or high-volume environments.
Specifying commit SHAs or PR numbers requires additional configuration and understanding of Git history, which might be error-prone for users unfamiliar with GitHub events.
Only outputs file names and change types (added, modified, removed), not the actual content differences, which may be insufficient for workflows needing line-level analysis.