-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* add golangci-lint * add github workflows and minor fixes * add dependabot config
- Loading branch information
Showing
19 changed files
with
1,564 additions
and
20 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,3 @@ | ||
capi | ||
capic | ||
decorder |
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,23 @@ | ||
--- | ||
version: 2 | ||
updates: | ||
- package-ecosystem: "gomod" | ||
directory: "/" | ||
schedule: | ||
interval: "daily" | ||
groups: | ||
kubernetes: | ||
patterns: | ||
- k8s.io/api | ||
- k8s.io/apimachinery | ||
- k8s.io/client-go | ||
|
||
- package-ecosystem: "docker" | ||
directory: "/" | ||
schedule: | ||
interval: "weekly" | ||
|
||
- package-ecosystem: "github-actions" | ||
directory: "/" | ||
schedule: | ||
interval: "daily" |
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,15 @@ | ||
# Helps catch spelling errors | ||
name: Codespell | ||
on: [ pull_request ] | ||
|
||
jobs: | ||
codespell: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: codespell-project/actions-codespell@94259cd8be02ad2903ba34a22d9c13de21a74461 # v2.0 | ||
with: | ||
skip: .git,_artifacts,*.sum | ||
ignore_words_file: .codespellignore | ||
check_filenames: true | ||
check_hidden: true |
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,9 @@ | ||
[ | ||
{ | ||
"include": [ "**/*.go" ], | ||
"license": "hack/boilerplate.go.txt" | ||
}, | ||
{ | ||
"include": [ "**" ] | ||
} | ||
] |
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,14 @@ | ||
# Checks if all go files have the required license header | ||
name: License | ||
on: [ pull_request ] | ||
|
||
jobs: | ||
license: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: viperproject/check-license-header@v2 | ||
with: | ||
path: . | ||
config: .github/workflows/license.conf | ||
strict: false |
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,39 @@ | ||
name: Lint | ||
on: [ pull_request ] | ||
|
||
jobs: | ||
golangci: | ||
name: lint | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: actions/setup-go@v4 | ||
with: | ||
go-version-file: go.mod | ||
- name: golangci-lint | ||
uses: golangci/[email protected] | ||
with: | ||
version: v1.55 | ||
|
||
# TODO(lubedacht) include later | ||
# yamllint: | ||
# name: yamllint | ||
# runs-on: ubuntu-latest | ||
# steps: | ||
# - uses: actions/[email protected] | ||
# - uses: ibiqlik/action-yamllint@v3 | ||
# with: | ||
# format: github | ||
|
||
actionlint: | ||
name: actionlint | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/[email protected] | ||
- name: Download actionlint | ||
id: get_actionlint | ||
run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash) | ||
shell: bash | ||
- name: Check workflow files | ||
run: ${{ steps.get_actionlint.outputs.executable }} -color | ||
shell: bash |
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,20 @@ | ||
name: Test | ||
on: [ pull_request ] | ||
|
||
jobs: | ||
go_test: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/[email protected] | ||
- uses: actions/setup-go@v4 | ||
with: | ||
go-version-file: go.mod | ||
- name: Run tests | ||
run: "make test" | ||
|
||
# TODO(lubedacht) include later | ||
# - name: SonarCloud Scan | ||
# uses: SonarSource/[email protected] | ||
# env: | ||
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any | ||
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |
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,135 @@ | ||
linters: | ||
disable-all: true | ||
enable: | ||
- asciicheck | ||
- bodyclose | ||
- dogsled | ||
- errcheck | ||
- exportloopref | ||
- goconst | ||
- gocritic | ||
- gocyclo | ||
- godot | ||
- gofmt | ||
- goimports | ||
- goprintffuncname | ||
- gosec | ||
- gosimple | ||
- govet | ||
- importas | ||
- ineffassign | ||
- loggercheck | ||
- misspell | ||
- nakedret | ||
- nilerr | ||
- nolintlint | ||
- prealloc | ||
- revive | ||
- staticcheck | ||
- stylecheck | ||
- typecheck | ||
- unconvert | ||
- unparam | ||
- unused | ||
- whitespace | ||
|
||
linters-settings: | ||
ifshort: | ||
# Maximum length of variable declaration measured in number of characters, after which linter won't suggest using short syntax. | ||
max-decl-chars: 50 | ||
importas: | ||
no-unaliased: true | ||
alias: | ||
# Kubernetes | ||
- pkg: k8s.io/api/(\w+)/(v[\w\d]+) | ||
alias: $1$2 | ||
- pkg: k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1 | ||
alias: apiextensionsv1 | ||
- pkg: k8s.io/apimachinery/pkg/apis/meta/v1 | ||
alias: metav1 | ||
- pkg: k8s.io/apimachinery/pkg/api/errors | ||
alias: apierrors | ||
- pkg: k8s.io/apimachinery/pkg/util/errors | ||
alias: kerrors | ||
# Controller Runtime | ||
- pkg: sigs.k8s.io/controller-runtime | ||
alias: ctrl | ||
- pkg: sigs.k8s.io/cluster-api/api/v1beta1 | ||
alias: clusterv1 | ||
loggercheck: | ||
require-string-key: true | ||
no-printf-like: true | ||
staticcheck: | ||
go: "1.21" | ||
stylecheck: | ||
go: "1.21" | ||
|
||
issues: | ||
max-same-issues: 0 | ||
max-issues-per-linter: 0 | ||
# We are disabling default golangci exclusions because we want to help reviewers to focus on reviewing the most relevant | ||
# changes in PRs and avoid nitpicking. | ||
exclude-use-default: false | ||
# List of regexps of issue texts to exclude, empty list by default. | ||
exclude: | ||
# The following are being worked on to remove their exclusion. This list should be reduced or go away all together over time. | ||
# If it is decided they will not be addressed they should be moved above this comment. | ||
- Subprocess launch(ed with variable|ing should be audited) | ||
- (Expect directory permissions to be 0750 or less|Expect file permissions to be 0600 or less) | ||
- (G104|G307) | ||
exclude-rules: | ||
- linters: | ||
- gosec | ||
text: "G108: Profiling endpoint is automatically exposed on /debug/pprof" | ||
- linters: | ||
- revive | ||
text: "exported: exported method .*\\.(Reconcile|SetupWithManager|SetupWebhookWithManager) should have comment or be unexported" | ||
- linters: | ||
- errcheck | ||
text: Error return value of .((os\.)?std(out|err)\..*|.*Close|.*Flush|os\.Remove(All)?|.*print(f|ln)?|os\.(Un)?Setenv). is not checked | ||
# With Go 1.16, the new embed directive can be used with an un-named import, | ||
# revive (previously, golint) only allows these to be imported in a main.go, which wouldn't work for us. | ||
# This directive allows the embed package to be imported with an underscore everywhere. | ||
- linters: | ||
- revive | ||
source: _ "embed" | ||
# Exclude some packages or code to require comments, for example test code, or fake clients. | ||
- linters: | ||
- revive | ||
text: exported (method|function|type|const) (.+) should have comment or be unexported | ||
source: (func|type).*Fake.* | ||
- linters: | ||
- revive | ||
text: exported (method|function|type|const) (.+) should have comment or be unexported | ||
path: fake_\.go | ||
- linters: | ||
- revive | ||
text: exported (method|function|type|const) (.+) should have comment or be unexported | ||
path: "(framework|e2e|infrastructure/docker)/.*.go" | ||
# Disable unparam "always receives" which might not be really | ||
# useful when building libraries. | ||
- linters: | ||
- unparam | ||
text: always receives | ||
# Dot imports for gomega or ginkgo are allowed | ||
# within test files. | ||
- path: _test\.go | ||
text: should not use dot imports | ||
- path: (framework|e2e)/.*.go | ||
text: should not use dot imports | ||
- path: _test\.go | ||
text: cyclomatic complexity | ||
# Append should be able to assign to a different var/slice. | ||
- linters: | ||
- gocritic | ||
text: "appendAssign: append result not assigned to the same slice" | ||
|
||
|
||
run: | ||
timeout: 10m | ||
skip-files: | ||
- "zz_generated.*\\.go$" | ||
- ".*conversion.*\\.go$" | ||
skip-dirs: | ||
- mock* | ||
allow-parallel-runners: true |
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
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
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
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
Oops, something went wrong.