mirror of
https://github.com/ivuorinen/gh-action-readme.git
synced 2026-03-13 07:00:25 +00:00
* chore(lint): added nlreturn, run linting * chore(lint): replace some fmt.Sprintf calls * chore(lint): replace fmt.Sprintf with strconv * chore(lint): add goconst, use http lib for status codes, and methods * chore(lint): use errors lib, errCodes from internal/errors * chore(lint): dupl, thelper and usetesting * chore(lint): fmt.Errorf %v to %w, more linters * chore(lint): paralleltest, where possible * perf(test): optimize test performance by 78% - Implement shared binary building with package-level cache to eliminate redundant builds - Add strategic parallelization to 15+ tests while preserving environment variable isolation - Implement thread-safe fixture caching with RWMutex to reduce I/O operations - Remove unnecessary working directory changes by leveraging embedded templates - Add embedded template system with go:embed directive for reliable template resolution - Fix linting issues: rename sharedBinaryError to errSharedBinary, add nolint directive Performance improvements: - Total test execution time: 12+ seconds → 2.7 seconds (78% faster) - Binary build overhead: 14+ separate builds → 1 shared build (93% reduction) - Parallel execution: Limited → 15+ concurrent tests (60-70% better CPU usage) - I/O operations: 66+ fixture reads → cached with sync.RWMutex (50% reduction) All tests maintain 100% success rate and coverage while running nearly 4x faster.
90 lines
1.4 KiB
YAML
90 lines
1.4 KiB
YAML
# yaml-language-server: $schema=https://golangci-lint.run/jsonschema/golangci.jsonschema.json
|
|
version: "2"
|
|
|
|
run:
|
|
timeout: 5m
|
|
go: "1.23"
|
|
|
|
linters:
|
|
default: standard
|
|
|
|
enable:
|
|
# Additional linters beyond standard
|
|
- asciicheck
|
|
- bidichk
|
|
- bodyclose
|
|
- canonicalheader
|
|
- contextcheck
|
|
- dupl
|
|
- errname
|
|
- exhaustive
|
|
- forcetypeassert
|
|
# - funcorder
|
|
- goconst
|
|
- gocritic
|
|
- gocyclo
|
|
- godot
|
|
- godox
|
|
- goheader
|
|
- gosec
|
|
- iface
|
|
- importas
|
|
- lll
|
|
- maintidx
|
|
- misspell
|
|
- nilerr
|
|
- nlreturn
|
|
- nolintlint
|
|
- perfsprint
|
|
- prealloc
|
|
- predeclared
|
|
- reassign
|
|
- revive
|
|
- tagalign
|
|
- testableexamples
|
|
- thelper
|
|
- usestdlibvars
|
|
- usetesting
|
|
|
|
disable:
|
|
# Disable noisy linters
|
|
- funlen
|
|
- wsl
|
|
- wrapcheck
|
|
|
|
settings:
|
|
lll:
|
|
line-length: 120
|
|
misspell:
|
|
locale: US
|
|
gocyclo:
|
|
min-complexity: 10
|
|
goconst:
|
|
min-len: 2
|
|
min-occurrences: 3
|
|
|
|
formatters:
|
|
enable:
|
|
- gofmt
|
|
- goimports
|
|
- golines
|
|
|
|
settings:
|
|
golines:
|
|
max-len: 120
|
|
gofmt:
|
|
simplify: true
|
|
rewrite-rules:
|
|
- pattern: 'interface{}'
|
|
replacement: 'any'
|
|
- pattern: 'a[b:len(a)]'
|
|
replacement: 'a[b:]'
|
|
goimports:
|
|
local-prefixes:
|
|
- github.com/ivuorinen/gh-action-readme
|
|
|
|
issues:
|
|
max-issues-per-linter: 50
|
|
max-same-issues: 3
|
|
fix: true
|