A WoodpeckerCI plugin for shellsheck to lint shell files. https://hub.docker.com/r/kokuwaio/shellcheck
  • Shell 56.7%
  • Dockerfile 43.3%
Find a file
Renovate 2d39812be1
All checks were successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/lint Pipeline was successful
ci/woodpecker/pr/test/2 Pipeline was successful
ci/woodpecker/pr/test/1 Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/lint Pipeline was successful
ci/woodpecker/push/test/2 Pipeline was successful
ci/woodpecker/push/test/1 Pipeline was successful
chore(deps): update kokuwaio/buildctl docker tag from v0.27.1 to v0.28.0
2026-03-05 21:06:59 +00:00
.github chore: aligned build files with other repositories 2025-08-04 11:34:36 +02:00
.woodpecker chore(deps): update kokuwaio/buildctl docker tag from v0.27.1 to v0.28.0 2026-03-05 21:06:59 +00:00
.justfile chore: add version to readme 2025-09-29 09:20:46 +02:00
.markdownlint.yaml Initial draft of plugin. 2025-06-17 20:06:21 +02:00
.yamllint.yaml chore: aligned build files with other repositories 2025-08-04 11:34:36 +02:00
Dockerfile chore(deps): update docker.io/library/bash:5.3.9 docker digest to e320b40 2026-01-28 08:01:03 +00:00
Dockerfile.dockerignore Initial draft of plugin. 2025-06-17 20:06:21 +02:00
entrypoint.sh Initial draft of plugin. 2025-06-17 20:06:21 +02:00
LICENSE Initial draft of plugin. 2025-06-17 20:06:21 +02:00
README.md fix(lint): fix md issues after markdownlint update 2025-11-20 20:19:39 +01:00
renovate.json chore: add version to readme 2025-09-29 09:20:46 +02:00

Shellcheck WoodpeckerCI Plugin

pulls size dockerfile license prs issues

A WoodpeckerCI plugin for shellsheck to lint shell files.
Also usable with Gitlab, Github or locally, see examples for usage.

Features

  • preconfigure Shellcheck parameters
  • searches for shell files recursive
  • runnable with local docker daemon

Example

Woodpecker:

steps:
  shellcheck:
    depends_on: []
    image: kokuwaio/shellcheck:v0.11.0
    settings:
      shell: bash
      severity: error
    when:
      event: pull_request
      path: "**/*.sh"

Gitlab: (using script is needed because of https://gitlab.com/gitlab-org/gitlab/-/issues/19717)

shellcheck:
  needs: []
  stage: lint
  image:
    name: kokuwaio/shellcheck:v0.11.0
    entrypoint: [""]
  script: [/usr/local/bin/entrypoint.sh]
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
      changes: ["**/*.sh"]

CLI:

docker run --rm --volume=$(pwd):$(pwd):ro --workdir=$(pwd) kokuwaio/shellcheck --shell=bash --severity=error

Settings

Settings Name Environment Default Description
shell PLUGIN_SHELL none Specify dialect (sh, bash, dash, ksh, busybox)
severity PLUGIN_SEVERITY style Minimum severity of errors to consider (error, warning, info, style)
include PLUGIN_INCLUDE none Consider only given types of warnings
exclude PLUGIN_EXCLUDE none Exclude types of warnings
color PLUGIN_COLOR always Use color (auto, always, never)
format PLUGIN_FORMAT tty Output format (checkstyle, diff, gcc, json, json1, quiet, tty)

Alternatives

Image Comment amd64 arm64
kokuwaio/shellcheck Woodpecker plugin size size
koalaman/shellcheck not a Woodpecker plugin, official size size
pipelinecomponents/shellcheck not a Woodpecker plugin size size