mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Build: Stricter linting should break the build (#23606)
This commit is contained in:
@@ -731,9 +731,11 @@ jobs:
|
|||||||
golangci-lint run -v -j 4 --config scripts/go/configs/ci/.golangci.yml -E unconvert -E unused \
|
golangci-lint run -v -j 4 --config scripts/go/configs/ci/.golangci.yml -E unconvert -E unused \
|
||||||
-E varcheck -E goconst -E errcheck -E staticcheck ./pkg/...
|
-E varcheck -E goconst -E errcheck -E staticcheck ./pkg/...
|
||||||
./scripts/go/bin/revive -formatter stylish -config ./scripts/go/configs/revive.toml ./pkg/...
|
./scripts/go/bin/revive -formatter stylish -config ./scripts/go/configs/revive.toml ./pkg/...
|
||||||
./scripts/go/bin/revive ./pkg/services/alerting/...
|
./scripts/go/bin/revive -formatter stylish -config ./scripts/go/configs/revive-strict.toml \
|
||||||
./scripts/go/bin/revive -formatter stylish ./pkg/services/provisioning/datasources/...
|
./pkg/services/alerting/... \
|
||||||
./scripts/go/bin/revive -formatter stylish ./pkg/services/provisioning/dashboards/...
|
./pkg/services/provisioning/datasources/... \
|
||||||
|
./pkg/services/provisioning/dashboards/...
|
||||||
|
|
||||||
./scripts/go/bin/gosec -quiet -exclude=G104,G107,G108,G201,G202,G204,G301,G304,G401,G402,G501 \
|
./scripts/go/bin/gosec -quiet -exclude=G104,G107,G108,G201,G202,G204,G301,G304,G401,G402,G501 \
|
||||||
-conf=./scripts/go/configs/gosec.json ./pkg/...
|
-conf=./scripts/go/configs/gosec.json ./pkg/...
|
||||||
|
|
||||||
|
|||||||
1
Makefile
1
Makefile
@@ -84,6 +84,7 @@ revive-alerting: scripts/go/bin/revive
|
|||||||
@echo "lint alerting via revive"
|
@echo "lint alerting via revive"
|
||||||
@scripts/go/bin/revive \
|
@scripts/go/bin/revive \
|
||||||
-formatter stylish \
|
-formatter stylish \
|
||||||
|
-config ./scripts/go/configs/revive-strict.toml \
|
||||||
./pkg/services/alerting/... \
|
./pkg/services/alerting/... \
|
||||||
./pkg/services/provisioning/datasources/... \
|
./pkg/services/provisioning/datasources/... \
|
||||||
./pkg/services/provisioning/dashboards/...
|
./pkg/services/provisioning/dashboards/...
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ func (c *QueryCondition) executeQuery(context *alerting.EvalContext, timeRange *
|
|||||||
}
|
}
|
||||||
|
|
||||||
type queryDto struct {
|
type queryDto struct {
|
||||||
RefId string `json:"refId"`
|
RefID string `json:"refId"`
|
||||||
Model *simplejson.Json `json:"model"`
|
Model *simplejson.Json `json:"model"`
|
||||||
Datasource *simplejson.Json `json:"datasource"`
|
Datasource *simplejson.Json `json:"datasource"`
|
||||||
MaxDataPoints int64 `json:"maxDataPoints"`
|
MaxDataPoints int64 `json:"maxDataPoints"`
|
||||||
@@ -137,7 +137,7 @@ func (c *QueryCondition) executeQuery(context *alerting.EvalContext, timeRange *
|
|||||||
queries := []*queryDto{}
|
queries := []*queryDto{}
|
||||||
for _, q := range req.Queries {
|
for _, q := range req.Queries {
|
||||||
queries = append(queries, &queryDto{
|
queries = append(queries, &queryDto{
|
||||||
RefId: q.RefId,
|
RefID: q.RefId,
|
||||||
Model: q.Model,
|
Model: q.Model,
|
||||||
Datasource: simplejson.NewFromAny(map[string]interface{}{
|
Datasource: simplejson.NewFromAny(map[string]interface{}{
|
||||||
"id": q.DataSource.Id,
|
"id": q.DataSource.Id,
|
||||||
|
|||||||
@@ -2,12 +2,13 @@ package notifiers
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"testing"
|
||||||
|
|
||||||
"github.com/grafana/grafana/pkg/bus"
|
"github.com/grafana/grafana/pkg/bus"
|
||||||
"github.com/grafana/grafana/pkg/components/simplejson"
|
"github.com/grafana/grafana/pkg/components/simplejson"
|
||||||
"github.com/grafana/grafana/pkg/models"
|
"github.com/grafana/grafana/pkg/models"
|
||||||
"github.com/grafana/grafana/pkg/services/alerting"
|
"github.com/grafana/grafana/pkg/services/alerting"
|
||||||
. "github.com/smartystreets/goconvey/convey"
|
. "github.com/smartystreets/goconvey/convey"
|
||||||
"testing"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestOpsGenieNotifier(t *testing.T) {
|
func TestOpsGenieNotifier(t *testing.T) {
|
||||||
@@ -83,9 +84,9 @@ func TestOpsGenieNotifier(t *testing.T) {
|
|||||||
|
|
||||||
receivedTags := make([]string, 0)
|
receivedTags := make([]string, 0)
|
||||||
bus.AddHandlerCtx("alerting", func(ctx context.Context, cmd *models.SendWebhookSync) error {
|
bus.AddHandlerCtx("alerting", func(ctx context.Context, cmd *models.SendWebhookSync) error {
|
||||||
bodyJson, err := simplejson.NewJson([]byte(cmd.Body))
|
bodyJSON, err := simplejson.NewJson([]byte(cmd.Body))
|
||||||
if err == nil {
|
if err == nil {
|
||||||
receivedTags = bodyJson.Get("tags").MustStringArray([]string{})
|
receivedTags = bodyJSON.Get("tags").MustStringArray([]string{})
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -173,16 +173,16 @@ func NewRuleFromDBAlert(ruleDef *models.Alert) (*Rule, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func translateNotificationIDToUID(id int64, orgID int64) (string, error) {
|
func translateNotificationIDToUID(id int64, orgID int64) (string, error) {
|
||||||
notificationUid, err := getAlertNotificationUidByIDAndOrgID(id, orgID)
|
notificationUID, err := getAlertNotificationUIDByIDAndOrgID(id, orgID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Debug("Failed to translate Notification Id to Uid", "orgID", orgID, "Id", id)
|
logger.Debug("Failed to translate Notification Id to Uid", "orgID", orgID, "Id", id)
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
return notificationUid, nil
|
return notificationUID, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func getAlertNotificationUidByIDAndOrgID(notificationID int64, orgID int64) (string, error) {
|
func getAlertNotificationUIDByIDAndOrgID(notificationID int64, orgID int64) (string, error) {
|
||||||
query := &models.GetAlertNotificationUidQuery{
|
query := &models.GetAlertNotificationUidQuery{
|
||||||
OrgId: orgID,
|
OrgId: orgID,
|
||||||
Id: notificationID,
|
Id: notificationID,
|
||||||
|
|||||||
26
scripts/go/configs/revive-strict.toml
Normal file
26
scripts/go/configs/revive-strict.toml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
ignoreGeneratedHeader = false
|
||||||
|
severity = "error"
|
||||||
|
confidence = 0.8
|
||||||
|
errorCode = 1
|
||||||
|
warningCode = 1
|
||||||
|
|
||||||
|
[rule.context-as-argument]
|
||||||
|
[rule.error-return]
|
||||||
|
[rule.package-comments]
|
||||||
|
[rule.range]
|
||||||
|
[rule.superfluous-else]
|
||||||
|
[rule.modifies-parameter]
|
||||||
|
[rule.indent-error-flow]
|
||||||
|
[rule.error-strings]
|
||||||
|
[rule.error-naming]
|
||||||
|
[rule.exported]
|
||||||
|
[rule.unexported-return]
|
||||||
|
[rule.dot-imports]
|
||||||
|
[rule.receiver-naming]
|
||||||
|
[rule.blank-imports]
|
||||||
|
[rule.var-naming]
|
||||||
|
|
||||||
|
# This can be checked by other tools like megacheck
|
||||||
|
[rule.unreachable-code]
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user