{"id":21321890,"url":"https://github.com/funbeedev/checkchangedfileshelper","last_synced_at":"2025-09-11T22:42:11.917Z","repository":{"id":203735091,"uuid":"436434218","full_name":"funbeedev/CheckChangedFilesHelper","owner":"funbeedev","description":"GitHub Action to detect all changed files pushed to repo and perform a check. Copy and configure to your needs.","archived":false,"fork":false,"pushed_at":"2021-12-09T03:31:35.000Z","size":16,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-15T22:44:30.362Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/funbeedev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-12-09T00:31:19.000Z","updated_at":"2023-02-23T07:09:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"991e2266-40b7-4b2c-8741-572d351875a3","html_url":"https://github.com/funbeedev/CheckChangedFilesHelper","commit_stats":null,"previous_names":["funbeedev/checkchangedfileshelper"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/funbeedev/CheckChangedFilesHelper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funbeedev%2FCheckChangedFilesHelper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funbeedev%2FCheckChangedFilesHelper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funbeedev%2FCheckChangedFilesHelper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funbeedev%2FCheckChangedFilesHelper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/funbeedev","download_url":"https://codeload.github.com/funbeedev/CheckChangedFilesHelper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funbeedev%2FCheckChangedFilesHelper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274719445,"owners_count":25337237,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-21T20:11:30.472Z","updated_at":"2025-09-11T22:42:11.898Z","avatar_url":"https://github.com/funbeedev.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  Check Changed Files Helper ✔️\n\n![Check Changed Files Helper](https://res.cloudinary.com/practicaldev/image/fetch/s--NNZjm2uc--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q5483y5sadyg3nqf3gu8.png)\n\n##  📜 About 📜\n\nSubmitted for the GitHub Actions Hackathon on DEV. [View the DEV post submission](https://dev.to/funbeedev/check-changed-files-helper-github-actions-4dao).\n\n[GitHub Actions](https://github.com/features/actions) are a feature provided by GitHub as a way to automate workflows useful for managing repositories.\n\n`Check Changed Files Helper` is a GitHub Action workflow that performs a check on changes made to source files pushed to a repository. Customise this workflow to suit your own repository needs.\n\nThis repo shows an example of how GitHub Action workflows can be used to automate checks on files changed in the repo.\n\n**This project relies on the [`Get Changed Files`](https://github.com/marketplace/actions/get-changed-files) Action available on the GitHub marketplace**.  \nThis Action provides all added, renamed and modified files as a JSON file within the runner filesystem. When a file or multiple files are changed on the repo, it will identify and list each in the JSON file.\n\n`Check Changed Files Helper` takes each changed file and performs a check to execute any recognised source file types. A handy way to automate checks of files submitted to your repository!\n\nNote: The example workflow structure provided may not suit every repository. However, it can act as a starting point to get you thinking about workflows to automate checks on pushed changes.\n\n\n## 💻 How to use 💻\n\nThe files needed to run this workflow are placed under the repo path `.github/workflows`. Fork this repo or copy these files to start customising for your own use.\n\n`auto-check-changed-files.yml`: YAML file containing the GitHub Actions workflow. This will setup any necessary dependencies and use the [`Get Changed Files`](https://github.com/marketplace/actions/get-changed-files) Action to generate a JSON containing all files changed on the repository with every push to the `main` branch. Following this, the `auto-check-changed-files.sh` bash script is executed.\n\n`auto-check-changed-files.sh`: Bash script containing custom check instructions. It scans through each changed file pushed to the repository and performs a basic execution check on each file. Edit this script to extend the recognised file types and checks to be performed.\n\n\n## ⚙️ Configure to suit your needs ⚙️\n- Play around by forking this repo and pushing changes (e.g. adding, renaming or modifying) to the source files.\n- The GitHub Actions workflow will trigger and perform a check on each changed file.\n- Sample checks are provided for following file types:`.c .py .js .sh`. The sample check is to simply execute the file type acting as a very basic sanity check on the file contents.\n- Use this as a template to perform specific checks on files changed on the repository according to the file type.\n- Get creative and modify the workflow YAML and bash script to suit the needs of your repository!\n\n\n## ❓ Questions ❓\nCreate an [ISSUE](../../issues) if you have any questions, suggestions or anything else.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffunbeedev%2Fcheckchangedfileshelper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffunbeedev%2Fcheckchangedfileshelper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffunbeedev%2Fcheckchangedfileshelper/lists"}