[release-10.4.17] Chore: Bump Go version to 1.23.7 (#101565)

* Chore: Bump Go version to 1.23.7

* Chore: Bump golangci-lint version to match Go version

* Chore: Fix new linting errors from Go upgrade

* Chore: Fix OpenAPI step in CI

* Chore: Fix OpenAPI spec diffs
pull/101651/head
Matheus Macabu 4 months ago committed by GitHub
parent bc0852b1f1
commit 9f4ef23c33
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 6
      .bingo/Variables.mk
  2. 6
      .bingo/golangci-lint.mod
  3. 45
      .bingo/golangci-lint.sum
  4. 2
      .bingo/variables.env
  5. 192
      .drone.yml
  6. 2
      .github/workflows/alerting-swagger-gen.yml
  7. 2
      .github/workflows/bump-version.yml
  8. 2
      .github/workflows/codeql-analysis.yml
  9. 2
      .github/workflows/pr-codeql-analysis-go.yml
  10. 2
      .github/workflows/publish-kinds-next.yml
  11. 2
      .github/workflows/publish-kinds-release.yml
  12. 2
      .github/workflows/verify-kinds.yml
  13. 2
      Dockerfile
  14. 2
      Makefile
  15. 2
      go.mod
  16. 1
      go.sum
  17. 2
      go.work
  18. 6
      pkg/api/frontend_logging.go
  19. 2
      pkg/build/go.mod
  20. 8
      pkg/cmd/grafana-cli/commands/conflict_user_command.go
  21. 2
      pkg/expr/hysteresis.go
  22. 4
      pkg/infra/filestorage/test_utils.go
  23. 3
      pkg/infra/filestorage/wrapper_test.go
  24. 10
      pkg/login/social/connectors/generic_oauth.go
  25. 6
      pkg/login/social/connectors/github_oauth.go
  26. 2
      pkg/registry/apis/datasource/sub_proxy.go
  27. 2
      pkg/registry/apis/query/parser.go
  28. 3
      pkg/registry/apis/query/query.go
  29. 2
      pkg/registry/apis/query/runner/direct.go
  30. 2
      pkg/services/accesscontrol/models.go
  31. 2
      pkg/services/alerting/conditions/query.go
  32. 3
      pkg/services/annotations/annotationsimpl/composite_store.go
  33. 3
      pkg/services/featuremgmt/toggles_gen_test.go
  34. 6
      pkg/services/ngalert/accesscontrol/models.go
  35. 5
      pkg/services/ngalert/api/util.go
  36. 31
      pkg/services/provisioning/notifiers/config_reader.go
  37. 8
      pkg/services/provisioning/notifiers/config_reader_test.go
  38. 13
      pkg/services/provisioning/plugins/config_reader.go
  39. 3
      pkg/services/query/query.go
  40. 2
      pkg/services/searchusers/searchusers.go
  41. 2
      pkg/services/store/config.go
  42. 2
      pkg/tsdb/cloudwatch/log_actions.go
  43. 2
      pkg/tsdb/cloudwatch/models/settings.go
  44. 2
      pkg/tsdb/grafana-testdata-datasource/sims/engine.go
  45. 2
      pkg/tsdb/influxdb/flux/executor.go
  46. 2
      pkg/tsdb/influxdb/fsql/arrow_test.go
  47. 5
      pkg/tsdb/influxdb/influxql/buffered/response_parser.go
  48. 3
      pkg/tsdb/prometheus/querydata/request.go
  49. 2
      pkg/tsdb/sqleng/sql_engine.go
  50. 2
      pkg/util/xorm/go.mod
  51. 6
      public/api-merged.json
  52. 6
      public/openapi3.json
  53. 2
      scripts/build/ci-windows-test/Dockerfile
  54. 2
      scripts/drone/pipelines/swagger_gen.star
  55. 2
      scripts/drone/variables.star

@ -35,11 +35,11 @@ $(DRONE): $(BINGO_DIR)/drone.mod
@echo "(re)installing $(GOBIN)/drone-v1.5.0" @echo "(re)installing $(GOBIN)/drone-v1.5.0"
@cd $(BINGO_DIR) && GOWORK=off CGO_ENABLED=0 $(GO) build -mod=mod -modfile=drone.mod -o=$(GOBIN)/drone-v1.5.0 "github.com/drone/drone-cli/drone" @cd $(BINGO_DIR) && GOWORK=off CGO_ENABLED=0 $(GO) build -mod=mod -modfile=drone.mod -o=$(GOBIN)/drone-v1.5.0 "github.com/drone/drone-cli/drone"
GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.59.1 GOLANGCI_LINT := $(GOBIN)/golangci-lint-v1.60.1
$(GOLANGCI_LINT): $(BINGO_DIR)/golangci-lint.mod $(GOLANGCI_LINT): $(BINGO_DIR)/golangci-lint.mod
@# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies. @# Install binary/ries using Go 1.14+ build command. This is using bwplotka/bingo-controlled, separate go module with pinned dependencies.
@echo "(re)installing $(GOBIN)/golangci-lint-v1.59.1" @echo "(re)installing $(GOBIN)/golangci-lint-v1.60.1"
@cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.59.1 "github.com/golangci/golangci-lint/cmd/golangci-lint" @cd $(BINGO_DIR) && GOWORK=off $(GO) build -mod=mod -modfile=golangci-lint.mod -o=$(GOBIN)/golangci-lint-v1.60.1 "github.com/golangci/golangci-lint/cmd/golangci-lint"
JB := $(GOBIN)/jb-v0.5.1 JB := $(GOBIN)/jb-v0.5.1
$(JB): $(BINGO_DIR)/jb.mod $(JB): $(BINGO_DIR)/jb.mod

@ -1,7 +1,7 @@
module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT module _ // Auto generated by https://github.com/bwplotka/bingo. DO NOT EDIT
go 1.22 go 1.22.1
toolchain go1.22.4 toolchain go1.23.7
require github.com/golangci/golangci-lint v1.59.1 // cmd/golangci-lint require github.com/golangci/golangci-lint v1.60.1 // cmd/golangci-lint

@ -68,6 +68,8 @@ github.com/Antonboom/nilnil v0.1.9 h1:eKFMejSxPSA9eLSensFmjW2XTgTwJMjZ8hUHtV4s/S
github.com/Antonboom/nilnil v0.1.9/go.mod h1:iGe2rYwCq5/Me1khrysB4nwI7swQvjclR8/YRPl5ihQ= github.com/Antonboom/nilnil v0.1.9/go.mod h1:iGe2rYwCq5/Me1khrysB4nwI7swQvjclR8/YRPl5ihQ=
github.com/Antonboom/testifylint v1.3.1 h1:Uam4q1Q+2b6H7gvk9RQFw6jyVDdpzIirFOOrbs14eG4= github.com/Antonboom/testifylint v1.3.1 h1:Uam4q1Q+2b6H7gvk9RQFw6jyVDdpzIirFOOrbs14eG4=
github.com/Antonboom/testifylint v1.3.1/go.mod h1:NV0hTlteCkViPW9mSR4wEMfwp+Hs1T3dY60bkvSfhpM= github.com/Antonboom/testifylint v1.3.1/go.mod h1:NV0hTlteCkViPW9mSR4wEMfwp+Hs1T3dY60bkvSfhpM=
github.com/Antonboom/testifylint v1.4.3 h1:ohMt6AHuHgttaQ1xb6SSnxCeK4/rnK7KKzbvs7DmEck=
github.com/Antonboom/testifylint v1.4.3/go.mod h1:+8Q9+AOLsz5ZiQiiYujJKs9mNz398+M6UgslP4qgJLA=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
@ -75,15 +77,21 @@ github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8
github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0= github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0=
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c h1:pxW6RcqyfI9/kWtOwnv/G+AzdKuy2ZrqINhenH4HyNs=
github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/Crocmagnon/fatcontext v0.2.2 h1:OrFlsDdOj9hW/oBEJBNSuH7QWf+E9WPVHw+x52bXVbk= github.com/Crocmagnon/fatcontext v0.2.2 h1:OrFlsDdOj9hW/oBEJBNSuH7QWf+E9WPVHw+x52bXVbk=
github.com/Crocmagnon/fatcontext v0.2.2/go.mod h1:WSn/c/+MMNiD8Pri0ahRj0o9jVpeowzavOQplBJw6u0= github.com/Crocmagnon/fatcontext v0.2.2/go.mod h1:WSn/c/+MMNiD8Pri0ahRj0o9jVpeowzavOQplBJw6u0=
github.com/Crocmagnon/fatcontext v0.4.0 h1:4ykozu23YHA0JB6+thiuEv7iT6xq995qS1vcuWZq0tg=
github.com/Crocmagnon/fatcontext v0.4.0/go.mod h1:ZtWrXkgyfsYPzS6K3O88va6t2GEglG93vnII/F94WC0=
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 h1:sHglBQTwgx+rWPdisA5ynNEsoARbiCBOyGcJM4/OzsM=
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs= github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24/go.mod h1:4UJr5HIiMZrwgkSPdsjy2uOQExX/WEILpIrO9UPGuXs=
github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7IAzX8QezqtFV9m0MUHFJgts= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 h1:+r1rSv4gvYn0wmRjC8X7IAzX8QezqtFV9m0MUHFJgts=
github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0= github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0/go.mod h1:b3g59n2Y+T5xmcxJL+UEG2f8cQploZm1mR/v6BW0mU0=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0 h1:sATXp1x6/axKxz2Gjxv8MALP0bXaNRfQinEwyfMcx8c= github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0 h1:sATXp1x6/axKxz2Gjxv8MALP0bXaNRfQinEwyfMcx8c=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0/go.mod h1:Nl76DrGNJTA1KJ0LePKBw/vznBX1EHbAZX8mwjR82nI= github.com/GaijinEntertainment/go-exhaustruct/v3 v3.2.0/go.mod h1:Nl76DrGNJTA1KJ0LePKBw/vznBX1EHbAZX8mwjR82nI=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.0 h1:/fTUt5vmbkAcMBt4YQiuC23cV0kEsN1MVMNqeOW43cU=
github.com/GaijinEntertainment/go-exhaustruct/v3 v3.3.0/go.mod h1:ONJg5sxcbsdQQ4pOW8TGdTidT2TMAUy/2Xhr8mrYaao=
github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y=
github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
@ -133,6 +141,8 @@ github.com/bombsimon/wsl/v3 v3.4.0 h1:RkSxjT3tmlptwfgEgTgU+KYKLI35p/tviNXNXiL2aN
github.com/bombsimon/wsl/v3 v3.4.0/go.mod h1:KkIB+TXkqy6MvK9BDZVbZxKNYsE1/oLRJbIFtf14qqo= github.com/bombsimon/wsl/v3 v3.4.0/go.mod h1:KkIB+TXkqy6MvK9BDZVbZxKNYsE1/oLRJbIFtf14qqo=
github.com/bombsimon/wsl/v4 v4.2.1 h1:Cxg6u+XDWff75SIFFmNsqnIOgob+Q9hG6y/ioKbRFiM= github.com/bombsimon/wsl/v4 v4.2.1 h1:Cxg6u+XDWff75SIFFmNsqnIOgob+Q9hG6y/ioKbRFiM=
github.com/bombsimon/wsl/v4 v4.2.1/go.mod h1:Xu/kDxGZTofQcDGCtQe9KCzhHphIe0fDuyWTxER9Feo= github.com/bombsimon/wsl/v4 v4.2.1/go.mod h1:Xu/kDxGZTofQcDGCtQe9KCzhHphIe0fDuyWTxER9Feo=
github.com/bombsimon/wsl/v4 v4.4.1 h1:jfUaCkN+aUpobrMO24zwyAMwMAV5eSziCkOKEauOLdw=
github.com/bombsimon/wsl/v4 v4.4.1/go.mod h1:Xu/kDxGZTofQcDGCtQe9KCzhHphIe0fDuyWTxER9Feo=
github.com/breml/bidichk v0.2.3 h1:qe6ggxpTfA8E75hdjWPZ581sY3a2lnl0IRxLQFelECI= github.com/breml/bidichk v0.2.3 h1:qe6ggxpTfA8E75hdjWPZ581sY3a2lnl0IRxLQFelECI=
github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A= github.com/breml/bidichk v0.2.3/go.mod h1:8u2C6DnAy0g2cEq+k/A2+tr9O1s+vHGxWn0LTc70T2A=
github.com/breml/bidichk v0.2.4 h1:i3yedFWWQ7YzjdZJHnPo9d/xURinSq3OM+gyM43K4/8= github.com/breml/bidichk v0.2.4 h1:i3yedFWWQ7YzjdZJHnPo9d/xURinSq3OM+gyM43K4/8=
@ -183,6 +193,7 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo= github.com/curioswitch/go-reassign v0.2.0 h1:G9UZyOcpk/d7Gd6mqYgd8XYWFMw/znxwGDUstnC9DIo=
github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc= github.com/curioswitch/go-reassign v0.2.0/go.mod h1:x6OpXuWvgfQaMGks2BZybTngWjT84hqJfKoO8Tt/Roc=
github.com/daixiang0/gci v0.9.1 h1:jBrwBmBZTDsGsXiaCTLIe9diotp1X4X64zodFrh7l+c= github.com/daixiang0/gci v0.9.1 h1:jBrwBmBZTDsGsXiaCTLIe9diotp1X4X64zodFrh7l+c=
@ -275,6 +286,8 @@ github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw= github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
github.com/gofrs/flock v0.12.1 h1:MTLVXXHf8ekldpJk3AKicLij9MdwOWkZ+a/jHHZby9E=
github.com/gofrs/flock v0.12.1/go.mod h1:9zxTsyu5xtJ9DK+1tFZyibEV7y3uwDxPPfbxeeHCoD0=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
@ -324,6 +337,8 @@ github.com/golangci/golangci-lint v1.53.3 h1:CUcRafczT4t1F+mvdkUm6KuOpxUZTl0yWN/
github.com/golangci/golangci-lint v1.53.3/go.mod h1:W4Gg3ONq6p3Jl+0s/h9Gr0j7yEgHJWWZO2bHl2tBUXM= github.com/golangci/golangci-lint v1.53.3/go.mod h1:W4Gg3ONq6p3Jl+0s/h9Gr0j7yEgHJWWZO2bHl2tBUXM=
github.com/golangci/golangci-lint v1.59.1 h1:CRRLu1JbhK5avLABFJ/OHVSQ0Ie5c4ulsOId1h3TTks= github.com/golangci/golangci-lint v1.59.1 h1:CRRLu1JbhK5avLABFJ/OHVSQ0Ie5c4ulsOId1h3TTks=
github.com/golangci/golangci-lint v1.59.1/go.mod h1:jX5Oif4C7P0j9++YB2MMJmoNrb01NJ8ITqKWNLewThg= github.com/golangci/golangci-lint v1.59.1/go.mod h1:jX5Oif4C7P0j9++YB2MMJmoNrb01NJ8ITqKWNLewThg=
github.com/golangci/golangci-lint v1.60.1 h1:DRKNqNTQRLBJZ1il5u4fvgLQCjQc7QFs0DbhksJtVJE=
github.com/golangci/golangci-lint v1.60.1/go.mod h1:jDIPN1rYaIA+ijp9OZcUmUCoQOtZ76pOlFbi15FlLJY=
github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA= github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 h1:MfyDlzVjl1hoaPzPD4Gpb/QgoRfSBR0jdhwGyAWwMSA=
github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg= github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg=
github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA= github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca h1:kNY3/svz5T29MYHubXix4aDDuE3RWHkPvopM/EDv/MA=
@ -431,6 +446,8 @@ github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af h1:KA9B
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0= github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af/go.mod h1:HEWGJkRDzjJY2sqdDwxccsGicWEf9BQOZsq2tV+xzM0=
github.com/jjti/go-spancheck v0.6.1 h1:ZK/wE5Kyi1VX3PJpUO2oEgeoI4FWOUm7Shb2Gbv5obI= github.com/jjti/go-spancheck v0.6.1 h1:ZK/wE5Kyi1VX3PJpUO2oEgeoI4FWOUm7Shb2Gbv5obI=
github.com/jjti/go-spancheck v0.6.1/go.mod h1:vF1QkOO159prdo6mHRxak2CpzDpHAfKiPUDP/NeRnX8= github.com/jjti/go-spancheck v0.6.1/go.mod h1:vF1QkOO159prdo6mHRxak2CpzDpHAfKiPUDP/NeRnX8=
github.com/jjti/go-spancheck v0.6.2 h1:iYtoxqPMzHUPp7St+5yA8+cONdyXD3ug6KK15n7Pklk=
github.com/jjti/go-spancheck v0.6.2/go.mod h1:+X7lvIrR5ZdUTkxFYqzJ0abr8Sb5LOo80uOhWNqIrYA=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
@ -529,6 +546,8 @@ github.com/mgechev/revive v1.3.2 h1:Wb8NQKBaALBJ3xrrj4zpwJwqwNA6nDpyJSEQWcCka6U=
github.com/mgechev/revive v1.3.2/go.mod h1:UCLtc7o5vg5aXCwdUTU1kEBQ1v+YXPAkYDIDXbrs5I0= github.com/mgechev/revive v1.3.2/go.mod h1:UCLtc7o5vg5aXCwdUTU1kEBQ1v+YXPAkYDIDXbrs5I0=
github.com/mgechev/revive v1.3.7 h1:502QY0vQGe9KtYJ9FpxMz9rL+Fc/P13CI5POL4uHCcE= github.com/mgechev/revive v1.3.7 h1:502QY0vQGe9KtYJ9FpxMz9rL+Fc/P13CI5POL4uHCcE=
github.com/mgechev/revive v1.3.7/go.mod h1:RJ16jUbF0OWC3co/+XTxmFNgEpUPwnnA0BRllX2aDNA= github.com/mgechev/revive v1.3.7/go.mod h1:RJ16jUbF0OWC3co/+XTxmFNgEpUPwnnA0BRllX2aDNA=
github.com/mgechev/revive v1.3.9 h1:18Y3R4a2USSBF+QZKFQwVkBROUda7uoBlkEuBD+YD1A=
github.com/mgechev/revive v1.3.9/go.mod h1:+uxEIr5UH0TjXWHTno3xh4u7eg6jDpXKzQccA9UGhHU=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
@ -542,6 +561,8 @@ github.com/moricho/tparallel v0.2.1 h1:95FytivzT6rYzdJLdtfn6m1bfFJylOJK41+lgv/EH
github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k= github.com/moricho/tparallel v0.2.1/go.mod h1:fXEIZxG2vdfl0ZF8b42f5a78EhjjD5mX8qUplsoSU4k=
github.com/moricho/tparallel v0.3.1 h1:fQKD4U1wRMAYNngDonW5XupoB/ZGJHdpzrWqgyg9krA= github.com/moricho/tparallel v0.3.1 h1:fQKD4U1wRMAYNngDonW5XupoB/ZGJHdpzrWqgyg9krA=
github.com/moricho/tparallel v0.3.1/go.mod h1:leENX2cUv7Sv2qDgdi0D0fCftN8fRC67Bcn8pqzeYNI= github.com/moricho/tparallel v0.3.1/go.mod h1:leENX2cUv7Sv2qDgdi0D0fCftN8fRC67Bcn8pqzeYNI=
github.com/moricho/tparallel v0.3.2 h1:odr8aZVFA3NZrNybggMkYO3rgPRcqjeQUlBBFVxKHTI=
github.com/moricho/tparallel v0.3.2/go.mod h1:OQ+K3b4Ln3l2TZveGCywybl68glfLEwFGqvnjok8b+U=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U= github.com/nakabonne/nestif v0.3.1 h1:wm28nZjhQY5HyYPx+weN3Q65k6ilSBxDb8v5S81B81U=
@ -592,6 +613,8 @@ github.com/polyfloyd/go-errorlint v1.4.2 h1:CU+O4181IxFDdPH6t/HT7IiDj1I7zxNi1RIU
github.com/polyfloyd/go-errorlint v1.4.2/go.mod h1:k6fU/+fQe38ednoZS51T7gSIGQW1y94d6TkSr35OzH8= github.com/polyfloyd/go-errorlint v1.4.2/go.mod h1:k6fU/+fQe38ednoZS51T7gSIGQW1y94d6TkSr35OzH8=
github.com/polyfloyd/go-errorlint v1.5.2 h1:SJhVik3Umsjh7mte1vE0fVZ5T1gznasQG3PV7U5xFdA= github.com/polyfloyd/go-errorlint v1.5.2 h1:SJhVik3Umsjh7mte1vE0fVZ5T1gznasQG3PV7U5xFdA=
github.com/polyfloyd/go-errorlint v1.5.2/go.mod h1:sH1QC1pxxi0fFecsVIzBmxtrgd9IF/SkJpA6wqyKAJs= github.com/polyfloyd/go-errorlint v1.5.2/go.mod h1:sH1QC1pxxi0fFecsVIzBmxtrgd9IF/SkJpA6wqyKAJs=
github.com/polyfloyd/go-errorlint v1.6.0 h1:tftWV9DE7txiFzPpztTAwyoRLKNj9gpVm2cg8/OwcYY=
github.com/polyfloyd/go-errorlint v1.6.0/go.mod h1:HR7u8wuP1kb1NeN1zqTd1ZMlqUKPPHF+Id4vIPvDqVw=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
@ -634,6 +657,8 @@ github.com/ryancurrah/gomodguard v1.3.0 h1:q15RT/pd6UggBXVBuLps8BXRvl5GPBcwVA7BJ
github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28XeGnid8dnni50= github.com/ryancurrah/gomodguard v1.3.0/go.mod h1:ggBxb3luypPEzqVtq33ee7YSN35V28XeGnid8dnni50=
github.com/ryancurrah/gomodguard v1.3.2 h1:CuG27ulzEB1Gu5Dk5gP8PFxSOZ3ptSdP5iI/3IXxM18= github.com/ryancurrah/gomodguard v1.3.2 h1:CuG27ulzEB1Gu5Dk5gP8PFxSOZ3ptSdP5iI/3IXxM18=
github.com/ryancurrah/gomodguard v1.3.2/go.mod h1:LqdemiFomEjcxOqirbQCb3JFvSxH2JUYMerTFd3sF2o= github.com/ryancurrah/gomodguard v1.3.2/go.mod h1:LqdemiFomEjcxOqirbQCb3JFvSxH2JUYMerTFd3sF2o=
github.com/ryancurrah/gomodguard v1.3.3 h1:eiSQdJVNr9KTNxY2Niij8UReSwR8Xrte3exBrAZfqpg=
github.com/ryancurrah/gomodguard v1.3.3/go.mod h1:rsKQjj4l3LXe8N344Ow7agAy5p9yjsWOtRzUMYmA0QY=
github.com/ryanrolds/sqlclosecheck v0.4.0 h1:i8SX60Rppc1wRuyQjMciLqIzV3xnoHB7/tXbr6RGYNI= github.com/ryanrolds/sqlclosecheck v0.4.0 h1:i8SX60Rppc1wRuyQjMciLqIzV3xnoHB7/tXbr6RGYNI=
github.com/ryanrolds/sqlclosecheck v0.4.0/go.mod h1:TBRRjzL31JONc9i4XMinicuo+s+E8yKZ5FN8X3G6CKQ= github.com/ryanrolds/sqlclosecheck v0.4.0/go.mod h1:TBRRjzL31JONc9i4XMinicuo+s+E8yKZ5FN8X3G6CKQ=
github.com/ryanrolds/sqlclosecheck v0.5.1 h1:dibWW826u0P8jNLsLN+En7+RqWWTYrjCB9fJfSfdyCU= github.com/ryanrolds/sqlclosecheck v0.5.1 h1:dibWW826u0P8jNLsLN+En7+RqWWTYrjCB9fJfSfdyCU=
@ -648,6 +673,8 @@ github.com/sashamelentyev/usestdlibvars v1.23.0 h1:01h+/2Kd+NblNItNeux0veSL5cBF1
github.com/sashamelentyev/usestdlibvars v1.23.0/go.mod h1:YPwr/Y1LATzHI93CqoPUN/2BzGQ/6N/cl/KwgR0B/aU= github.com/sashamelentyev/usestdlibvars v1.23.0/go.mod h1:YPwr/Y1LATzHI93CqoPUN/2BzGQ/6N/cl/KwgR0B/aU=
github.com/sashamelentyev/usestdlibvars v1.26.0 h1:LONR2hNVKxRmzIrZR0PhSF3mhCAzvnr+DcUiHgREfXE= github.com/sashamelentyev/usestdlibvars v1.26.0 h1:LONR2hNVKxRmzIrZR0PhSF3mhCAzvnr+DcUiHgREfXE=
github.com/sashamelentyev/usestdlibvars v1.26.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8= github.com/sashamelentyev/usestdlibvars v1.26.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8=
github.com/sashamelentyev/usestdlibvars v1.27.0 h1:t/3jZpSXtRPRf2xr0m63i32ZrusyurIGT9E5wAvXQnI=
github.com/sashamelentyev/usestdlibvars v1.27.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8=
github.com/securego/gosec/v2 v2.15.0 h1:v4Ym7FF58/jlykYmmhZ7mTm7FQvN/setNm++0fgIAtw= github.com/securego/gosec/v2 v2.15.0 h1:v4Ym7FF58/jlykYmmhZ7mTm7FQvN/setNm++0fgIAtw=
github.com/securego/gosec/v2 v2.15.0/go.mod h1:VOjTrZOkUtSDt2QLSJmQBMWnvwiQPEjg0l+5juIqGk8= github.com/securego/gosec/v2 v2.15.0/go.mod h1:VOjTrZOkUtSDt2QLSJmQBMWnvwiQPEjg0l+5juIqGk8=
github.com/securego/gosec/v2 v2.16.0 h1:Pi0JKoasQQ3NnoRao/ww/N/XdynIB9NRYYZT5CyOs5U= github.com/securego/gosec/v2 v2.16.0 h1:Pi0JKoasQQ3NnoRao/ww/N/XdynIB9NRYYZT5CyOs5U=
@ -673,6 +700,8 @@ github.com/sivchari/nosnakecase v1.7.0 h1:7QkpWIRMe8x25gckkFd2A5Pi6Ymo0qgr4JrhGt
github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY= github.com/sivchari/nosnakecase v1.7.0/go.mod h1:CwDzrzPea40/GB6uynrNLiorAlgFRvRbFSgJx2Gs+QY=
github.com/sivchari/tenv v1.7.1 h1:PSpuD4bu6fSmtWMxSGWcvqUUgIn7k3yOJhOIzVWn8Ak= github.com/sivchari/tenv v1.7.1 h1:PSpuD4bu6fSmtWMxSGWcvqUUgIn7k3yOJhOIzVWn8Ak=
github.com/sivchari/tenv v1.7.1/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg= github.com/sivchari/tenv v1.7.1/go.mod h1:64yStXKSOxDfX47NlhVwND4dHwfZDdbp2Lyl018Icvg=
github.com/sivchari/tenv v1.10.0 h1:g/hzMA+dBCKqGXgW8AV/1xIWhAvDrx0zFKNR48NFMg0=
github.com/sivchari/tenv v1.10.0/go.mod h1:tdY24masnVoZFxYrHv/nD6Tc8FbkEtAQEEziXpyMgqY=
github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY= github.com/sonatard/noctx v0.0.1 h1:VC1Qhl6Oxx9vvWo3UDgrGXYCeKCe3Wbw7qAWL6FrmTY=
github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI= github.com/sonatard/noctx v0.0.1/go.mod h1:9D2D/EoULe8Yy2joDHJj7bv3sZoq9AaSb8B4lqBjiZI=
github.com/sonatard/noctx v0.0.2 h1:L7Dz4De2zDQhW8S0t+KUjY0MAQJd6SgVwhzNIc4ok00= github.com/sonatard/noctx v0.0.2 h1:L7Dz4De2zDQhW8S0t+KUjY0MAQJd6SgVwhzNIc4ok00=
@ -689,6 +718,8 @@ github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=
github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY=
github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I=
github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
@ -764,6 +795,8 @@ github.com/uudashr/gocognit v1.0.6 h1:2Cgi6MweCsdB6kpcVQp7EW4U23iBFQWfTXiWlyp842
github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY= github.com/uudashr/gocognit v1.0.6/go.mod h1:nAIUuVBnYU7pcninia3BHOvQkpQCeO76Uscky5BOwcY=
github.com/uudashr/gocognit v1.1.2 h1:l6BAEKJqQH2UpKAPKdMfZf5kE4W/2xk8pfU1OVLvniI= github.com/uudashr/gocognit v1.1.2 h1:l6BAEKJqQH2UpKAPKdMfZf5kE4W/2xk8pfU1OVLvniI=
github.com/uudashr/gocognit v1.1.2/go.mod h1:aAVdLURqcanke8h3vg35BC++eseDm66Z7KmchI5et4k= github.com/uudashr/gocognit v1.1.2/go.mod h1:aAVdLURqcanke8h3vg35BC++eseDm66Z7KmchI5et4k=
github.com/uudashr/gocognit v1.1.3 h1:l+a111VcDbKfynh+airAy/DJQKaXh2m9vkoysMPSZyM=
github.com/uudashr/gocognit v1.1.3/go.mod h1:aKH8/e8xbTRBwjbCkwZ8qt4l2EpKXl31KMHgSS+lZ2U=
github.com/xen0n/gosmopolitan v1.2.1 h1:3pttnTuFumELBRSh+KQs1zcz4fN6Zy7aB0xlnQSn1Iw= github.com/xen0n/gosmopolitan v1.2.1 h1:3pttnTuFumELBRSh+KQs1zcz4fN6Zy7aB0xlnQSn1Iw=
github.com/xen0n/gosmopolitan v1.2.1/go.mod h1:JsHq/Brs1o050OOdmzHeOr0N7OtlnKRAGAsElF8xBQA= github.com/xen0n/gosmopolitan v1.2.1/go.mod h1:JsHq/Brs1o050OOdmzHeOr0N7OtlnKRAGAsElF8xBQA=
github.com/xen0n/gosmopolitan v1.2.2 h1:/p2KTnMzwRexIW8GlKawsTWOxn7UHA+jCMF/V8HHtvU= github.com/xen0n/gosmopolitan v1.2.2 h1:/p2KTnMzwRexIW8GlKawsTWOxn7UHA+jCMF/V8HHtvU=
@ -793,6 +826,8 @@ go-simpler.org/musttag v0.12.2 h1:J7lRc2ysXOq7eM8rwaTYnNrHd5JwjppzB6mScysB2Cs=
go-simpler.org/musttag v0.12.2/go.mod h1:uN1DVIasMTQKk6XSik7yrJoEysGtR2GRqvWnI9S7TYM= go-simpler.org/musttag v0.12.2/go.mod h1:uN1DVIasMTQKk6XSik7yrJoEysGtR2GRqvWnI9S7TYM=
go-simpler.org/sloglint v0.7.1 h1:qlGLiqHbN5islOxjeLXoPtUdZXb669RW+BDQ+xOSNoU= go-simpler.org/sloglint v0.7.1 h1:qlGLiqHbN5islOxjeLXoPtUdZXb669RW+BDQ+xOSNoU=
go-simpler.org/sloglint v0.7.1/go.mod h1:OlaVDRh/FKKd4X4sIMbsz8st97vomydceL146Fthh/c= go-simpler.org/sloglint v0.7.1/go.mod h1:OlaVDRh/FKKd4X4sIMbsz8st97vomydceL146Fthh/c=
go-simpler.org/sloglint v0.7.2 h1:Wc9Em/Zeuu7JYpl+oKoYOsQSy2X560aVueCW/m6IijY=
go-simpler.org/sloglint v0.7.2/go.mod h1:US+9C80ppl7VsThQclkM7BkCHQAzuz8kHLsW3ppuluo=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
@ -881,6 +916,8 @@ golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk=
golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0=
golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0=
golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@ -951,6 +988,8 @@ golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI=
golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@ -1017,6 +1056,8 @@ golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM=
golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@ -1128,6 +1169,8 @@ golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM=
golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc=
golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA=
golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24=
golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@ -1258,6 +1301,8 @@ honnef.co/go/tools v0.4.3 h1:o/n5/K5gXqk8Gozvs2cnL0F2S1/g1vcGCAx2vETjITw=
honnef.co/go/tools v0.4.3/go.mod h1:36ZgoUOrqOk1GxwHhyryEkq8FQWkUO2xGuSMhUCcdvA= honnef.co/go/tools v0.4.3/go.mod h1:36ZgoUOrqOk1GxwHhyryEkq8FQWkUO2xGuSMhUCcdvA=
honnef.co/go/tools v0.4.7 h1:9MDAWxMoSnB6QoSqiVr7P5mtkT9pOc1kSxchzPCnqJs= honnef.co/go/tools v0.4.7 h1:9MDAWxMoSnB6QoSqiVr7P5mtkT9pOc1kSxchzPCnqJs=
honnef.co/go/tools v0.4.7/go.mod h1:+rnGS1THNh8zMwnd2oVOTL9QF6vmfyG6ZXBULae2uc0= honnef.co/go/tools v0.4.7/go.mod h1:+rnGS1THNh8zMwnd2oVOTL9QF6vmfyG6ZXBULae2uc0=
honnef.co/go/tools v0.5.0 h1:29uoiIormS3Z6R+t56STz/oI4v+mB51TSmEOdJPgRnE=
honnef.co/go/tools v0.5.0/go.mod h1:e9irvo83WDG9/irijV44wr3tbhcFeRnfpVlRqVwpzMs=
mvdan.cc/gofumpt v0.4.0 h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM= mvdan.cc/gofumpt v0.4.0 h1:JVf4NN1mIpHogBj7ABpgOyZc65/UUOkKQFkoURsz4MM=
mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ= mvdan.cc/gofumpt v0.4.0/go.mod h1:PljLOHDeZqgS8opHRKLzp2It2VBuSdteAgqUfzMTxlQ=
mvdan.cc/gofumpt v0.5.0 h1:0EQ+Z56k8tXjj/6TQD25BFNKQXpCvT0rnansIc7Ug5E= mvdan.cc/gofumpt v0.5.0 h1:0EQ+Z56k8tXjj/6TQD25BFNKQXpCvT0rnansIc7Ug5E=

@ -14,7 +14,7 @@ CUE="${GOBIN}/cue-v0.5.0"
DRONE="${GOBIN}/drone-v1.5.0" DRONE="${GOBIN}/drone-v1.5.0"
GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.59.1" GOLANGCI_LINT="${GOBIN}/golangci-lint-v1.60.1"
JB="${GOBIN}/jb-v0.5.1" JB="${GOBIN}/jb-v0.5.1"

@ -25,7 +25,7 @@ steps:
depends_on: [] depends_on: []
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- ./bin/build verify-drone - ./bin/build verify-drone
@ -75,7 +75,7 @@ steps:
- go install github.com/bazelbuild/buildtools/buildifier@latest - go install github.com/bazelbuild/buildtools/buildifier@latest
- buildifier --lint=warn -mode=check -r . - buildifier --lint=warn -mode=check -r .
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: lint-starlark name: lint-starlark
trigger: trigger:
event: event:
@ -370,7 +370,7 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-cue - CODEGEN_VERIFY=1 make gen-cue
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-cue name: verify-gen-cue
- commands: - commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.' - '# It is required that generated jsonnet is committed and in sync with its inputs.'
@ -379,14 +379,14 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet - CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-jsonnet name: verify-gen-jsonnet
- commands: - commands:
- apk add --update make - apk add --update make
- make gen-go - make gen-go
depends_on: depends_on:
- verify-gen-cue - verify-gen-cue
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: wire-install name: wire-install
- commands: - commands:
- apk add --update build-base shared-mime-info shared-mime-info-lang - apk add --update build-base shared-mime-info shared-mime-info-lang
@ -394,7 +394,7 @@ steps:
-timeout=5m -timeout=5m
depends_on: depends_on:
- wire-install - wire-install
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: test-backend name: test-backend
- commands: - commands:
- apk add --update build-base - apk add --update build-base
@ -403,7 +403,7 @@ steps:
| grep -o '\(.*\)/' | sort -u) | grep -o '\(.*\)/' | sort -u)
depends_on: depends_on:
- wire-install - wire-install
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: test-backend-integration name: test-backend-integration
trigger: trigger:
event: event:
@ -456,7 +456,7 @@ steps:
depends_on: [] depends_on: []
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- echo $(/usr/bin/github-app-external-token) > /github-app/token - echo $(/usr/bin/github-app-external-token) > /github-app/token
@ -500,7 +500,7 @@ steps:
- apk add --update make - apk add --update make
- make gen-go - make gen-go
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: wire-install name: wire-install
- commands: - commands:
- apk add --update make build-base - apk add --update make build-base
@ -509,16 +509,16 @@ steps:
- wire-install - wire-install
environment: environment:
CGO_ENABLED: "1" CGO_ENABLED: "1"
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: lint-backend name: lint-backend
- commands: - commands:
- go run scripts/modowners/modowners.go check go.mod - go run scripts/modowners/modowners.go check go.mod
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: validate-modfile name: validate-modfile
- commands: - commands:
- apk add --update make - apk add --update make
- make swagger-validate - make swagger-validate
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: validate-openapi-spec name: validate-openapi-spec
trigger: trigger:
event: event:
@ -591,7 +591,7 @@ steps:
depends_on: [] depends_on: []
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- '# It is required that code generated from Thema/CUE be committed and in sync - '# It is required that code generated from Thema/CUE be committed and in sync
@ -601,7 +601,7 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-cue - CODEGEN_VERIFY=1 make gen-cue
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-cue name: verify-gen-cue
- commands: - commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.' - '# It is required that generated jsonnet is committed and in sync with its inputs.'
@ -610,14 +610,14 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet - CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-jsonnet name: verify-gen-jsonnet
- commands: - commands:
- apk add --update make - apk add --update make
- make gen-go - make gen-go
depends_on: depends_on:
- verify-gen-cue - verify-gen-cue
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: wire-install name: wire-install
- commands: - commands:
- apk add --update g++ make python3 && ln -sf /usr/bin/python3 /usr/bin/python - apk add --update g++ make python3 && ln -sf /usr/bin/python3 /usr/bin/python
@ -654,7 +654,7 @@ steps:
- docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --uninstall 'qemu-*' - docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --uninstall 'qemu-*'
- docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --install all - docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --install all
- /src/grafana-build artifacts -a targz:grafana:linux/amd64 -a targz:grafana:linux/arm64 - /src/grafana-build artifacts -a targz:grafana:linux/amd64 -a targz:grafana:linux/arm64
-a targz:grafana:linux/arm/v7 --go-version=1.22.11 --yarn-cache=$$YARN_CACHE_FOLDER -a targz:grafana:linux/arm/v7 --go-version=1.23.7 --yarn-cache=$$YARN_CACHE_FOLDER
--build-id=$$DRONE_BUILD_NUMBER --grafana-dir=$$PWD > packages.txt --build-id=$$DRONE_BUILD_NUMBER --grafana-dir=$$PWD > packages.txt
depends_on: depends_on:
- yarn-install - yarn-install
@ -812,7 +812,7 @@ steps:
- /src/grafana-build artifacts -a docker:grafana:linux/amd64 -a docker:grafana:linux/amd64:ubuntu - /src/grafana-build artifacts -a docker:grafana:linux/amd64 -a docker:grafana:linux/amd64:ubuntu
-a docker:grafana:linux/arm64 -a docker:grafana:linux/arm64:ubuntu -a docker:grafana:linux/arm/v7 -a docker:grafana:linux/arm64 -a docker:grafana:linux/arm64:ubuntu -a docker:grafana:linux/arm/v7
-a docker:grafana:linux/arm/v7:ubuntu --yarn-cache=$$YARN_CACHE_FOLDER --build-id=$$DRONE_BUILD_NUMBER -a docker:grafana:linux/arm/v7:ubuntu --yarn-cache=$$YARN_CACHE_FOLDER --build-id=$$DRONE_BUILD_NUMBER
--go-version=1.22.11 --ubuntu-base=ubuntu:22.04 --alpine-base=alpine:3.21.3 --tag-format='{{ --go-version=1.23.7 --ubuntu-base=ubuntu:22.04 --alpine-base=alpine:3.21.3 --tag-format='{{
.version_base }}-{{ .buildID }}-{{ .arch }}' --grafana-dir=$$PWD --ubuntu-tag-format='{{ .version_base }}-{{ .buildID }}-{{ .arch }}' --grafana-dir=$$PWD --ubuntu-tag-format='{{
.version_base }}-{{ .buildID }}-ubuntu-{{ .arch }}' > docker.txt .version_base }}-{{ .buildID }}-ubuntu-{{ .arch }}' > docker.txt
- find ./dist -name '*docker*.tar.gz' -type f | xargs -n1 docker load -i - find ./dist -name '*docker*.tar.gz' -type f | xargs -n1 docker load -i
@ -975,7 +975,7 @@ steps:
depends_on: [] depends_on: []
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- echo $DRONE_RUNNER_NAME - echo $DRONE_RUNNER_NAME
@ -989,7 +989,7 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-cue - CODEGEN_VERIFY=1 make gen-cue
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-cue name: verify-gen-cue
- commands: - commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.' - '# It is required that generated jsonnet is committed and in sync with its inputs.'
@ -998,14 +998,14 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet - CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-jsonnet name: verify-gen-jsonnet
- commands: - commands:
- apk add --update make - apk add --update make
- make gen-go - make gen-go
depends_on: depends_on:
- verify-gen-cue - verify-gen-cue
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: wire-install name: wire-install
- commands: - commands:
- dockerize -wait tcp://postgres:5432 -timeout 120s - dockerize -wait tcp://postgres:5432 -timeout 120s
@ -1026,7 +1026,7 @@ steps:
GRAFANA_TEST_DB: postgres GRAFANA_TEST_DB: postgres
PGPASSWORD: grafanatest PGPASSWORD: grafanatest
POSTGRES_HOST: postgres POSTGRES_HOST: postgres
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: postgres-integration-tests name: postgres-integration-tests
- commands: - commands:
- dockerize -wait tcp://mysql57:3306 -timeout 120s - dockerize -wait tcp://mysql57:3306 -timeout 120s
@ -1047,7 +1047,7 @@ steps:
environment: environment:
GRAFANA_TEST_DB: mysql GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql57 MYSQL_HOST: mysql57
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: mysql-5.7-integration-tests name: mysql-5.7-integration-tests
- commands: - commands:
- dockerize -wait tcp://mysql80:3306 -timeout 120s - dockerize -wait tcp://mysql80:3306 -timeout 120s
@ -1068,7 +1068,7 @@ steps:
environment: environment:
GRAFANA_TEST_DB: mysql GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql80 MYSQL_HOST: mysql80
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: mysql-8.0-integration-tests name: mysql-8.0-integration-tests
- commands: - commands:
- dockerize -wait tcp://redis:6379 -timeout 120s - dockerize -wait tcp://redis:6379 -timeout 120s
@ -1084,7 +1084,7 @@ steps:
- wait-for-redis - wait-for-redis
environment: environment:
REDIS_URL: redis://redis:6379/0 REDIS_URL: redis://redis:6379/0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: redis-integration-tests name: redis-integration-tests
- commands: - commands:
- dockerize -wait tcp://memcached:11211 -timeout 120s - dockerize -wait tcp://memcached:11211 -timeout 120s
@ -1100,7 +1100,7 @@ steps:
- wait-for-memcached - wait-for-memcached
environment: environment:
MEMCACHED_HOSTS: memcached:11211 MEMCACHED_HOSTS: memcached:11211
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: memcached-integration-tests name: memcached-integration-tests
- commands: - commands:
- dockerize -wait tcp://mimir_backend:8080 -timeout 120s - dockerize -wait tcp://mimir_backend:8080 -timeout 120s
@ -1116,7 +1116,7 @@ steps:
environment: environment:
AM_TENANT_ID: test AM_TENANT_ID: test
AM_URL: http://mimir_backend:8080 AM_URL: http://mimir_backend:8080
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: remote-alertmanager-integration-tests name: remote-alertmanager-integration-tests
trigger: trigger:
event: event:
@ -1202,7 +1202,7 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-cue - CODEGEN_VERIFY=1 make gen-cue
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-cue name: verify-gen-cue
trigger: trigger:
event: event:
@ -1317,12 +1317,12 @@ steps:
- make swagger-clean && make openapi3-gen - make swagger-clean && make openapi3-gen
- for f in public/api-merged.json public/openapi3.json; do git add $f; done - for f in public/api-merged.json public/openapi3.json; do git add $f; done
- if [ -z "$(git diff --name-only --cached)" ]; then echo "Everything seems up to - if [ -z "$(git diff --name-only --cached)" ]; then echo "Everything seems up to
date!"; else echo "Please ensure the branch is up-to-date, then regenerate the date!"; else git diff --cached && echo "Please ensure the branch is up-to-date,
specification by running make swagger-clean && make openapi3-gen" && return 1; then regenerate the specification by running make swagger-clean && make openapi3-gen"
fi && return 1; fi
depends_on: depends_on:
- clone-enterprise - clone-enterprise
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: swagger-gen name: swagger-gen
trigger: trigger:
event: event:
@ -1443,7 +1443,7 @@ steps:
depends_on: [] depends_on: []
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- '# It is required that code generated from Thema/CUE be committed and in sync - '# It is required that code generated from Thema/CUE be committed and in sync
@ -1454,7 +1454,7 @@ steps:
- CODEGEN_VERIFY=1 make gen-cue - CODEGEN_VERIFY=1 make gen-cue
depends_on: depends_on:
- clone-enterprise - clone-enterprise
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-cue name: verify-gen-cue
- commands: - commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.' - '# It is required that generated jsonnet is committed and in sync with its inputs.'
@ -1464,14 +1464,14 @@ steps:
- CODEGEN_VERIFY=1 make gen-jsonnet - CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: depends_on:
- clone-enterprise - clone-enterprise
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-jsonnet name: verify-gen-jsonnet
- commands: - commands:
- apk add --update make - apk add --update make
- make gen-go - make gen-go
depends_on: depends_on:
- verify-gen-cue - verify-gen-cue
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: wire-install name: wire-install
- commands: - commands:
- apk add --update build-base - apk add --update build-base
@ -1479,7 +1479,7 @@ steps:
- go test -v -run=^$ -benchmem -timeout=1h -count=8 -bench=. ${GO_PACKAGES} - go test -v -run=^$ -benchmem -timeout=1h -count=8 -bench=. ${GO_PACKAGES}
depends_on: depends_on:
- wire-install - wire-install
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: sqlite-benchmark-integration-tests name: sqlite-benchmark-integration-tests
- commands: - commands:
- apk add --update build-base - apk add --update build-base
@ -1491,7 +1491,7 @@ steps:
GRAFANA_TEST_DB: postgres GRAFANA_TEST_DB: postgres
PGPASSWORD: grafanatest PGPASSWORD: grafanatest
POSTGRES_HOST: postgres POSTGRES_HOST: postgres
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: postgres-benchmark-integration-tests name: postgres-benchmark-integration-tests
- commands: - commands:
- apk add --update build-base - apk add --update build-base
@ -1502,7 +1502,7 @@ steps:
environment: environment:
GRAFANA_TEST_DB: mysql GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql57 MYSQL_HOST: mysql57
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: mysql-5.7-benchmark-integration-tests name: mysql-5.7-benchmark-integration-tests
- commands: - commands:
- apk add --update build-base - apk add --update build-base
@ -1513,7 +1513,7 @@ steps:
environment: environment:
GRAFANA_TEST_DB: mysql GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql80 MYSQL_HOST: mysql80
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: mysql-8.0-benchmark-integration-tests name: mysql-8.0-benchmark-integration-tests
trigger: trigger:
event: event:
@ -1589,7 +1589,7 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-cue - CODEGEN_VERIFY=1 make gen-cue
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-cue name: verify-gen-cue
trigger: trigger:
branch: main branch: main
@ -1766,7 +1766,7 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-cue - CODEGEN_VERIFY=1 make gen-cue
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-cue name: verify-gen-cue
- commands: - commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.' - '# It is required that generated jsonnet is committed and in sync with its inputs.'
@ -1775,14 +1775,14 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet - CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-jsonnet name: verify-gen-jsonnet
- commands: - commands:
- apk add --update make - apk add --update make
- make gen-go - make gen-go
depends_on: depends_on:
- verify-gen-cue - verify-gen-cue
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: wire-install name: wire-install
- commands: - commands:
- apk add --update build-base shared-mime-info shared-mime-info-lang - apk add --update build-base shared-mime-info shared-mime-info-lang
@ -1790,7 +1790,7 @@ steps:
-timeout=5m -timeout=5m
depends_on: depends_on:
- wire-install - wire-install
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: test-backend name: test-backend
- commands: - commands:
- apk add --update build-base - apk add --update build-base
@ -1799,7 +1799,7 @@ steps:
| grep -o '\(.*\)/' | sort -u) | grep -o '\(.*\)/' | sort -u)
depends_on: depends_on:
- wire-install - wire-install
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: test-backend-integration name: test-backend-integration
trigger: trigger:
branch: main branch: main
@ -1844,13 +1844,13 @@ steps:
depends_on: [] depends_on: []
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- apk add --update make - apk add --update make
- make gen-go - make gen-go
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: wire-install name: wire-install
- commands: - commands:
- apk add --update make build-base - apk add --update make build-base
@ -1859,16 +1859,16 @@ steps:
- wire-install - wire-install
environment: environment:
CGO_ENABLED: "1" CGO_ENABLED: "1"
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: lint-backend name: lint-backend
- commands: - commands:
- go run scripts/modowners/modowners.go check go.mod - go run scripts/modowners/modowners.go check go.mod
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: validate-modfile name: validate-modfile
- commands: - commands:
- apk add --update make - apk add --update make
- make swagger-validate - make swagger-validate
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: validate-openapi-spec name: validate-openapi-spec
- commands: - commands:
- ./bin/build verify-drone - ./bin/build verify-drone
@ -1939,7 +1939,7 @@ steps:
depends_on: [] depends_on: []
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- '# It is required that code generated from Thema/CUE be committed and in sync - '# It is required that code generated from Thema/CUE be committed and in sync
@ -1949,7 +1949,7 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-cue - CODEGEN_VERIFY=1 make gen-cue
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-cue name: verify-gen-cue
- commands: - commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.' - '# It is required that generated jsonnet is committed and in sync with its inputs.'
@ -1958,14 +1958,14 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet - CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-jsonnet name: verify-gen-jsonnet
- commands: - commands:
- apk add --update make - apk add --update make
- make gen-go - make gen-go
depends_on: depends_on:
- verify-gen-cue - verify-gen-cue
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: wire-install name: wire-install
- commands: - commands:
- apk add --update g++ make python3 && ln -sf /usr/bin/python3 /usr/bin/python - apk add --update g++ make python3 && ln -sf /usr/bin/python3 /usr/bin/python
@ -2001,7 +2001,7 @@ steps:
- docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --uninstall 'qemu-*' - docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --uninstall 'qemu-*'
- docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --install all - docker run --privileged --rm tonistiigi/binfmt:qemu-v7.0.0-28 --install all
- /src/grafana-build artifacts -a targz:grafana:linux/amd64 -a targz:grafana:linux/arm64 - /src/grafana-build artifacts -a targz:grafana:linux/amd64 -a targz:grafana:linux/arm64
-a targz:grafana:linux/arm/v7 --go-version=1.22.11 --yarn-cache=$$YARN_CACHE_FOLDER -a targz:grafana:linux/arm/v7 --go-version=1.23.7 --yarn-cache=$$YARN_CACHE_FOLDER
--build-id=$$DRONE_BUILD_NUMBER --grafana-dir=$$PWD > packages.txt --build-id=$$DRONE_BUILD_NUMBER --grafana-dir=$$PWD > packages.txt
depends_on: depends_on:
- update-package-json-version - update-package-json-version
@ -2195,7 +2195,7 @@ steps:
- /src/grafana-build artifacts -a docker:grafana:linux/amd64 -a docker:grafana:linux/amd64:ubuntu - /src/grafana-build artifacts -a docker:grafana:linux/amd64 -a docker:grafana:linux/amd64:ubuntu
-a docker:grafana:linux/arm64 -a docker:grafana:linux/arm64:ubuntu -a docker:grafana:linux/arm/v7 -a docker:grafana:linux/arm64 -a docker:grafana:linux/arm64:ubuntu -a docker:grafana:linux/arm/v7
-a docker:grafana:linux/arm/v7:ubuntu --yarn-cache=$$YARN_CACHE_FOLDER --build-id=$$DRONE_BUILD_NUMBER -a docker:grafana:linux/arm/v7:ubuntu --yarn-cache=$$YARN_CACHE_FOLDER --build-id=$$DRONE_BUILD_NUMBER
--go-version=1.22.11 --ubuntu-base=ubuntu:22.04 --alpine-base=alpine:3.21.3 --tag-format='{{ --go-version=1.23.7 --ubuntu-base=ubuntu:22.04 --alpine-base=alpine:3.21.3 --tag-format='{{
.version_base }}-{{ .buildID }}-{{ .arch }}' --grafana-dir=$$PWD --ubuntu-tag-format='{{ .version_base }}-{{ .buildID }}-{{ .arch }}' --grafana-dir=$$PWD --ubuntu-tag-format='{{
.version_base }}-{{ .buildID }}-ubuntu-{{ .arch }}' > docker.txt .version_base }}-{{ .buildID }}-ubuntu-{{ .arch }}' > docker.txt
- find ./dist -name '*docker*.tar.gz' -type f | xargs -n1 docker load -i - find ./dist -name '*docker*.tar.gz' -type f | xargs -n1 docker load -i
@ -2403,7 +2403,7 @@ steps:
depends_on: [] depends_on: []
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- echo $DRONE_RUNNER_NAME - echo $DRONE_RUNNER_NAME
@ -2417,7 +2417,7 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-cue - CODEGEN_VERIFY=1 make gen-cue
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-cue name: verify-gen-cue
- commands: - commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.' - '# It is required that generated jsonnet is committed and in sync with its inputs.'
@ -2426,14 +2426,14 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet - CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-jsonnet name: verify-gen-jsonnet
- commands: - commands:
- apk add --update make - apk add --update make
- make gen-go - make gen-go
depends_on: depends_on:
- verify-gen-cue - verify-gen-cue
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: wire-install name: wire-install
- commands: - commands:
- dockerize -wait tcp://postgres:5432 -timeout 120s - dockerize -wait tcp://postgres:5432 -timeout 120s
@ -2454,7 +2454,7 @@ steps:
GRAFANA_TEST_DB: postgres GRAFANA_TEST_DB: postgres
PGPASSWORD: grafanatest PGPASSWORD: grafanatest
POSTGRES_HOST: postgres POSTGRES_HOST: postgres
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: postgres-integration-tests name: postgres-integration-tests
- commands: - commands:
- dockerize -wait tcp://mysql57:3306 -timeout 120s - dockerize -wait tcp://mysql57:3306 -timeout 120s
@ -2475,7 +2475,7 @@ steps:
environment: environment:
GRAFANA_TEST_DB: mysql GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql57 MYSQL_HOST: mysql57
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: mysql-5.7-integration-tests name: mysql-5.7-integration-tests
- commands: - commands:
- dockerize -wait tcp://mysql80:3306 -timeout 120s - dockerize -wait tcp://mysql80:3306 -timeout 120s
@ -2496,7 +2496,7 @@ steps:
environment: environment:
GRAFANA_TEST_DB: mysql GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql80 MYSQL_HOST: mysql80
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: mysql-8.0-integration-tests name: mysql-8.0-integration-tests
- commands: - commands:
- dockerize -wait tcp://redis:6379 -timeout 120s - dockerize -wait tcp://redis:6379 -timeout 120s
@ -2512,7 +2512,7 @@ steps:
- wait-for-redis - wait-for-redis
environment: environment:
REDIS_URL: redis://redis:6379/0 REDIS_URL: redis://redis:6379/0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: redis-integration-tests name: redis-integration-tests
- commands: - commands:
- dockerize -wait tcp://memcached:11211 -timeout 120s - dockerize -wait tcp://memcached:11211 -timeout 120s
@ -2528,7 +2528,7 @@ steps:
- wait-for-memcached - wait-for-memcached
environment: environment:
MEMCACHED_HOSTS: memcached:11211 MEMCACHED_HOSTS: memcached:11211
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: memcached-integration-tests name: memcached-integration-tests
- commands: - commands:
- dockerize -wait tcp://mimir_backend:8080 -timeout 120s - dockerize -wait tcp://mimir_backend:8080 -timeout 120s
@ -2544,7 +2544,7 @@ steps:
environment: environment:
AM_TENANT_ID: test AM_TENANT_ID: test
AM_URL: http://mimir_backend:8080 AM_URL: http://mimir_backend:8080
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: remote-alertmanager-integration-tests name: remote-alertmanager-integration-tests
trigger: trigger:
branch: main branch: main
@ -2689,7 +2689,7 @@ steps:
depends_on: [] depends_on: []
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- ./bin/build artifacts docker fetch --edition oss - ./bin/build artifacts docker fetch --edition oss
@ -2821,7 +2821,7 @@ steps:
depends_on: [] depends_on: []
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- ./bin/build artifacts docker fetch --edition oss - ./bin/build artifacts docker fetch --edition oss
@ -2962,7 +2962,7 @@ steps:
depends_on: [] depends_on: []
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- ./bin/build artifacts packages --artifacts-editions=oss --tag $${DRONE_TAG} --src-bucket - ./bin/build artifacts packages --artifacts-editions=oss --tag $${DRONE_TAG} --src-bucket
@ -3053,7 +3053,7 @@ steps:
depends_on: [] depends_on: []
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: compile-build-cmd name: compile-build-cmd
- commands: - commands:
- apk add --update g++ make python3 && ln -sf /usr/bin/python3 /usr/bin/python - apk add --update g++ make python3 && ln -sf /usr/bin/python3 /usr/bin/python
@ -3154,7 +3154,7 @@ steps:
depends_on: [] depends_on: []
environment: environment:
CGO_ENABLED: 0 CGO_ENABLED: 0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: compile-build-cmd name: compile-build-cmd
- depends_on: - depends_on:
- compile-build-cmd - compile-build-cmd
@ -3270,7 +3270,7 @@ steps:
from_secret: grafana_api_key from_secret: grafana_api_key
GCP_KEY_BASE64: GCP_KEY_BASE64:
from_secret: gcp_key_base64 from_secret: gcp_key_base64
GO_VERSION: 1.22.11 GO_VERSION: 1.23.7
GPG_PASSPHRASE: GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY: GPG_PRIVATE_KEY:
@ -3345,7 +3345,7 @@ steps:
from_secret: grafana_api_key from_secret: grafana_api_key
GCP_KEY_BASE64: GCP_KEY_BASE64:
from_secret: gcp_key_base64 from_secret: gcp_key_base64
GO_VERSION: 1.22.11 GO_VERSION: 1.23.7
GPG_PASSPHRASE: GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY: GPG_PRIVATE_KEY:
@ -3462,7 +3462,7 @@ steps:
from_secret: grafana_api_key from_secret: grafana_api_key
GCP_KEY_BASE64: GCP_KEY_BASE64:
from_secret: gcp_key_base64 from_secret: gcp_key_base64
GO_VERSION: 1.22.11 GO_VERSION: 1.23.7
GPG_PASSPHRASE: GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY: GPG_PRIVATE_KEY:
@ -3614,7 +3614,7 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-cue - CODEGEN_VERIFY=1 make gen-cue
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-cue name: verify-gen-cue
- commands: - commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.' - '# It is required that generated jsonnet is committed and in sync with its inputs.'
@ -3623,14 +3623,14 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet - CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-jsonnet name: verify-gen-jsonnet
- commands: - commands:
- apk add --update make - apk add --update make
- make gen-go - make gen-go
depends_on: depends_on:
- verify-gen-cue - verify-gen-cue
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: wire-install name: wire-install
- commands: - commands:
- apk add --update build-base shared-mime-info shared-mime-info-lang - apk add --update build-base shared-mime-info shared-mime-info-lang
@ -3638,7 +3638,7 @@ steps:
-timeout=5m -timeout=5m
depends_on: depends_on:
- wire-install - wire-install
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: test-backend name: test-backend
- commands: - commands:
- apk add --update build-base - apk add --update build-base
@ -3647,7 +3647,7 @@ steps:
| grep -o '\(.*\)/' | sort -u) | grep -o '\(.*\)/' | sort -u)
depends_on: depends_on:
- wire-install - wire-install
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: test-backend-integration name: test-backend-integration
trigger: trigger:
cron: cron:
@ -3701,7 +3701,7 @@ steps:
from_secret: grafana_api_key from_secret: grafana_api_key
GCP_KEY_BASE64: GCP_KEY_BASE64:
from_secret: gcp_key_base64 from_secret: gcp_key_base64
GO_VERSION: 1.22.11 GO_VERSION: 1.23.7
GPG_PASSPHRASE: GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY: GPG_PRIVATE_KEY:
@ -3845,7 +3845,7 @@ steps:
from_secret: grafana_api_key from_secret: grafana_api_key
GCP_KEY_BASE64: GCP_KEY_BASE64:
from_secret: gcp_key_base64 from_secret: gcp_key_base64
GO_VERSION: 1.22.11 GO_VERSION: 1.23.7
GPG_PASSPHRASE: GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY: GPG_PRIVATE_KEY:
@ -3971,7 +3971,7 @@ steps:
from_secret: grafana_api_key from_secret: grafana_api_key
GCP_KEY_BASE64: GCP_KEY_BASE64:
from_secret: gcp_key_base64 from_secret: gcp_key_base64
GO_VERSION: 1.22.11 GO_VERSION: 1.23.7
GPG_PASSPHRASE: GPG_PASSPHRASE:
from_secret: packages_gpg_passphrase from_secret: packages_gpg_passphrase
GPG_PRIVATE_KEY: GPG_PRIVATE_KEY:
@ -4116,7 +4116,7 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-cue - CODEGEN_VERIFY=1 make gen-cue
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-cue name: verify-gen-cue
- commands: - commands:
- '# It is required that generated jsonnet is committed and in sync with its inputs.' - '# It is required that generated jsonnet is committed and in sync with its inputs.'
@ -4125,14 +4125,14 @@ steps:
- apk add --update make - apk add --update make
- CODEGEN_VERIFY=1 make gen-jsonnet - CODEGEN_VERIFY=1 make gen-jsonnet
depends_on: [] depends_on: []
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: verify-gen-jsonnet name: verify-gen-jsonnet
- commands: - commands:
- apk add --update make - apk add --update make
- make gen-go - make gen-go
depends_on: depends_on:
- verify-gen-cue - verify-gen-cue
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: wire-install name: wire-install
- commands: - commands:
- dockerize -wait tcp://postgres:5432 -timeout 120s - dockerize -wait tcp://postgres:5432 -timeout 120s
@ -4153,7 +4153,7 @@ steps:
GRAFANA_TEST_DB: postgres GRAFANA_TEST_DB: postgres
PGPASSWORD: grafanatest PGPASSWORD: grafanatest
POSTGRES_HOST: postgres POSTGRES_HOST: postgres
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: postgres-integration-tests name: postgres-integration-tests
- commands: - commands:
- dockerize -wait tcp://mysql57:3306 -timeout 120s - dockerize -wait tcp://mysql57:3306 -timeout 120s
@ -4174,7 +4174,7 @@ steps:
environment: environment:
GRAFANA_TEST_DB: mysql GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql57 MYSQL_HOST: mysql57
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: mysql-5.7-integration-tests name: mysql-5.7-integration-tests
- commands: - commands:
- dockerize -wait tcp://mysql80:3306 -timeout 120s - dockerize -wait tcp://mysql80:3306 -timeout 120s
@ -4195,7 +4195,7 @@ steps:
environment: environment:
GRAFANA_TEST_DB: mysql GRAFANA_TEST_DB: mysql
MYSQL_HOST: mysql80 MYSQL_HOST: mysql80
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: mysql-8.0-integration-tests name: mysql-8.0-integration-tests
- commands: - commands:
- dockerize -wait tcp://redis:6379 -timeout 120s - dockerize -wait tcp://redis:6379 -timeout 120s
@ -4211,7 +4211,7 @@ steps:
- wait-for-redis - wait-for-redis
environment: environment:
REDIS_URL: redis://redis:6379/0 REDIS_URL: redis://redis:6379/0
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: redis-integration-tests name: redis-integration-tests
- commands: - commands:
- dockerize -wait tcp://memcached:11211 -timeout 120s - dockerize -wait tcp://memcached:11211 -timeout 120s
@ -4227,7 +4227,7 @@ steps:
- wait-for-memcached - wait-for-memcached
environment: environment:
MEMCACHED_HOSTS: memcached:11211 MEMCACHED_HOSTS: memcached:11211
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: memcached-integration-tests name: memcached-integration-tests
- commands: - commands:
- dockerize -wait tcp://mimir_backend:8080 -timeout 120s - dockerize -wait tcp://mimir_backend:8080 -timeout 120s
@ -4243,7 +4243,7 @@ steps:
environment: environment:
AM_TENANT_ID: test AM_TENANT_ID: test
AM_URL: http://mimir_backend:8080 AM_URL: http://mimir_backend:8080
image: golang:1.22.11-alpine image: golang:1.23.7-alpine
name: remote-alertmanager-integration-tests name: remote-alertmanager-integration-tests
trigger: trigger:
event: event:
@ -4549,7 +4549,7 @@ steps:
- commands: - commands:
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM docker:27-cli - trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM docker:27-cli
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM alpine/git:2.40.1 - trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM alpine/git:2.40.1
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM golang:1.22.11-alpine - trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM golang:1.23.7-alpine
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM node:20.9.0-alpine - trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM node:20.9.0-alpine
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM google/cloud-sdk:431.0.0 - trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM google/cloud-sdk:431.0.0
- trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM grafana/grafana-ci-deploy:1.3.3 - trivy --exit-code 0 --severity UNKNOWN,LOW,MEDIUM grafana/grafana-ci-deploy:1.3.3
@ -4587,7 +4587,7 @@ steps:
- commands: - commands:
- trivy --exit-code 1 --severity HIGH,CRITICAL docker:27-cli - trivy --exit-code 1 --severity HIGH,CRITICAL docker:27-cli
- trivy --exit-code 1 --severity HIGH,CRITICAL alpine/git:2.40.1 - trivy --exit-code 1 --severity HIGH,CRITICAL alpine/git:2.40.1
- trivy --exit-code 1 --severity HIGH,CRITICAL golang:1.22.11-alpine - trivy --exit-code 1 --severity HIGH,CRITICAL golang:1.23.7-alpine
- trivy --exit-code 1 --severity HIGH,CRITICAL node:20.9.0-alpine - trivy --exit-code 1 --severity HIGH,CRITICAL node:20.9.0-alpine
- trivy --exit-code 1 --severity HIGH,CRITICAL google/cloud-sdk:431.0.0 - trivy --exit-code 1 --severity HIGH,CRITICAL google/cloud-sdk:431.0.0
- trivy --exit-code 1 --severity HIGH,CRITICAL grafana/grafana-ci-deploy:1.3.3 - trivy --exit-code 1 --severity HIGH,CRITICAL grafana/grafana-ci-deploy:1.3.3
@ -4856,6 +4856,6 @@ kind: secret
name: gcr_credentials name: gcr_credentials
--- ---
kind: signature kind: signature
hmac: dfa68f0445c4485167734f36c7c54cf9622c12cfb79d0091615da3223ffbae59 hmac: d438da3270c4e17ad67140907335154b0d0ca4a9347a5655e12ab3ab770c5fd7
... ...

