-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
this commit add github action linters like golangci, codespell, markdownlint, misspell, govulncheck. Signed-off-by: subhamkrai <[email protected]>
- Loading branch information
1 parent
b07663e
commit 880ab7e
Showing
1 changed file
with
122 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,122 @@ | ||
name: Linter | ||
on: | ||
push: | ||
tags: | ||
- v* | ||
branches: | ||
- master | ||
- release-* | ||
pull_request: | ||
branches: | ||
- master | ||
- release-* | ||
|
||
# cancel the in-progress workflow when PR is refreshed. | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }} | ||
cancel-in-progress: true | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
codespell: | ||
name: codespell | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: codespell | ||
uses: codespell-project/actions-codespell@master | ||
with: | ||
# LICENSE: skip file because codespell wants to flag complies, which we may want to flag | ||
# in other places, so ignore the file itself assuming it is correct | ||
# crds.yaml, resources.yaml: CRD files are fully generated from content we control (should | ||
# be flagged elsewhere) and content we don't control (can't fix easily), so ignore | ||
skip: .git,*.png,*.jpg,*.svg,*.sum,./LICENSE,./deploy/examples/crds.yaml,./deploy/charts/rook-ceph/templates/resources.yaml | ||
# aks: Amazon Kubernetes Service | ||
# keyserver: flag to apt-key | ||
# atleast: codespell wants to flag any 'AtLeast' method | ||
# ser, ist: MIME types in pkg/operator/ceph/object/mime.go | ||
# ba: daemon ID test in pkg/operator/k8sutil/name_test.go | ||
# iam: Identity and Access Management, e.g., AWS IAM | ||
# te: udev persistent naming test in pkg/daemon/ceph/osd/daemon_test.go | ||
# parm: modinfo parameter | ||
# assigment: inherited from K8s TopologySpreadConstraints dependency | ||
# ro, RO: means read-only | ||
ignore_words_list: aks,keyserver,atleast,ser,ist,ba,iam,te,parm,assigment,ro,RO,addin,NotIn | ||
check_filenames: true | ||
check_hidden: true | ||
misspell: | ||
name: misspell | ||
runs-on: ubuntu-22.04 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: misspell | ||
uses: reviewdog/action-misspell@v1 | ||
|
||
golangci: | ||
name: golangci-lint | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- uses: actions/setup-go@v5 | ||
with: | ||
go-version: "1.21" | ||
- name: golangci-lint | ||
uses: golangci/golangci-lint-action@v6 | ||
with: | ||
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version. | ||
version: v1.55 | ||
|
||
# Optional: working directory, useful for monorepos | ||
# working-directory: somedir | ||
|
||
# Optional: golangci-lint command line arguments. | ||
args: --config=.golangci.yml | ||
|
||
# actions/setup-go already handles caching | ||
skip-cache: true | ||
|
||
# Optional: show only new issues if it's a pull request. The default value is `false`. | ||
# only-new-issues: true | ||
|
||
govulncheck: | ||
name: govulncheck | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/setup-go@v5 | ||
with: | ||
go-version: "1.22" | ||
check-latest: true | ||
- name: govulncheck | ||
uses: golang/govulncheck-action@v1 | ||
|
||
|
||
shellcheck: | ||
name: Shellcheck | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Run ShellCheck | ||
uses: ludeeus/action-shellcheck@master | ||
with: | ||
severity: warning | ||
check_together: 'yes' | ||
disable_matcher: false | ||
additional_files: build/reset build/sed-in-place | ||
ignore: olm | ||
format: gcc | ||
|
||
markdownlint: | ||
name: markdownlint | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: DavidAnson/markdownlint-cli2-action@v16 | ||
with: | ||
globs: '**/*.md' |