{"id":6326295,"name":"ludeeus/action-shellcheck","ecosystem":"actions","description":"GitHub action for ShellCheck.","homepage":"","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/ludeeus/action-shellcheck","keywords_array":[],"namespace":"ludeeus","versions_count":11,"first_release_published_at":"2019-03-09T10:25:33.000Z","latest_release_published_at":"2023-01-29T16:39:54.000Z","latest_release_number":"2.0.0","last_synced_at":"2026-03-31T14:02:23.857Z","created_at":"2023-02-13T13:08:12.629Z","updated_at":"2026-03-31T14:02:23.857Z","registry_url":"https://github.com/ludeeus/action-shellcheck","install_command":null,"documentation_url":null,"metadata":{"name":"ShellCheck","author":"Ludeeus \u003chi@ludeeus.dev\u003e","description":"GitHub action for ShellCheck.","inputs":{"additional_files":{"description":"A space separated list of additional filename to check","required":false,"default":""},"ignore":{"description":"Paths to ignore when running ShellCheck","required":false,"default":"","deprecationMessage":"Use ignore_paths or ignore_names instead."},"ignore_paths":{"description":"Paths to ignore when running ShellCheck","required":false,"default":""},"ignore_names":{"description":"Names to ignore when running ShellCheck","required":false,"default":""},"severity":{"description":"Minimum severity of errors to consider. Options: [error, warning, info, style]","required":false,"default":""},"check_together":{"description":"Run shellcheck on _all_ files at once, instead of one at a time","required":false,"default":""},"scandir":{"description":"Directory to be searched for files. Defaults to .","required":false,"default":"."},"disable_matcher":{"description":"Set to true to skip using problem-matcher","required":false,"default":"false","deprecationMessage":"There are no problem-matchers, this setting does not do anything."},"format":{"description":"Output format (checkstyle, diff, gcc, json, json1, quiet, tty)","required":false,"default":"gcc"},"version":{"description":"Specify a concrete version of ShellCheck to use","required":false,"default":"stable"}},"outputs":{"files":{"description":"A list of files with issues","value":"${{ steps.check.outputs.filepaths }}"},"options":{"description":"The options used","value":"${{ steps.options.outputs.options }}"}},"branding":{"icon":"terminal","color":"gray-dark"},"runs":{"using":"composite","steps":[{"name":"Download shellcheck","shell":"bash","env":{"INPUT_VERSION":"${{ inputs.version }}"},"run":"if [[ \"${{ runner.os }}\" == \"macOS\" ]]; then\n  osvariant=\"darwin\"\nelse\n  osvariant=\"linux\"\nfi\n\nbaseurl=\"https://github.com/koalaman/shellcheck/releases/download\"\n\ncurl -Lso \"${{ github.action_path }}/sc.tar.xz\" \\\n  \"${baseurl}/${INPUT_VERSION}/shellcheck-${INPUT_VERSION}.${osvariant}.x86_64.tar.xz\"\n\ntar -xf \"${{ github.action_path }}/sc.tar.xz\" -C \"${{ github.action_path }}\"\nmv \"${{ github.action_path }}/shellcheck-${INPUT_VERSION}/shellcheck\" \\\n  \"${{ github.action_path }}/shellcheck\"\n"},{"name":"Display shellcheck version","shell":"bash","run":"\"${{ github.action_path }}/shellcheck\" --version\n"},{"name":"Set options","shell":"bash","id":"options","env":{"INPUT_SEVERITY":"${{ inputs.severity }}","INPUT_FORMAT":"${{ inputs.format }}"},"run":"declare -a options\nif [[ -n \"${INPUT_SEVERITY}\" ]]; then\n  options+=(\"-S ${INPUT_SEVERITY}\")\nfi\noptions+=(\"--format=${INPUT_FORMAT}\")\necho \"options=${options[@]}\" \u003e\u003e $GITHUB_OUTPUT\n"},{"name":"Gather excluded paths","shell":"bash","id":"exclude","env":{"INPUT_IGNORE":"${{ inputs.ignore }}","INPUT_IGNORE_PATHS":"${{ inputs.ignore_paths }}","INPUT_IGNORE_NAMES":"${{ inputs.ignore_names }}"},"run":"declare -a excludes\nset -f # temporarily disable globbing so that globs in input aren't expanded\n\nexcludes+=(\"! -path *./.git/*\")\nexcludes+=(\"! -path *.go\")\nexcludes+=(\"! -path */mvnw\")\nif [[ -n \"${INPUT_IGNORE}\" ]]; then\n  for path in ${INPUT_IGNORE}; do\n    excludes+=(\"! -path *./$path/*\")\n    excludes+=(\"! -path */$path/*\")\n    excludes+=(\"! -path $path\")\n  done\nelse\n  for path in ${INPUT_IGNORE_PATHS}; do\n    excludes+=(\"! -path *./$path/*\")\n    excludes+=(\"! -path */$path/*\")\n    excludes+=(\"! -path $path\")\n  done\nfi\n\nfor name in ${INPUT_IGNORE_NAMES}; do\n  excludes+=(\"! -name $name\")\ndone\necho \"excludes=${excludes[@]}\" \u003e\u003e $GITHUB_OUTPUT\n\nset +f # re-enable globbing\n"},{"name":"Gather additional files","shell":"bash","id":"additional","env":{"INPUT_ADDITIONAL_FILES":"${{ inputs.additional_files }}"},"run":"declare -a files\nfor file in ${INPUT_ADDITIONAL_FILES}; do\n  files+=(\"-o -name *$file\")\ndone\necho \"files=${files[@]}\" \u003e\u003e $GITHUB_OUTPUT\n"},{"name":"Run the check","shell":"bash","id":"check","env":{"INPUT_SCANDIR":"${{ inputs.scandir }}","INPUT_CHECK_TOGETHER":"${{ inputs.check_together }}","INPUT_EXCLUDE_ARGS":"${{ steps.exclude.outputs.excludes }}","INPUT_ADDITIONAL_FILE_ARGS":"${{ steps.additional.outputs.files }}","INPUT_SHELLCHECK_OPTIONS":"${{ steps.options.outputs.options }}"},"run":"statuscode=0\ndeclare -a filepaths\nshebangregex=\"^#! */[^ ]*/(env *)?[abk]*sh\"\n\nset -f # temporarily disable globbing so that globs in inputs aren't expanded\n\nwhile IFS= read -r -d '' file; do\n  filepaths+=(\"$file\")\ndone \u003c \u003c(find \"${INPUT_SCANDIR}\" \\\n    ${INPUT_EXCLUDE_ARGS} \\\n    -type f \\\n    '(' \\\n    -name '*.bash' \\\n    -o -name '.bashrc' \\\n    -o -name 'bashrc' \\\n    -o -name '.bash_aliases' \\\n    -o -name '.bash_completion' \\\n    -o -name '.bash_login' \\\n    -o -name '.bash_logout' \\\n    -o -name '.bash_profile' \\\n    -o -name 'bash_profile' \\\n    -o -name '*.ksh' \\\n    -o -name 'suid_profile' \\\n    -o -name '*.zsh' \\\n    -o -name '.zlogin' \\\n    -o -name 'zlogin' \\\n    -o -name '.zlogout' \\\n    -o -name 'zlogout' \\\n    -o -name '.zprofile' \\\n    -o -name 'zprofile' \\\n    -o -name '.zsenv' \\\n    -o -name 'zsenv' \\\n    -o -name '.zshrc' \\\n    -o -name 'zshrc' \\\n    -o -name '*.sh' \\\n    -o -path '*/.profile' \\\n    -o -path '*/profile' \\\n    -o -name '*.shlib' \\\n    ${INPUT_ADDITIONAL_FILE_ARGS} \\\n    ')' \\\n    -print0)\n\nwhile IFS= read -r -d '' file; do\n  head -n1 \"$file\" | grep -Eqs \"$shebangregex\" || continue\n  filepaths+=(\"$file\")\ndone \u003c \u003c(find \"${INPUT_SCANDIR}\" \\\n    ${INPUT_EXCLUDE_ARGS} \\\n    -type f ! -name '*.*' -perm /111 \\\n    -print0)\n\nif [[ -n \"${INPUT_CHECK_TOGETHER}\" ]]; then\n  \"${{ github.action_path }}/shellcheck\" \\\n    ${INPUT_SHELLCHECK_OPTIONS} \\\n    \"${filepaths[@]}\" || statuscode=$?\nelse\n  for file in \"${filepaths[@]}\"; do\n    \"${{ github.action_path }}/shellcheck\" \\\n      ${INPUT_SHELLCHECK_OPTIONS} \\\n      \"$file\" || statuscode=$?\n  done\nfi\n\necho \"filepaths=${filepaths[@]}\" \u003e\u003e $GITHUB_OUTPUT\necho \"statuscode=$statuscode\" \u003e\u003e $GITHUB_OUTPUT\n\nset +f # re-enable globbing\n"},{"name":"Exit action","shell":"bash","run":"exit ${{steps.check.outputs.statuscode}}"}]},"default_branch":"master","path":null},"repo_metadata":{"uuid":"174679242","full_name":"ludeeus/action-shellcheck","owner":"ludeeus","description":"GitHub action for ShellCheck.","archived":false,"fork":false,"pushed_at":"2023-04-09T09:47:40.000Z","size":65,"stargazers_count":245,"open_issues_count":1,"forks_count":63,"subscribers_count":8,"default_branch":"master","last_synced_at":"2023-07-13T08:50:25.335Z","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/ludeeus.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}},"created_at":"2019-03-09T10:24:54.000Z","updated_at":"2023-07-03T01:53:15.000Z","dependencies_parsed_at":"2023-02-16T00:00:44.068Z","dependency_job_id":null,"html_url":"https://github.com/ludeeus/action-shellcheck","commit_stats":{"total_commits":71,"total_committers":28,"mean_commits":"2.5357142857142856","dds":0.6901408450704225,"last_synced_commit":"00cae500b08a931fb5698e11e79bfbd38e612a38"},"previous_names":[],"tags_count":11,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ludeeus","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":145718375,"owners_count":6280332,"icon_url":"https://github.com/github.png","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"},"owner_record":{"login":"ludeeus","name":"Joakim Sørensen","uuid":"15093472","kind":"user","description":"Trying my best to make things easier for others.","email":"","website":"https://www.ludeeus.dev","location":"Norway","twitter":"ludeeus","company":"@NabuCasa","icon_url":"https://avatars.githubusercontent.com/u/15093472?u=afd377480e8308476be0278000675f0b7e362d38\u0026v=4","repositories_count":35,"last_synced_at":"2023-03-02T01:00:52.124Z","metadata":{"has_sponsors_listing":true},"html_url":"https://github.com/ludeeus","created_at":"2022-11-12T19:45:15.023Z","updated_at":"2023-03-02T01:00:52.135Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ludeeus","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ludeeus/repositories"},"tags":[{"name":"2.0.0","sha":"00cae500b08a931fb5698e11e79bfbd38e612a38","kind":"commit","published_at":"2023-01-29T16:39:54.000Z","download_url":"https://codeload.github.com/ludeeus/action-shellcheck/tar.gz/2.0.0","html_url":"https://github.com/ludeeus/action-shellcheck/releases/tag/2.0.0","dependencies_parsed_at":"2023-06-01T00:04:29.381Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/2.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/2.0.0/manifests"},{"name":"1.1.0","sha":"94e0aab03ca135d11a35e5bfc14e6746dc56e7e9","kind":"commit","published_at":"2021-03-31T19:03:27.000Z","download_url":"https://codeload.github.com/ludeeus/action-shellcheck/tar.gz/1.1.0","html_url":"https://github.com/ludeeus/action-shellcheck/releases/tag/1.1.0","dependencies_parsed_at":"2023-05-30T22:19:30.039Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/1.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/1.1.0/manifests"},{"name":"1.0.0","sha":"d586102c117f97e63d7e3b56629d269efc9a7c60","kind":"commit","published_at":"2020-10-25T20:06:05.000Z","download_url":"https://codeload.github.com/ludeeus/action-shellcheck/tar.gz/1.0.0","html_url":"https://github.com/ludeeus/action-shellcheck/releases/tag/1.0.0","dependencies_parsed_at":"2023-05-30T22:19:30.980Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/1.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/1.0.0/manifests"},{"name":"0.5.0","sha":"c489c81f79527f818be72b97b918b06e75eaee6d","kind":"commit","published_at":"2020-07-28T12:21:49.000Z","download_url":"https://codeload.github.com/ludeeus/action-shellcheck/tar.gz/0.5.0","html_url":"https://github.com/ludeeus/action-shellcheck/releases/tag/0.5.0","dependencies_parsed_at":"2023-05-30T22:19:31.595Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.5.0/manifests"},{"name":"0.4.1","sha":"2394c9008b9dfe3897187f907e93b57eedeeedb2","kind":"commit","published_at":"2020-07-14T18:29:42.000Z","download_url":"https://codeload.github.com/ludeeus/action-shellcheck/tar.gz/0.4.1","html_url":"https://github.com/ludeeus/action-shellcheck/releases/tag/0.4.1","dependencies_parsed_at":"2023-05-30T22:19:32.274Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.4.1/manifests"},{"name":"0.4.0","sha":"637bb438ece579707f2ac0286d8c7710d1ee6721","kind":"commit","published_at":"2020-07-05T21:50:07.000Z","download_url":"https://codeload.github.com/ludeeus/action-shellcheck/tar.gz/0.4.0","html_url":"https://github.com/ludeeus/action-shellcheck/releases/tag/0.4.0","dependencies_parsed_at":"2023-05-30T22:19:32.989Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.4.0/manifests"},{"name":"0.3.0","sha":"2f2aa0d97fc8dfbed979cbc05a5380c256ba0922","kind":"commit","published_at":"2020-06-27T17:42:52.000Z","download_url":"https://codeload.github.com/ludeeus/action-shellcheck/tar.gz/0.3.0","html_url":"https://github.com/ludeeus/action-shellcheck/releases/tag/0.3.0","dependencies_parsed_at":"2023-05-30T22:19:33.575Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.3.0/manifests"},{"name":"0.2.1","sha":"513f424cc701902b6abd0010f56ade3ad716a767","kind":"commit","published_at":"2020-06-10T09:56:06.000Z","download_url":"https://codeload.github.com/ludeeus/action-shellcheck/tar.gz/0.2.1","html_url":"https://github.com/ludeeus/action-shellcheck/releases/tag/0.2.1","dependencies_parsed_at":"2023-05-30T22:19:34.253Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.2.1/manifests"},{"name":"0.2.0","sha":"f22efe748c16418560f2bc828f4e8da8954f0271","kind":"commit","published_at":"2020-05-30T10:02:57.000Z","download_url":"https://codeload.github.com/ludeeus/action-shellcheck/tar.gz/0.2.0","html_url":"https://github.com/ludeeus/action-shellcheck/releases/tag/0.2.0","dependencies_parsed_at":"2023-05-30T22:19:34.871Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.2.0/manifests"},{"name":"0.1.0","sha":"43d591f97276cf3883b8d6fd0341ecb1cc67142f","kind":"commit","published_at":"2019-03-14T17:15:36.000Z","download_url":"https://codeload.github.com/ludeeus/action-shellcheck/tar.gz/0.1.0","html_url":"https://github.com/ludeeus/action-shellcheck/releases/tag/0.1.0","dependencies_parsed_at":"2023-05-30T22:19:35.199Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.1.0/manifests"},{"name":"0.0.1","sha":"e4a40965ffed674651f2bdc7a171e03b86006d05","kind":"commit","published_at":"2019-03-09T10:25:33.000Z","download_url":"https://codeload.github.com/ludeeus/action-shellcheck/tar.gz/0.0.1","html_url":"https://github.com/ludeeus/action-shellcheck/releases/tag/0.0.1","dependencies_parsed_at":"2023-05-30T22:19:35.475Z","dependency_job_id":null,"tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ludeeus%2Faction-shellcheck/tags/0.0.1/manifests"}]},"repo_metadata_updated_at":"2023-07-14T09:51:50.672Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":2742,"rankings":{"downloads":null,"dependent_repos_count":0.43733164316273176,"dependent_packages_count":0.0,"stargazers_count":0.9221993344953257,"forks_count":0.9507209633972429,"docker_downloads_count":null,"average":0.5775629852638251},"purl":"pkg:githubactions/ludeeus/action-shellcheck","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/actions/ludeeus/action-shellcheck","docker_dependents_count":1,"docker_downloads_count":817889533,"usage_url":"https://repos.ecosyste.ms/usage/actions/ludeeus/action-shellcheck","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/actions/ludeeus/action-shellcheck/dependencies","status":null,"funding_links":["https://github.com/sponsors/ludeeus"],"critical":null,"issue_metadata":{"last_synced_at":"2023-08-09T10:23:48.945Z","issues_count":39,"pull_requests_count":55,"avg_time_to_close_issue":5404136.837837838,"avg_time_to_close_pull_request":2122314.5185185187,"issues_closed_count":37,"pull_requests_closed_count":54,"pull_request_authors_count":30,"issue_authors_count":37,"avg_comments_per_issue":2.128205128205128,"avg_comments_per_pull_request":0.509090909090909,"merged_pull_requests_count":47,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":12,"past_year_pull_requests_count":20,"past_year_avg_time_to_close_issue":524561.1,"past_year_avg_time_to_close_pull_request":832657.4210526316,"past_year_issues_closed_count":10,"past_year_pull_requests_closed_count":19,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":12,"past_year_avg_comments_per_issue":2.1666666666666665,"past_year_avg_comments_per_pull_request":0.4,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":16},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/ludeeus%2Faction-shellcheck/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/ludeeus%2Faction-shellcheck/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/ludeeus%2Faction-shellcheck/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/ludeeus%2Faction-shellcheck/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/ludeeus%2Faction-shellcheck/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/ludeeus%2Faction-shellcheck/codemeta","maintainers":[]}