@ -16,7 +16,7 @@ jobs:
- name: Set go version - name: Set go version
uses: actions/setup-go@v4 uses: actions/setup-go@v4
with: with:
go-version: '1.21.10' go-version: '1.23.7'
- name: Build swagger - name: Build swagger
run: | run: |
make -C pkg/services/ngalert/api/tooling post.json api.json make -C pkg/services/ngalert/api/tooling post.json api.json

@ -58,7 +58,7 @@ jobs:
# Go is required for also updating the schema versions as part of the precommit hook: # Go is required for also updating the schema versions as part of the precommit hook:
- uses: actions/setup-go@v4 - uses: actions/setup-go@v4
with: with:
go-version: '1.21' go-version: '1.23.7'
- uses: actions/setup-node@v4 - uses: actions/setup-node@v4
with: with:
node-version: '18' node-version: '18'

@ -47,7 +47,7 @@ jobs:
name: Set go version name: Set go version
uses: actions/setup-go@v4 uses: actions/setup-go@v4
with: with:
go-version: '1.21.10' go-version: '1.23.7'
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL

@ -35,7 +35,7 @@ jobs:
- name: Set go version - name: Set go version
uses: actions/setup-go@v4 uses: actions/setup-go@v4
with: with:
go-version: '1.21.10' go-version: '1.23.7'
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL

