-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove the BMCClient interface, ginkgo, and gomega #102
Merged
mergify
merged 6 commits into
tinkerbell:main
from
jacobweinstock:remove-bmcclient-interface
May 11, 2023
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
521253c
Add linting to Makefile:
jacobweinstock eb17a20
Remove the BMCClient interface, ginkgo, and gomega:
jacobweinstock e67df4f
Add code coverage badge
jacobweinstock b4c46aa
Rename files and imports:
jacobweinstock 4b6b31e
Split lines in TestJobReconcile:
jacobweinstock 40bb987
Fix linting issues
jacobweinstock File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
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,203 @@ | ||
run: | ||
# The default runtime timeout is 1m, which doesn't work well on Github Actions. | ||
timeout: 4m | ||
|
||
# NOTE: This file is populated by the lint-install tool. Local adjustments may be overwritten. | ||
linters-settings: | ||
cyclop: | ||
# NOTE: This is a very high transitional threshold | ||
max-complexity: 37 | ||
package-average: 34.0 | ||
skip-tests: true | ||
|
||
gocognit: | ||
# NOTE: This is a very high transitional threshold | ||
min-complexity: 98 | ||
|
||
dupl: | ||
threshold: 200 | ||
|
||
goconst: | ||
min-len: 4 | ||
min-occurrences: 5 | ||
ignore-tests: true | ||
|
||
gosec: | ||
excludes: | ||
- G107 # Potential HTTP request made with variable url | ||
- G204 # Subprocess launched with function call as argument or cmd arguments | ||
- G404 # Use of weak random number generator (math/rand instead of crypto/rand | ||
|
||
errorlint: | ||
# these are still common in Go: for instance, exit errors. | ||
asserts: false | ||
|
||
exhaustive: | ||
default-signifies-exhaustive: true | ||
|
||
nestif: | ||
min-complexity: 8 | ||
|
||
nolintlint: | ||
require-explanation: true | ||
allow-unused: false | ||
require-specific: true | ||
|
||
revive: | ||
ignore-generated-header: true | ||
severity: warning | ||
rules: | ||
- name: atomic | ||
- name: blank-imports | ||
- name: bool-literal-in-expr | ||
- name: confusing-naming | ||
- name: constant-logical-expr | ||
- name: context-as-argument | ||
- name: context-keys-type | ||
- name: deep-exit | ||
- name: defer | ||
- name: range-val-in-closure | ||
- name: range-val-address | ||
- name: dot-imports | ||
- name: error-naming | ||
- name: error-return | ||
- name: error-strings | ||
- name: errorf | ||
- name: exported | ||
- name: identical-branches | ||
- name: if-return | ||
- name: import-shadowing | ||
- name: increment-decrement | ||
- name: indent-error-flow | ||
- name: indent-error-flow | ||
- name: package-comments | ||
- name: range | ||
- name: receiver-naming | ||
- name: redefines-builtin-id | ||
- name: superfluous-else | ||
- name: struct-tag | ||
- name: time-naming | ||
- name: unexported-naming | ||
- name: unexported-return | ||
- name: unnecessary-stmt | ||
- name: unreachable-code | ||
- name: unused-parameter | ||
- name: var-declaration | ||
- name: var-naming | ||
- name: unconditional-recursion | ||
- name: waitgroup-by-value | ||
|
||
staticcheck: | ||
go: "1.20" | ||
|
||
unused: | ||
go: "1.20" | ||
|
||
output: | ||
sort-results: true | ||
|
||
linters: | ||
disable-all: true | ||
enable: | ||
- asciicheck | ||
- bodyclose | ||
- cyclop | ||
- dogsled | ||
- dupl | ||
- durationcheck | ||
- errcheck | ||
- errname | ||
- errorlint | ||
- exhaustive | ||
- exportloopref | ||
- forcetypeassert | ||
- gocognit | ||
- goconst | ||
- gocritic | ||
- godot | ||
- gofmt | ||
- gofumpt | ||
- gosec | ||
- goheader | ||
- goimports | ||
- goprintffuncname | ||
- gosimple | ||
- govet | ||
- importas | ||
- ineffassign | ||
- makezero | ||
- misspell | ||
- nakedret | ||
- nestif | ||
- nilerr | ||
- noctx | ||
- nolintlint | ||
- predeclared | ||
# disabling for the initial iteration of the linting tool | ||
# - promlinter | ||
- revive | ||
- rowserrcheck | ||
- sqlclosecheck | ||
- staticcheck | ||
- stylecheck | ||
- thelper | ||
- tparallel | ||
- typecheck | ||
- unconvert | ||
- unparam | ||
- unused | ||
- wastedassign | ||
- whitespace | ||
|
||
# Disabled linters, due to being misaligned with Go practices | ||
# - exhaustivestruct | ||
# - gochecknoglobals | ||
# - gochecknoinits | ||
# - goconst | ||
# - godox | ||
# - goerr113 | ||
# - gomnd | ||
# - lll | ||
# - nlreturn | ||
# - testpackage | ||
# - wsl | ||
# Disabled linters, due to not being relevant to our code base: | ||
# - maligned | ||
# - prealloc "For most programs usage of prealloc will be a premature optimization." | ||
# Disabled linters due to bad error messages or bugs | ||
# - tagliatelle | ||
|
||
issues: | ||
# Excluding configuration per-path, per-linter, per-text and per-source | ||
exclude-rules: | ||
- path: _test\.go | ||
linters: | ||
- dupl | ||
- errcheck | ||
- forcetypeassert | ||
- gocyclo | ||
- gosec | ||
- noctx | ||
|
||
- path: .*cmd.* | ||
linters: | ||
- noctx | ||
|
||
- path: main\.go | ||
linters: | ||
- noctx | ||
|
||
- path: .*cmd.* | ||
text: "deep-exit" | ||
|
||
- path: main\.go | ||
text: "deep-exit" | ||
|
||
# This check is of questionable value | ||
- linters: | ||
- tparallel | ||
text: "call t.Parallel on the top level as well as its subtests" | ||
|
||
# Don't hide lint issues just because there are many of them | ||
max-same-issues: 0 | ||
max-issues-per-linter: 0 |
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
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.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm weary of removing
inline
because every object I've ever seen does it. I'm not 100%, but I think its an option used by Kubernetes client-go json/yaml implementation. Its also documented in examples in the kubebuilder book https://book.kubebuilder.io/cronjob-tutorial/new-api.html.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
inline
is not a recognized struct tag in Go. I believe the only reason to keep them is if we have any code generation that depends on it. I ranmake generate
andmake manifests
and don't think I saw any issues. I could be mistaken though.ref:
golang/go#6213
kubernetes/kubernetes#117206
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, this has plagued me with the linting and I could never find anything useful about it.