72 lines
4.2 KiB
Markdown
72 lines
4.2 KiB
Markdown
# Shellcheck WoodpeckerCI Plugin
|
|
|
|
[](https://hub.docker.com/r/kokuwaio/shellcheck)
|
|
[](https://hub.docker.com/r/kokuwaio/shellcheck)
|
|
[](https://git.kokuwa.io/woodpecker/shellcheck/src/branch/main/Dockerfile)
|
|
[](https://git.kokuwa.io/woodpecker/shellcheck/src/branch/main/LICENSE)
|
|
[](https://git.kokuwa.io/woodpecker/shellcheck/pulls)
|
|
[](https://git.kokuwa.io/woodpecker/shellcheck/issues)
|
|
|
|
A [WoodpeckerCI](https://woodpecker-ci.org) plugin for [shellsheck](https://github.com/koalaman/shellcheck) 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:
|
|
|
|
```yaml
|
|
steps:
|
|
shellcheck:
|
|
image: kokuwaio/shellcheck
|
|
settings:
|
|
shell: bash
|
|
severity: error
|
|
when:
|
|
event: pull_request
|
|
path: "**/*.sh"
|
|
```
|
|
|
|
Gitlab:
|
|
|
|
```yaml
|
|
shellcheck:
|
|
stage: lint
|
|
image: kokuwaio/shellcheck
|
|
variables:
|
|
PLUGIN_SHELL: bash
|
|
PLUGIN_SEVERITY: error
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
changes: ["**/*.sh"]
|
|
```
|
|
|
|
CLI:
|
|
|
|
```bash
|
|
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](https://github.com/koalaman/shellcheck/wiki/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](https://hub.docker.com/r/kokuwaio/shellcheck) | Woodpecker plugin | [](https://hub.docker.com/r/kokuwaio/shellcheck) | [](https://hub.docker.com/r/kokuwaio/shellcheck) |
|
|
| [koalaman/shellcheck](https://hub.docker.com/r/koalaman/shellcheck) | not a Woodpecker plugin, official | [](https://hub.docker.com/r/koalaman/shellcheck) | [](https://hub.docker.com/r/koalaman/shellcheck) |
|
|
| [pipelinecomponents/shellcheck](https://hub.docker.com/r/pipelinecomponents/shellcheck) | not a Woodpecker plugin | [](https://hub.docker.com/r/pipelinecomponents/shellcheck) | [](https://hub.docker.com/r/pipelinecomponents/shellcheck) |
|