@ -36,7 +36,7 @@ jobs:
- name: "Setup Go" - name: "Setup Go"
uses: "actions/setup-go@v4" uses: "actions/setup-go@v4"
with: with:
go-version: '1.21.10' go-version: '1.23.7'
- name: "Verify kinds" - name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go run: go run .github/workflows/scripts/kinds/verify-kinds.go

@ -39,7 +39,7 @@ jobs:
- name: "Setup Go" - name: "Setup Go"
uses: "actions/setup-go@v4" uses: "actions/setup-go@v4"
with: with:
go-version: '1.21.10' go-version: '1.23.7'
- name: "Verify kinds" - name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go run: go run .github/workflows/scripts/kinds/verify-kinds.go

@ -18,7 +18,7 @@ jobs:
- name: "Setup Go" - name: "Setup Go"
uses: "actions/setup-go@v4" uses: "actions/setup-go@v4"
with: with:
go-version: '1.21.10' go-version: '1.23.7'
- name: "Verify kinds" - name: "Verify kinds"
run: go run .github/workflows/scripts/kinds/verify-kinds.go run: go run .github/workflows/scripts/kinds/verify-kinds.go

@ -6,7 +6,7 @@
ARG BASE_IMAGE=alpine:3.21 ARG BASE_IMAGE=alpine:3.21
ARG JS_IMAGE=node:20-alpine ARG JS_IMAGE=node:20-alpine
ARG JS_PLATFORM=linux/amd64 ARG JS_PLATFORM=linux/amd64
ARG GO_IMAGE=golang:1.22.11-alpine ARG GO_IMAGE=golang:1.23.7-alpine
# Default to building locally # Default to building locally
ARG GO_SRC=go-builder ARG GO_SRC=go-builder

