Skip to content

Fix security vulnerability and resolve linting violations across framework modules #124

Fix security vulnerability and resolve linting violations across framework modules

Fix security vulnerability and resolve linting violations across framework modules #124

Re-run triggered August 1, 2025 21:21
Status Failure
Total duration 1m 43s
Artifacts

modules-ci.yml

on: pull_request
detect-modules
6s
detect-modules
Matrix: lint-modules
Matrix: test-modules
Matrix: verify-modules
modules-summary
3s
modules-summary
Fit to window
Zoom out
Zoom in

Annotations

49 errors
Lint httpserver: modules/httpserver/module.go#L264
do not compare errors directly "err != http.ErrServerClosed", use "!errors.Is(err, http.ErrServerClosed)" instead (err113)
Lint httpserver: modules/httpserver/module.go#L156
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"service %s does not implement http.Handler\", \"router\")" (err113)
Lint httpserver: modules/httpserver/config.go#L120
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"TLS is enabled but no key file specified\")" (err113)
Lint httpserver: modules/httpserver/config.go#L117
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"TLS is enabled but no certificate file specified\")" (err113)
Lint httpserver: modules/httpserver/config.go#L110
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"TLS auto-generation is enabled but no domains specified\")" (err113)
Lint httpserver: modules/httpserver/config.go#L78
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"invalid port number: %d\", c.Port)" (err113)
Lint httpserver: modules/httpserver/certificate_service_test.go#L67
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"config section %s not found\", name)" (err113)
Lint httpserver: modules/httpserver/certificate_service_test.go#L33
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"no certificate found for domain: %s\", clientHello.ServerName)" (err113)
Lint httpserver: modules/httpserver/certificate_service_test.go#L28
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"server name is empty\")" (err113)
Lint httpserver: modules/httpserver/module.go#L185
Non-inherited new context, use function like `context.WithXXX` instead (contextcheck)
Lint auth: modules/auth/stores_test.go#L29
bool-compare: use assert.False (testifylint)
Lint auth: modules/auth/service_test.go#L305
require-error: for error assertions use require (testifylint)
Lint auth: modules/auth/module_test.go#L234
require-error: for error assertions use require (testifylint)
Lint auth: modules/auth/module_test.go#L178
require-error: for error assertions use require (testifylint)
Lint auth: modules/auth/service.go#L423
non-wrapping format verb for fmt.Errorf. Use `%w` to format errors (errorlint)
Lint auth: modules/auth/service.go#L449
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"user info URL not configured for provider %s\", provider)" (err113)
Lint auth: modules/auth/service.go#L209
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"unexpected signing method: %v\", token.Header[\"alg\"])" (err113)
Lint auth: modules/auth/service.go#L122
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"unexpected signing method: %v\", token.Header[\"alg\"])" (err113)
Lint auth: modules/auth/module.go#L186
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"session_store service does not implement SessionStore interface\")" (err113)
Lint auth: modules/auth/module.go#L174
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"user_store service does not implement UserStore interface\")" (err113)
Lint eventbus: modules/eventbus/module.go#L261
error returned from interface method should be wrapped: sig: func (github.com/GoCodeAlone/modular/modules/eventbus.EventBus).Start(ctx context.Context) error (wrapcheck)
Lint eventbus: modules/eventbus/module_test.go#L122
len: use assert.Len (testifylint)
Lint eventbus: modules/eventbus/memory.go#L342
log/slog.Error must not be called. use log/slog.ErrorContext (noctx)
Lint eventbus: modules/eventbus/memory.go#L319
log/slog.Error must not be called. use log/slog.ErrorContext (noctx)
Lint eventbus: modules/eventbus/memory.go#L240
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"invalid subscription type\")" (err113)
Lint eventbus: modules/eventbus/memory.go#L235
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"event bus not started\")" (err113)
Lint eventbus: modules/eventbus/memory.go#L203
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"event handler cannot be nil\")" (err113)
Lint eventbus: modules/eventbus/memory.go#L199
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"event bus not started\")" (err113)
Lint eventbus: modules/eventbus/memory.go#L137
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"event bus not started\")" (err113)
Lint eventbus: modules/eventbus/memory.go#L127
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"event bus shutdown timed out\")" (err113)
Lint scheduler: modules/scheduler/module_test.go#L324
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"intentional test failure\")" (err113)
Lint scheduler: modules/scheduler/module.go#L365
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"job store does not implement PersistableJobStore interface\")" (err113)
Lint scheduler: modules/scheduler/module.go#L341
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"job store does not implement PersistableJobStore interface\")" (err113)
Lint scheduler: modules/scheduler/memory_store.go#L163
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"execution with start time %v not found for job ID %s\", execution.StartTime, execution.JobID)" (err113)
Lint scheduler: modules/scheduler/memory_store.go#L151
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"no executions found for job ID %s\", execution.JobID)" (err113)
Lint scheduler: modules/scheduler/memory_store.go#L124
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"job with ID %s not found\", jobID)" (err113)
Lint scheduler: modules/scheduler/memory_store.go#L64
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"job with ID %s not found\", jobID)" (err113)
Lint scheduler: modules/scheduler/memory_store.go#L50
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"job with ID %s not found\", job.ID)" (err113)
Lint scheduler: modules/scheduler/memory_store.go#L36
do not define dynamic errors, use wrapped static errors instead: "fmt.Errorf(\"job with ID %s already exists\", job.ID)" (err113)
Lint scheduler: modules/scheduler/scheduler.go#L154
Function `worker->executeJob` should pass the context parameter (contextcheck)
Lint cache
issues found
Lint cache: modules/cache/module_test.go#L474
float-compare: use assert.InEpsilon (or InDelta) (testifylint)
Lint cache: modules/cache/module_test.go#L350
require-error: for error assertions use require (testifylint)
Lint cache: modules/cache/module_test.go#L345
require-error: for error assertions use require (testifylint)
Lint cache: modules/cache/module_test.go#L149
require-error: for error assertions use require (testifylint)
Lint cache: modules/cache/module_test.go#L124
len: use assert.Len (testifylint)
Lint cache: modules/cache/module_test.go#L529
Error return value of `s.Set` is not checked (errcheck)
Lint database
issues found
Lint database: modules/database/service.go#L263
(*database/sql.DB).Begin must not be called. use (*database/sql.DB).BeginTx (noctx)