action-staticcheck
November 10, 2025 ยท View on GitHub
This action runs staticcheck with reviewdog on pull requests to improve code review experience.
Link to the staticcheck check rule is available as well. e.g. SA9004
Input
inputs:
github_token:
description: 'GITHUB_TOKEN'
default: '${{ github.token }}'
workdir:
description: 'Working directory relative to the root directory.'
default: '.'
### Flags for reviewdog ###
level:
description: 'Report level for reviewdog [info,warning,error]'
default: 'error'
reporter:
description: 'Reporter of reviewdog command [github-pr-check,github-check,github-pr-review].'
default: 'github-pr-review'
filter_mode:
description: |
Filtering mode for the reviewdog command [added,diff_context,file,nofilter].
Default is added.
default: 'added'
fail_level:
description: |
If set to `none`, always use exit code 0 for reviewdog. Otherwise, exit code 1 for reviewdog if it finds at least 1 issue with severity greater than or equal to the given level.
Possible values: [none,any,info,warning,error]
Default is `none`.
default: 'none'
fail_on_error:
description: |
Deprecated, use `fail_level` instead.
Exit code for reviewdog when errors are found [true,false]
Default is `false`.
default: 'false'
deprecationMessage: 'Deprecated, use `fail_level` instead.'
reviewdog_flags:
description: 'Additional reviewdog flags'
default: ''
### Flags for staticcheck ###
target:
description: 'Target of staticcheck'
default: './...'
staticcheck_flags:
description: 'staticcheck flags'
default: ''
use_go_install:
description: 'Use go install to build staticcheck from source instead of downloading prebuilt binary'
default: 'false'
Usage
name: reviewdog
on: [pull_request]
jobs:
staticcheck:
name: runner / staticcheck
runs-on: ubuntu-latest
steps:
# checkout code
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
# If you want to use the specific version of Go,
# you need actions/setup-go@v4 action.
- uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
with:
go-version: "1.21"
# run staticcheck
- uses: reviewdog/action-staticcheck@73cfd0daa6fdbba9a858dcb0f62844012fa8317d # v1.27.0
with:
github_token: ${{ secrets.github_token }}
# Change reviewdog reporter if you need [github-pr-check,github-check,github-pr-review].
reporter: github-pr-review
# Report all results.
filter_mode: nofilter
# Exit with 1 when it find at least one finding.
fail_level: error
Development
Release
haya14busa/action-bumpr
You can bump version on merging Pull Requests with specific labels (bump:major,bump:minor,bump:patch). Pushing tag manually by yourself also work.
haya14busa/action-update-semver
This action updates major/minor release tags on a tag push. e.g. Update v1 and v1.2 tag when released v1.2.3. ref: https://help.github.com/en/articles/about-actions#versioning-your-action
Lint - reviewdog integration
This reviewdog action template itself is integrated with reviewdog to run lints which is useful for Docker container based actions.

Supported linters:
Dependencies Update Automation
This repository uses haya14busa/action-depup to update reviewdog version.