@ -256,7 +256,7 @@ build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
--build-arg COMMIT_SHA=$$(git rev-parse HEAD) \ --build-arg COMMIT_SHA=$$(git rev-parse HEAD) \
--build-arg BUILD_BRANCH=$$(git rev-parse --abbrev-ref HEAD) \ --build-arg BUILD_BRANCH=$$(git rev-parse --abbrev-ref HEAD) \
--build-arg BASE_IMAGE=ubuntu:22.04 \ --build-arg BASE_IMAGE=ubuntu:22.04 \
--build-arg GO_IMAGE=golang:1.21.10 \ --build-arg GO_IMAGE=golang:1.23.7 \
--tag grafana/grafana$(TAG_SUFFIX):dev-ubuntu \ --tag grafana/grafana$(TAG_SUFFIX):dev-ubuntu \
$(DOCKER_BUILD_ARGS) $(DOCKER_BUILD_ARGS)

@ -1,6 +1,6 @@
module github.com/grafana/grafana module github.com/grafana/grafana
go 1.22.11 go 1.23.7
// Override docker/docker to avoid: // Override docker/docker to avoid:
// go: github.com/drone-runners/drone-runner-docker@v1.8.2 requires // go: github.com/drone-runners/drone-runner-docker@v1.8.2 requires

@ -1967,7 +1967,6 @@ github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzw
github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v4 v4.4.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg=
github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
github.com/golang-jwt/jwt/v4 v4.5.1 h1:JdqV9zKUdtaa9gdPlywC3aeoEsR681PlKC+4F5gQgeo= github.com/golang-jwt/jwt/v4 v4.5.1 h1:JdqV9zKUdtaa9gdPlywC3aeoEsR681PlKC+4F5gQgeo=
github.com/golang-jwt/jwt/v4 v4.5.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v4 v4.5.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=

@ -1,4 +1,4 @@
go 1.22.11 go 1.23.7
use ( use (
. .

@ -30,7 +30,7 @@ func GrafanaJavascriptAgentLogMessageHandler(store *frontendlogging.SourceMapSto
// Meta object is standard across event types, adding it globally. // Meta object is standard across event types, adding it globally.
if event.Logs != nil && len(event.Logs) > 0 { if len(event.Logs) > 0 {
for _, logEntry := range event.Logs { for _, logEntry := range event.Logs {
var ctx = frontendlogging.CtxVector{} var ctx = frontendlogging.CtxVector{}
ctx = event.AddMetaToContext(ctx) ctx = event.AddMetaToContext(ctx)
@ -64,7 +64,7 @@ func GrafanaJavascriptAgentLogMessageHandler(store *frontendlogging.SourceMapSto
} }
} }
if event.Measurements != nil && len(event.Measurements) > 0 { if len(event.Measurements) > 0 {
for _, measurementEntry := range event.Measurements { for _, measurementEntry := range event.Measurements {
for measurementName, measurementValue := range measurementEntry.Values { for measurementName, measurementValue := range measurementEntry.Values {
var ctx = frontendlogging.CtxVector{} var ctx = frontendlogging.CtxVector{}
@ -75,7 +75,7 @@ func GrafanaJavascriptAgentLogMessageHandler(store *frontendlogging.SourceMapSto
} }
} }
} }
if event.Exceptions != nil && len(event.Exceptions) > 0 { if len(event.Exceptions) > 0 {
for _, exception := range event.Exceptions { for _, exception := range event.Exceptions {
var ctx = frontendlogging.CtxVector{} var ctx = frontendlogging.CtxVector{}
ctx = event.AddMetaToContext(ctx) ctx = event.AddMetaToContext(ctx)

@ -1,6 +1,6 @@
module github.com/grafana/grafana/pkg/build module github.com/grafana/grafana/pkg/build
go 1.22.7 go 1.23.7
// Override docker/docker to avoid: // Override docker/docker to avoid:
// go: github.com/drone-runners/drone-runner-docker@v1.8.2 requires // go: github.com/drone-runners/drone-runner-docker@v1.8.2 requires

@ -99,9 +99,9 @@ func runListConflictUsers() func(context *cli.Context) error {
logger.Info(color.GreenString("No Conflicting users found.\n\n")) logger.Info(color.GreenString("No Conflicting users found.\n\n"))
return nil return nil
} }
logger.Infof("\n\nShowing conflicts\n\n") logger.Info("\n\nShowing conflicts\n\n")
logger.Infof(r.ToStringPresentation()) logger.Info(r.ToStringPresentation())
logger.Infof("\n") logger.Info("\n")
if len(r.DiscardedBlocks) != 0 { if len(r.DiscardedBlocks) != 0 {
r.logDiscardedUsers() r.logDiscardedUsers()
} }
@ -458,7 +458,7 @@ func (r *ConflictResolver) showChanges() {
b.WriteString("\n\n") b.WriteString("\n\n")
} }
logger.Info("\n\nChanges that will take place\n\n") logger.Info("\n\nChanges that will take place\n\n")
logger.Infof(b.String()) logger.Info(b.String())
} }
// Formatter make it possible for us to write to terminal and to a file // Formatter make it possible for us to write to terminal and to a file

@ -38,7 +38,7 @@ func (h *HysteresisCommand) Execute(ctx context.Context, now time.Time, vars mat
if results.IsNoData() { if results.IsNoData() {
return mathexp.Results{Values: mathexp.Values{mathexp.NewNoData()}}, nil return mathexp.Results{Values: mathexp.Values{mathexp.NewNoData()}}, nil
} }
if h.LoadedDimensions == nil || len(h.LoadedDimensions) == 0 { if len(h.LoadedDimensions) == 0 {
return h.LoadingThresholdFunc.Execute(ctx, now, vars, tracer) return h.LoadingThresholdFunc.Execute(ctx, now, vars, tracer)
} }
var loadedVals, unloadedVals mathexp.Values var loadedVals, unloadedVals mathexp.Values

@ -275,7 +275,7 @@ func handleQuery(t *testing.T, ctx context.Context, query interface{}, queryName
file, fileFound, err := fs.Get(ctx, inputPath, options) file, fileFound, err := fs.Get(ctx, inputPath, options)
require.NoError(t, err, "%s: should be able to get file %s", queryName, inputPath) require.NoError(t, err, "%s: should be able to get file %s", queryName, inputPath)
if q.checks != nil && len(q.checks) > 0 { if len(q.checks) > 0 {
require.NotNil(t, file, "%s %s", queryName, inputPath) require.NotNil(t, file, "%s %s", queryName, inputPath)
require.True(t, fileFound, "%s %s", queryName, inputPath) require.True(t, fileFound, "%s %s", queryName, inputPath)
require.Equal(t, strings.ToLower(inputPath), strings.ToLower(file.FullPath), "%s %s", queryName, inputPath) require.Equal(t, strings.ToLower(inputPath), strings.ToLower(file.FullPath), "%s %s", queryName, inputPath)
@ -289,7 +289,7 @@ func handleQuery(t *testing.T, ctx context.Context, query interface{}, queryName
resp, err := fs.List(ctx, inputPath, q.input.paging, q.input.options) resp, err := fs.List(ctx, inputPath, q.input.paging, q.input.options)
require.NoError(t, err, "%s: should be able to list files in %s", queryName, inputPath) require.NoError(t, err, "%s: should be able to list files in %s", queryName, inputPath)
require.NotNil(t, resp) require.NotNil(t, resp)
if q.list != nil && len(q.list) > 0 { if len(q.list) > 0 {
runChecks(t, queryName, inputPath, resp, q.list) runChecks(t, queryName, inputPath, resp, q.list)
} else { } else {
require.NotNil(t, resp, "%s %s", queryName, inputPath) require.NotNil(t, resp, "%s %s", queryName, inputPath)

@ -1,7 +1,6 @@
package filestorage package filestorage
import ( import (
"fmt"
"testing" "testing"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
@ -35,7 +34,7 @@ func TestFilestorage_getParentFolderPath(t *testing.T) {
}, },
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(fmt.Sprintf(tt.name), func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
require.Equal(t, tt.expected, getParentFolderPath(tt.path)) require.Equal(t, tt.expected, getParentFolderPath(tt.path))
}) })
} }

@ -93,7 +93,7 @@ func (s *SocialGenericOAuth) Validate(ctx context.Context, settings ssoModels.SS
return ssosettings.ErrInvalidOAuthConfig("If Team Ids are configured then Team Ids attribute path and Teams URL must be configured.") return ssosettings.ErrInvalidOAuthConfig("If Team Ids are configured then Team Ids attribute path and Teams URL must be configured.")
} }
if info.AllowedGroups != nil && len(info.AllowedGroups) > 0 && info.GroupsAttributePath == "" { if len(info.AllowedGroups) > 0 && info.GroupsAttributePath == "" {
return ssosettings.ErrInvalidOAuthConfig("If Allowed groups is configured then Groups attribute path must be configured.") return ssosettings.ErrInvalidOAuthConfig("If Allowed groups is configured then Groups attribute path must be configured.")
} }
@ -474,7 +474,7 @@ func (s *SocialGenericOAuth) FetchPrivateEmail(ctx context.Context, client *http
info := s.GetOAuthInfo() info := s.GetOAuthInfo()
response, err := s.httpGet(ctx, client, fmt.Sprintf(info.ApiUrl+"/emails")) response, err := s.httpGet(ctx, client, info.ApiUrl+"/emails")
if err != nil { if err != nil {
s.log.Error("Error getting email address", "url", info.ApiUrl+"/emails", "error", err) s.log.Error("Error getting email address", "url", info.ApiUrl+"/emails", "error", err)
return "", fmt.Errorf("%v: %w", "Error getting email address", err) return "", fmt.Errorf("%v: %w", "Error getting email address", err)
@ -538,7 +538,7 @@ func (s *SocialGenericOAuth) fetchTeamMembershipsFromDeprecatedTeamsUrl(ctx cont
info := s.GetOAuthInfo() info := s.GetOAuthInfo()
response, err := s.httpGet(ctx, client, fmt.Sprintf(info.ApiUrl+"/teams")) response, err := s.httpGet(ctx, client, info.ApiUrl+"/teams")
if err != nil { if err != nil {
s.log.Error("Error getting team memberships", "url", info.ApiUrl+"/teams", "error", err) s.log.Error("Error getting team memberships", "url", info.ApiUrl+"/teams", "error", err)
return []string{}, err return []string{}, err
@ -565,7 +565,7 @@ func (s *SocialGenericOAuth) fetchTeamMembershipsFromTeamsUrl(ctx context.Contex
return []string{}, nil return []string{}, nil
} }
response, err := s.httpGet(ctx, client, fmt.Sprintf(s.teamsUrl)) response, err := s.httpGet(ctx, client, s.teamsUrl)
if err != nil { if err != nil {
s.log.Error("Error getting team memberships", "url", s.teamsUrl, "error", err) s.log.Error("Error getting team memberships", "url", s.teamsUrl, "error", err)
return nil, err return nil, err
@ -581,7 +581,7 @@ func (s *SocialGenericOAuth) FetchOrganizations(ctx context.Context, client *htt
info := s.GetOAuthInfo() info := s.GetOAuthInfo()
response, err := s.httpGet(ctx, client, fmt.Sprintf(info.ApiUrl+"/orgs")) response, err := s.httpGet(ctx, client, info.ApiUrl+"/orgs")
if err != nil { if err != nil {
s.log.Error("Error getting organizations", "url", info.ApiUrl+"/orgs", "error", err) s.log.Error("Error getting organizations", "url", info.ApiUrl+"/orgs", "error", err)
return nil, false return nil, false

@ -181,7 +181,7 @@ func (s *SocialGithub) FetchPrivateEmail(ctx context.Context, client *http.Clien
info := s.GetOAuthInfo() info := s.GetOAuthInfo()
response, err := s.httpGet(ctx, client, fmt.Sprintf(info.ApiUrl+"/emails")) response, err := s.httpGet(ctx, client, info.ApiUrl+"/emails")
if err != nil { if err != nil {
return "", fmt.Errorf("Error getting email address: %s", err) return "", fmt.Errorf("Error getting email address: %s", err)
} }
@ -206,7 +206,7 @@ func (s *SocialGithub) FetchPrivateEmail(ctx context.Context, client *http.Clien
func (s *SocialGithub) FetchTeamMemberships(ctx context.Context, client *http.Client) ([]GithubTeam, error) { func (s *SocialGithub) FetchTeamMemberships(ctx context.Context, client *http.Client) ([]GithubTeam, error) {
info := s.GetOAuthInfo() info := s.GetOAuthInfo()
url := fmt.Sprintf(info.ApiUrl + "/teams?per_page=100") url := info.ApiUrl + "/teams?per_page=100"
hasMore := true hasMore := true
teams := make([]GithubTeam, 0) teams := make([]GithubTeam, 0)
@ -339,7 +339,7 @@ func (s *SocialGithub) UserInfo(ctx context.Context, client *http.Client, token
userInfo.Name = data.Name userInfo.Name = data.Name
} }
organizationsUrl := fmt.Sprintf(info.ApiUrl + "/orgs?per_page=100") organizationsUrl := info.ApiUrl + "/orgs?per_page=100"
if !s.IsTeamMember(ctx, client) { if !s.IsTeamMember(ctx, client) {
return nil, ErrMissingTeamMembership.Errorf("User is not a member of any of the allowed teams: %v", s.teamIds) return nil, ErrMissingTeamMembership.Errorf("User is not a member of any of the allowed teams: %v", s.teamIds)

@ -43,6 +43,6 @@ func (r *subProxyREST) NewConnectOptions() (runtime.Object, bool, string) {
func (r *subProxyREST) Connect(ctx context.Context, name string, opts runtime.Object, responder rest.Responder) (http.Handler, error) { func (r *subProxyREST) Connect(ctx context.Context, name string, opts runtime.Object, responder rest.Responder) (http.Handler, error) {
return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
responder.Error(fmt.Errorf("TODO, proxy: " + r.pluginJSON.ID)) responder.Error(fmt.Errorf("TODO, proxy: %s", r.pluginJSON.ID))
}), nil }), nil
} }

@ -38,7 +38,7 @@ func parseQueryRequest(raw v0alpha1.GenericQueryRequest) (parsedQueryRequest, er
for _, original := range raw.Queries { for _, original := range raw.Queries {
if refIds[original.RefID] { if refIds[original.RefID] {
return parsed, fmt.Errorf("invalid query, duplicate refId: " + original.RefID) return parsed, fmt.Errorf("invalid query, duplicate refId: %s", original.RefID)
} }
refIds[original.RefID] = true refIds[original.RefID] = true

@ -3,6 +3,7 @@ package query
import ( import (
"context" "context"
"encoding/json" "encoding/json"
"errors"
"fmt" "fmt"
"net/http" "net/http"
@ -109,7 +110,7 @@ func (b *QueryAPIBuilder) executeConcurrentQueries(ctx context.Context, requests
if theErr, ok := r.(error); ok { if theErr, ok := r.(error); ok {
err = theErr err = theErr
} else if theErrString, ok := r.(string); ok { } else if theErrString, ok := r.(string); ok {
err = fmt.Errorf(theErrString) err = errors.New(theErrString)
} else { } else {
err = fmt.Errorf("unexpected error - %s", b.userFacingDefaultError) err = fmt.Errorf("unexpected error - %s", b.userFacingDefaultError)
} }

@ -111,7 +111,7 @@ func (d *directRegistry) GetDatasourceGroupVersion(pluginId string) (schema.Grou
var err error var err error
gv, ok := d.apis[pluginId] gv, ok := d.apis[pluginId]
if !ok { if !ok {
err = fmt.Errorf("no API found for id: " + pluginId) err = fmt.Errorf("no API found for id: %s", pluginId)
} }
return gv, err return gv, err
} }

@ -304,7 +304,7 @@ func (cmd *SaveExternalServiceRoleCommand) Validate() error {
cmd.ExternalServiceID = slugify.Slugify(cmd.ExternalServiceID) cmd.ExternalServiceID = slugify.Slugify(cmd.ExternalServiceID)
// Check and deduplicate permissions // Check and deduplicate permissions
if cmd.Permissions == nil || len(cmd.Permissions) == 0 { if len(cmd.Permissions) == 0 {
return errors.New("no permissions provided") return errors.New("no permissions provided")
} }
dedupMap := map[Permission]bool{} dedupMap := map[Permission]bool{}

@ -210,7 +210,7 @@ func (c *QueryCondition) executeQuery(context *alerting.EvalContext, timeRange l
} }
// If there are dataframes but no series on the result // If there are dataframes but no series on the result
useDataframes := v.Dataframes != nil && (v.Series == nil || len(v.Series) == 0) useDataframes := v.Dataframes != nil && len(v.Series) == 0
if useDataframes { // convert the dataframes to plugins.DataTimeSeries if useDataframes { // convert the dataframes to plugins.DataTimeSeries
frames, err := v.Dataframes.Decoded() frames, err := v.Dataframes.Decoded()

@ -2,6 +2,7 @@ package annotationsimpl
import ( import (
"context" "context"
"errors"
"fmt" "fmt"
"sort" "sort"
@ -88,7 +89,7 @@ func handleJobPanic(logger log.Logger, storeType string, jobErr *error) {
errMsg := "concurrent job panic" errMsg := "concurrent job panic"
if jobErr != nil { if jobErr != nil {
err := fmt.Errorf(errMsg) err := errors.New(errMsg)
if panicErr, ok := r.(error); ok { if panicErr, ok := r.(error); ok {
err = fmt.Errorf("%s: %w", errMsg, panicErr) err = fmt.Errorf("%s: %w", errMsg, panicErr)
} }

@ -186,8 +186,7 @@ func verifyAndGenerateFile(t *testing.T, fpath string, gen string) {
body, err := os.ReadFile(fpath) body, err := os.ReadFile(fpath)
if err == nil { if err == nil {
if diff := cmp.Diff(gen, string(body)); diff != "" { if diff := cmp.Diff(gen, string(body)); diff != "" {
str := fmt.Sprintf("body mismatch (-want +got):\n%s\n", diff) err = fmt.Errorf("body mismatch (-want +got):\n%s\n", diff)
err = fmt.Errorf(str)
} }
} }

@ -12,9 +12,9 @@ var (
) )
func NewAuthorizationErrorWithPermissions(action string, eval accesscontrol.Evaluator) error { func NewAuthorizationErrorWithPermissions(action string, eval accesscontrol.Evaluator) error {
msg := fmt.Sprintf("user is not authorized to %s", action) msg := "user is not authorized to %s"
err := errAuthorizationGeneric.Errorf(msg) err := errAuthorizationGeneric.Errorf(msg, action)
err.PublicMessage = msg err.PublicMessage = fmt.Sprintf(msg, action)
if eval != nil { if eval != nil {
err.PublicPayload = map[string]any{ err.PublicPayload = map[string]any{
"permissions": eval.GoString(), "permissions": eval.GoString(),

@ -206,8 +206,9 @@ func messageExtractor(resp *response.NormalResponse) (any, error) {
// ErrorResp creates a response with a visible error // ErrorResp creates a response with a visible error
func ErrResp(status int, err error, msg string, args ...any) *response.NormalResponse { func ErrResp(status int, err error, msg string, args ...any) *response.NormalResponse {
if msg != "" { if msg != "" {
formattedMsg := fmt.Sprintf(msg, args...) msg += ": %w"
err = fmt.Errorf("%s: %w", formattedMsg, err) args = append(args, err)
err = fmt.Errorf(msg, args...)
} }
return response.Error(status, err.Error(), err) return response.Error(status, err.Error(), err)
} }

@ -2,6 +2,7 @@ package notifiers
import ( import (
"context" "context"
"errors"
"fmt" "fmt"
"io/fs" "io/fs"
"os" "os"
@ -118,41 +119,41 @@ func (cr *configReader) checkOrgIDAndOrgName(ctx context.Context, notifications
func (cr *configReader) validateRequiredField(notifications []*notificationsAsConfig) error { func (cr *configReader) validateRequiredField(notifications []*notificationsAsConfig) error {
for i := range notifications { for i := range notifications {
var errStrings []string errs := []error{}
for index, notification := range notifications[i].Notifications { for index, notification := range notifications[i].Notifications {
if notification.Name == "" { if notification.Name == "" {
errStrings = append( errs = append(
errStrings, errs,
fmt.Sprintf("Added alert notification item %d in configuration doesn't contain required field name", index+1), fmt.Errorf("added alert notification item %d in configuration doesn't contain required field name", index+1),
) )
} }
if notification.UID == "" { if notification.UID == "" {
errStrings = append( errs = append(
errStrings, errs,
fmt.Sprintf("Added alert notification item %d in configuration doesn't contain required field uid", index+1), fmt.Errorf("added alert notification item %d in configuration doesn't contain required field uid", index+1),
) )
} }
} }
for index, notification := range notifications[i].DeleteNotifications { for index, notification := range notifications[i].DeleteNotifications {
if notification.Name == "" { if notification.Name == "" {
errStrings = append( errs = append(
errStrings, errs,
fmt.Sprintf("Deleted alert notification item %d in configuration doesn't contain required field name", index+1), fmt.Errorf("deleted alert notification item %d in configuration doesn't contain required field name", index+1),
) )
} }
if notification.UID == "" { if notification.UID == "" {
errStrings = append( errs = append(
errStrings, errs,
fmt.Sprintf("Deleted alert notification item %d in configuration doesn't contain required field uid", index+1), fmt.Errorf("deleted alert notification item %d in configuration doesn't contain required field uid", index+1),
) )
} }
} }
if len(errStrings) != 0 { if len(errs) != 0 {
return fmt.Errorf(strings.Join(errStrings, "\n")) return errors.Join(errs...)
} }
} }

@ -263,10 +263,10 @@ func TestNotificationAsConfig(t *testing.T) {
require.NotNil(t, err) require.NotNil(t, err)
errString := err.Error() errString := err.Error()
require.Contains(t, errString, "Deleted alert notification item 1 in configuration doesn't contain required field uid") require.Contains(t, errString, "deleted alert notification item 1 in configuration doesn't contain required field uid")
require.Contains(t, errString, "Deleted alert notification item 2 in configuration doesn't contain required field name") require.Contains(t, errString, "deleted alert notification item 2 in configuration doesn't contain required field name")
require.Contains(t, errString, "Added alert notification item 1 in configuration doesn't contain required field name") require.Contains(t, errString, "added alert notification item 1 in configuration doesn't contain required field name")
require.Contains(t, errString, "Added alert notification item 2 in configuration doesn't contain required field uid") require.Contains(t, errString, "added alert notification item 2 in configuration doesn't contain required field uid")
}) })
t.Run("Empty yaml file", func(t *testing.T) { t.Run("Empty yaml file", func(t *testing.T) {

@ -2,6 +2,7 @@ package plugins
import ( import (
"context" "context"
"errors"
"fmt" "fmt"
"io/fs" "io/fs"
"os" "os"
@ -90,18 +91,16 @@ func (cr *configReaderImpl) parsePluginConfig(path string, file fs.DirEntry) (*p
func validateRequiredField(apps []*pluginsAsConfig) error { func validateRequiredField(apps []*pluginsAsConfig) error {
for i := range apps { for i := range apps {
var errStrings []string errs := []error{}
for index, app := range apps[i].Apps { for index, app := range apps[i].Apps {
if app.PluginID == "" { if app.PluginID == "" {
errStrings = append( err := fmt.Errorf("app item %d in configuration doesn't contain required field type", index+1)
errStrings, errs = append(errs, err)
fmt.Sprintf("app item %d in configuration doesn't contain required field type", index+1),
)
} }
} }
if len(errStrings) != 0 { if len(errs) != 0 {
return fmt.Errorf(strings.Join(errStrings, "\n")) return errors.Join(errs...)
} }
} }

@ -2,6 +2,7 @@ package query
import ( import (
"context" "context"
"errors"
"fmt" "fmt"
"net/http" "net/http"
"runtime" "runtime"
@ -125,7 +126,7 @@ func (s *ServiceImpl) executeConcurrentQueries(ctx context.Context, user identit
if theErr, ok := r.(error); ok { if theErr, ok := r.(error); ok {
err = theErr err = theErr
} else if theErrString, ok := r.(string); ok { } else if theErrString, ok := r.(string); ok {
err = fmt.Errorf(theErrString) err = errors.New(theErrString)
} else { } else {
err = fmt.Errorf("unexpected error - %s", s.cfg.UserFacingDefaultError) err = fmt.Errorf("unexpected error - %s", s.cfg.UserFacingDefaultError)
} }

@ -113,7 +113,7 @@ func (s *OSSService) SearchUser(c *contextmodel.ReqContext) (*user.SearchUserQue
for _, user := range res.Users { for _, user := range res.Users {
user.AvatarURL = dtos.GetGravatarUrl(s.cfg, user.Email) user.AvatarURL = dtos.GetGravatarUrl(s.cfg, user.Email)
user.AuthLabels = make([]string, 0) user.AuthLabels = make([]string, 0)
if user.AuthModule != nil && len(user.AuthModule) > 0 { if len(user.AuthModule) > 0 {
for _, authModule := range user.AuthModule { for _, authModule := range user.AuthModule {
user.AuthLabels = append(user.AuthLabels, login.GetAuthProviderLabel(authModule)) user.AuthLabels = append(user.AuthLabels, login.GetAuthProviderLabel(authModule))
} }

@ -132,5 +132,5 @@ func newStorage(cfg RootStorageConfig, localWorkCache string) (storageRuntime, e
return newDiskStorage(RootStorageMeta{}, cfg), nil return newDiskStorage(RootStorageMeta{}, cfg), nil
} }
return nil, fmt.Errorf("unsupported store: " + cfg.Type) return nil, fmt.Errorf("unsupported store: %s", cfg.Type)
} }

@ -211,7 +211,7 @@ func (e *cloudWatchExecutor) executeStartQuery(ctx context.Context, logsClient c
QueryString: aws.String(modifiedQueryString), QueryString: aws.String(modifiedQueryString),
} }
if logsQuery.LogGroups != nil && len(logsQuery.LogGroups) > 0 && features.IsEnabled(ctx, features.FlagCloudWatchCrossAccountQuerying) { if len(logsQuery.LogGroups) > 0 && features.IsEnabled(ctx, features.FlagCloudWatchCrossAccountQuerying) {
var logGroupIdentifiers []string var logGroupIdentifiers []string
for _, lg := range logsQuery.LogGroups { for _, lg := range logsQuery.LogGroups {
arn := lg.Arn arn := lg.Arn

@ -25,7 +25,7 @@ type CloudWatchSettings struct {
func LoadCloudWatchSettings(ctx context.Context, config backend.DataSourceInstanceSettings) (CloudWatchSettings, error) { func LoadCloudWatchSettings(ctx context.Context, config backend.DataSourceInstanceSettings) (CloudWatchSettings, error) {
instance := CloudWatchSettings{} instance := CloudWatchSettings{}
if config.JSONData != nil && len(config.JSONData) > 1 { if len(config.JSONData) > 1 {
if err := json.Unmarshal(config.JSONData, &instance); err != nil { if err := json.Unmarshal(config.JSONData, &instance); err != nil {
return CloudWatchSettings{}, fmt.Errorf("could not unmarshal DatasourceSettings json: %w", err) return CloudWatchSettings{}, fmt.Errorf("could not unmarshal DatasourceSettings json: %w", err)
} }

@ -35,7 +35,7 @@ type SimulationEngine struct {
func (s *SimulationEngine) register(info simulationInfo) error { func (s *SimulationEngine) register(info simulationInfo) error {
if info.create == nil { if info.create == nil {
return fmt.Errorf("invalid simulation -- missing create function: " + info.Type) return fmt.Errorf("invalid simulation -- missing create function: %s", info.Type)
} }
if info.Type == "" { if info.Type == "" {
return fmt.Errorf("missing type") return fmt.Errorf("missing type")

@ -47,7 +47,7 @@ func executeQuery(ctx context.Context, logger log.Logger, query queryModel, runn
text += " Try using the aggregateWindow() function in your query to reduce the number of points returned." text += " Try using the aggregateWindow() function in your query to reduce the number of points returned."
} }
dr.Error = fmt.Errorf(text) dr.Error = errors.New(text)
} }
} }
} }

@ -315,7 +315,7 @@ func TestNewFrame(t *testing.T) {
}, },
} }
if !cmp.Equal(expected, actual, cmp.Comparer(cmpFrame)) { if !cmp.Equal(expected, actual, cmp.Comparer(cmpFrame)) {
log.Fatalf(cmp.Diff(expected, actual)) log.Fatal(cmp.Diff(expected, actual))
} }
} }

@ -1,6 +1,7 @@
package buffered package buffered
import ( import (
"errors"
"fmt" "fmt"
"io" "io"
"strings" "strings"
@ -32,12 +33,12 @@ func parse(buf io.Reader, statusCode int, query *models.Query) *backend.DataResp
} }
if response.Error != "" { if response.Error != "" {
return &backend.DataResponse{Error: fmt.Errorf(response.Error)} return &backend.DataResponse{Error: errors.New(response.Error)}
} }
result := response.Results[0] result := response.Results[0]
if result.Error != "" { if result.Error != "" {
return &backend.DataResponse{Error: fmt.Errorf(result.Error)} return &backend.DataResponse{Error: errors.New(result.Error)}
} }
if query.ResultFormat == "table" { if query.ResultFormat == "table" {

@ -2,6 +2,7 @@ package querydata
import ( import (
"context" "context"
"errors"
"fmt" "fmt"
"net/http" "net/http"
"regexp" "regexp"
@ -188,7 +189,7 @@ func (s *QueryData) instantQuery(ctx context.Context, c *client.Client, q *model
// This is only for health check fall back scenario // This is only for health check fall back scenario
if res.StatusCode != 200 && q.RefId == "__healthcheck__" { if res.StatusCode != 200 && q.RefId == "__healthcheck__" {
return backend.DataResponse{ return backend.DataResponse{
Error: fmt.Errorf(res.Status), Error: errors.New(res.Status),
} }
} }

@ -214,7 +214,7 @@ func (e *DataSourceHandler) executeQuery(query backend.DataQuery, wg *sync.WaitG
if theErr, ok := r.(error); ok { if theErr, ok := r.(error); ok {
queryResult.dataResponse.Error = theErr queryResult.dataResponse.Error = theErr
} else if theErrString, ok := r.(string); ok { } else if theErrString, ok := r.(string); ok {
queryResult.dataResponse.Error = fmt.Errorf(theErrString) queryResult.dataResponse.Error = errors.New(theErrString)
} else { } else {
queryResult.dataResponse.Error = fmt.Errorf("unexpected error - %s", e.userError) queryResult.dataResponse.Error = fmt.Errorf("unexpected error - %s", e.userError)
} }

@ -1,6 +1,6 @@
module github.com/grafana/grafana/pkg/util/xorm module github.com/grafana/grafana/pkg/util/xorm
go 1.21 go 1.23.7
require ( require (
github.com/mattn/go-sqlite3 v1.14.19 github.com/mattn/go-sqlite3 v1.14.19

@ -13124,7 +13124,7 @@
"description": "Policies contains all policy identifiers included in the certificate.\nIn Go 1.22, encoding/gob cannot handle and ignores this field.", "description": "Policies contains all policy identifiers included in the certificate.\nIn Go 1.22, encoding/gob cannot handle and ignores this field.",
"type": "array", "type": "array",
"items": { "items": {
"$ref": "#/definitions/OID" "type": "string"
} }
}, },
"PolicyIdentifiers": { "PolicyIdentifiers": {
@ -16885,10 +16885,6 @@
} }
} }
}, },
"OID": {
"type": "object",
"title": "An OID represents an ASN.1 OBJECT IDENTIFIER."
},
"ObjectIdentifier": { "ObjectIdentifier": {
"type": "array", "type": "array",
"title": "An ObjectIdentifier represents an ASN.1 OBJECT IDENTIFIER.", "title": "An ObjectIdentifier represents an ASN.1 OBJECT IDENTIFIER.",

@ -3669,7 +3669,7 @@
"Policies": { "Policies": {
"description": "Policies contains all policy identifiers included in the certificate.\nIn Go 1.22, encoding/gob cannot handle and ignores this field.", "description": "Policies contains all policy identifiers included in the certificate.\nIn Go 1.22, encoding/gob cannot handle and ignores this field.",
"items": { "items": {
"$ref": "#/components/schemas/OID" "type": "string"
}, },
"type": "array" "type": "array"
}, },
@ -7433,10 +7433,6 @@
"title": "OAuth2 is the oauth2 client configuration.", "title": "OAuth2 is the oauth2 client configuration.",
"type": "object" "type": "object"
}, },
"OID": {
"title": "An OID represents an ASN.1 OBJECT IDENTIFIER.",
"type": "object"
},
"ObjectIdentifier": { "ObjectIdentifier": {
"items": { "items": {
"format": "int64", "format": "int64",

@ -1,4 +1,4 @@
FROM golang:1.20.3-windowsservercore-1809 FROM golang:1.23.7-windowsservercore-1809
SHELL ["powershell", "-command"] SHELL ["powershell", "-command"]

@ -31,7 +31,7 @@ def swagger_gen_step(ver_mode):
"apk add --update git make", "apk add --update git make",
"make swagger-clean && make openapi3-gen", "make swagger-clean && make openapi3-gen",
"for f in public/api-merged.json public/openapi3.json; do git add $f; done", "for f in public/api-merged.json public/openapi3.json; do git add $f; done",
'if [ -z "$(git diff --name-only --cached)" ]; then echo "Everything seems up to date!"; else echo "Please ensure the branch is up-to-date, then regenerate the specification by running make swagger-clean && make openapi3-gen" && return 1; fi', 'if [ -z "$(git diff --name-only --cached)" ]; then echo "Everything seems up to date!"; else git diff --cached && echo "Please ensure the branch is up-to-date, then regenerate the specification by running make swagger-clean && make openapi3-gen" && return 1; fi',
], ],
"depends_on": [ "depends_on": [
"clone-enterprise", "clone-enterprise",

@ -3,7 +3,7 @@ global variables
""" """
grabpl_version = "v3.1.2" grabpl_version = "v3.1.2"
golang_version = "1.22.11" golang_version = "1.23.7"
# nodejs_version should match what's in ".nvmrc", but without the v prefix. # nodejs_version should match what's in ".nvmrc", but without the v prefix.
nodejs_version = "20.9.0" nodejs_version = "20.9.0"

Loading…
Cancel
Save