From cfcdc24ae716a9c536d34d708a046f7b03f642ec Mon Sep 17 00:00:00 2001 From: Daniel Adam Date: Mon, 2 Jun 2025 18:56:10 +0200 Subject: [PATCH 1/5] Upgrade to go v1.23 --- .github/workflows/build-with-cfg.yml | 2 +- .github/workflows/builds.yml | 4 ++-- .github/workflows/golangci-lint.yml | 4 ++-- .github/workflows/test-with-cfg.yml | 4 ++-- README.md | 2 +- cmd/bridge-device/Dockerfile | 2 +- go.mod | 4 +--- test/cloud-server/Dockerfile | 2 +- 8 files changed, 11 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-with-cfg.yml b/.github/workflows/build-with-cfg.yml index e6699117..0fade163 100644 --- a/.github/workflows/build-with-cfg.yml +++ b/.github/workflows/build-with-cfg.yml @@ -23,7 +23,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v5 with: - go-version: ${{ inputs.go-version || '^1.22' }} + go-version: ${{ inputs.go-version || '^1.23' }} check-latest: true - run: | diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml index afe37239..c0702a81 100644 --- a/.github/workflows/builds.yml +++ b/.github/workflows/builds.yml @@ -17,8 +17,8 @@ jobs: matrix: include: # test build of oldest supported go version - - name: go1.22 - go-version: "~1.22" + - name: go1.23 + go-version: "~1.23" uses: ./.github/workflows/build-with-cfg.yml with: go-version: ${{ matrix.go-version }} diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 97900410..5a25278b 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -16,10 +16,10 @@ jobs: - name: Checkout uses: actions/checkout@v4 - - name: Set up Go 1.22+ + - name: Set up Go 1.23+ uses: actions/setup-go@v5 with: - go-version: "^1.22" # The Go version to download (if necessary) and use. + go-version: "^1.23" # The Go version to download (if necessary) and use. check-latest: true cache: false diff --git a/.github/workflows/test-with-cfg.yml b/.github/workflows/test-with-cfg.yml index 3f36c58a..cbe36570 100644 --- a/.github/workflows/test-with-cfg.yml +++ b/.github/workflows/test-with-cfg.yml @@ -37,10 +37,10 @@ jobs: - name: Shallow checkout uses: actions/checkout@v4 - - name: Set up Go 1.22+ + - name: Set up Go 1.23+ uses: actions/setup-go@v5 with: - go-version: "^1.22" + go-version: "^1.23" check-latest: true - run: go version diff --git a/README.md b/README.md index d98a596b..a9a5570a 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ The **client** enables interaction with devices in a local network: ## Requirements -- Go 1.22 or higher +- Go 1.23 or higher ## Installation OCF Client diff --git a/cmd/bridge-device/Dockerfile b/cmd/bridge-device/Dockerfile index b89950de..ee93fc08 100644 --- a/cmd/bridge-device/Dockerfile +++ b/cmd/bridge-device/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1 -FROM golang:1.22.7-alpine AS build +FROM golang:1.23.9-alpine AS build RUN apk add --no-cache build-base curl git WORKDIR $GOPATH/src/github.com/plgd-dev/device COPY go.mod go.sum ./ diff --git a/go.mod b/go.mod index 3ce63ddc..c3c53172 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,6 @@ module github.com/plgd-dev/device/v2 -go 1.22 - -toolchain go1.22.0 +go 1.23 require ( github.com/fredbi/uri v1.1.0 diff --git a/test/cloud-server/Dockerfile b/test/cloud-server/Dockerfile index 2d959752..d2a41b4e 100644 --- a/test/cloud-server/Dockerfile +++ b/test/cloud-server/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.22.7-alpine AS build +FROM golang:1.23.9-alpine AS build RUN apk add --no-cache build-base curl git WORKDIR $GOPATH/src/github.com/plgd-dev/device COPY go.mod go.sum ./ From a1de3a46bc889e4858f6a245bc4230eb8e3986d3 Mon Sep 17 00:00:00 2001 From: Daniel Adam Date: Mon, 2 Jun 2025 19:35:12 +0200 Subject: [PATCH 2/5] Upgrade dependencies Direct: github.com/fxamacker/cbor/v2 v2.8.0 github.com/golang-jwt/jwt/v5 v5.2.2 github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2 github.com/pion/dtls/v3 v3.0.6 github.com/pion/logging v0.2.3 github.com/plgd-dev/go-coap/v3 v3.3.7-0.20250702164925-f431046ea1ce github.com/stretchr/testify v1.10.0 github.com/ugorji/go/codec v1.2.14 github.com/web-of-things-open-source/thingdescription-go v0.0.0-20250521114616-3895cda67f5d golang.org/x/exp v0.0.0-20250531010427-b6e5de432a8b golang.org/x/sync v0.14.0 google.golang.org/grpc v1.72.2 Indirect: golang.org/x/crypto v0.38.0 golang.org/x/net v0.40.0 golang.org/x/sys v0.33.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a google.golang.org/protobuf v1.36.6 --- go.mod | 46 ++++++++++---------- go.sum | 134 ++++++++++++++++++--------------------------------------- 2 files changed, 66 insertions(+), 114 deletions(-) diff --git a/go.mod b/go.mod index c3c53172..5936f162 100644 --- a/go.mod +++ b/go.mod @@ -1,28 +1,31 @@ module github.com/plgd-dev/device/v2 -go 1.23 +go 1.23.0 + +// use export GOTOOLCHAIN=go1.23.0 before calling go mod tidy to avoid tidy adding +// the toolchain directive with your local go version require ( github.com/fredbi/uri v1.1.0 - github.com/fxamacker/cbor/v2 v2.7.0 + github.com/fxamacker/cbor/v2 v2.8.0 github.com/go-json-experiment/json v0.0.0-20240815174924-0599f16bf0e2 - github.com/golang-jwt/jwt/v5 v5.2.1 + github.com/golang-jwt/jwt/v5 v5.2.2 github.com/google/uuid v1.6.0 - github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 + github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2 github.com/hashicorp/go-multierror v1.1.1 github.com/jessevdk/go-flags v1.6.1 github.com/karrick/tparse/v2 v2.8.2 - github.com/pion/dtls/v3 v3.0.2 - github.com/pion/logging v0.2.2 - github.com/plgd-dev/go-coap/v3 v3.3.5 + github.com/pion/dtls/v3 v3.0.6 + github.com/pion/logging v0.2.3 + github.com/plgd-dev/go-coap/v3 v3.3.7-0.20250702164925-f431046ea1ce github.com/plgd-dev/kit/v2 v2.0.0-20211006190727-057b33161b90 - github.com/stretchr/testify v1.9.0 - github.com/ugorji/go/codec v1.2.12 - github.com/web-of-things-open-source/thingdescription-go v0.0.0-20240513190706-79b5f39190eb + github.com/stretchr/testify v1.10.0 + github.com/ugorji/go/codec v1.2.14 + github.com/web-of-things-open-source/thingdescription-go v0.0.0-20250521114616-3895cda67f5d go.uber.org/atomic v1.11.0 - golang.org/x/exp v0.0.0-20240823005443-9b4947da3948 - golang.org/x/sync v0.8.0 - google.golang.org/grpc v1.66.2 + golang.org/x/exp v0.0.0-20250531010427-b6e5de432a8b + golang.org/x/sync v0.14.0 + google.golang.org/grpc v1.72.2 gopkg.in/yaml.v3 v3.0.1 ) @@ -34,15 +37,12 @@ require ( github.com/pion/transport/v3 v3.0.7 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/x448/float16 v0.8.4 // indirect - golang.org/x/crypto v0.27.0 // indirect - golang.org/x/net v0.29.0 // indirect - golang.org/x/sys v0.25.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect - google.golang.org/protobuf v1.34.2 // indirect + golang.org/x/crypto v0.38.0 // indirect + golang.org/x/net v0.40.0 // indirect + golang.org/x/sys v0.33.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a // indirect + google.golang.org/protobuf v1.36.6 // indirect ) -// last versions for Go 1.22.0 -replace ( - github.com/go-json-experiment/json => github.com/go-json-experiment/json v0.0.0-20240815174924-0599f16bf0e2 - golang.org/x/exp => golang.org/x/exp v0.0.0-20240823005443-9b4947da3948 -) +// last versions for Go 1.23 +replace github.com/go-json-experiment/json => github.com/go-json-experiment/json v0.0.0-20240815175050-ebd3a8989ca1 diff --git a/go.sum b/go.sum index 436c2053..5fdf70f8 100644 --- a/go.sum +++ b/go.sum @@ -24,11 +24,11 @@ github.com/fredbi/uri v1.1.0 h1:OqLpTXtyRg9ABReqvDGdJPqZUxs8cyBDOMXBbskCaB8= github.com/fredbi/uri v1.1.0/go.mod h1:aYTUoAXBOq7BLfVJ8GnKmfcuURosB1xyHDIfWeC/iW4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fxamacker/cbor/v2 v2.2.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= -github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= -github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= +github.com/fxamacker/cbor/v2 v2.8.0 h1:fFtUGXUzXPHTIUdne5+zzMPTfffl3RD5qYnkY40vtxU= +github.com/fxamacker/cbor/v2 v2.8.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/go-acme/lego v2.7.2+incompatible/go.mod h1:yzMNe9CasVUhkquNvti5nAtPmG94USbYxYrZfTkIn0M= -github.com/go-json-experiment/json v0.0.0-20240815174924-0599f16bf0e2 h1:T01ryfhob+ta3ADOh2B2FLA1cFLVOaQJH/iwh22rIFM= -github.com/go-json-experiment/json v0.0.0-20240815174924-0599f16bf0e2/go.mod h1:uDEMZSTQMj7V6Lxdrx4ZwchmHEGdICbjuY+GQd7j9LM= +github.com/go-json-experiment/json v0.0.0-20240815175050-ebd3a8989ca1 h1:xcuWappghOVI8iNWoF2OKahVejd1LSVi/v4JED44Amo= +github.com/go-json-experiment/json v0.0.0-20240815175050-ebd3a8989ca1/go.mod h1:BWmvoE1Xia34f3l/ibJweyhrT+aROb/FQ6d+37F0e2s= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-ocf/go-coap/v2 v2.0.4-0.20200728125043-f38b86f047a7/go.mod h1:X9wVKcaOSx7wBxKcvrWgMQq1R2DNeA7NBLW2osIb8TM= @@ -37,8 +37,8 @@ github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/me github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk= -github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= +github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8= +github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -50,6 +50,8 @@ github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrU github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -63,8 +65,8 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/grpc-ecosystem/go-grpc-middleware v1.2.0/go.mod h1:mJzapYve32yjrKlk9GbyCZHuPgZsrbyIbyKhSzOpg6s= -github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0 h1:pRhl55Yx1eC7BZ1N+BBWwnKaMyD8uC+34TLdndZMAKk= -github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0/go.mod h1:XKMd7iuf/RGPSMJ/U4HP0zS2Z9Fh8Ps9a+6X26m/tmI= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2 h1:sGm2vDRFUrQJO/Veii4h4zG2vvqG6uWNkBHSTqXOZk0= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.2/go.mod h1:wd1YpapPLivG6nQgbf7ZkG1hhSOXDhhn4MLTknx2aAc= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -97,10 +99,11 @@ github.com/panjf2000/ants/v2 v2.4.3/go.mod h1:f6F0NZVFsGCp5A7QW/Zj/m92atWwOkY0OI github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= github.com/pion/dtls/v2 v2.0.1-0.20200503085337-8e86b3a7d585/go.mod h1:/GahSOC8ZY/+17zkaGJIG4OUkSGAcZu/N/g3roBOCkM= github.com/pion/dtls/v2 v2.0.10-0.20210502094952-3dc563b9aede/go.mod h1:86wv5dgx2J/z871nUR+5fTTY9tISLUlo+C5Gm86r1Hs= -github.com/pion/dtls/v3 v3.0.2 h1:425DEeJ/jfuTTghhUDW0GtYZYIwwMtnKKJNMcWccTX0= -github.com/pion/dtls/v3 v3.0.2/go.mod h1:dfIXcFkKoujDQ+jtd8M6RgqKK3DuaUilm3YatAbGp5k= -github.com/pion/logging v0.2.2 h1:M9+AIj/+pxNsDfAT64+MAVgJO0rsyLnoJKCqf//DoeY= +github.com/pion/dtls/v3 v3.0.6 h1:7Hkd8WhAJNbRgq9RgdNh1aaWlZlGpYTzdqjy9x9sK2E= +github.com/pion/dtls/v3 v3.0.6/go.mod h1:iJxNQ3Uhn1NZWOMWlLxEEHAN5yX7GyPvvKw04v9bzYU= github.com/pion/logging v0.2.2/go.mod h1:k0/tDVsRCX2Mb2ZEmTqNa7CWsQPc+YYCB7Q+5pahoms= +github.com/pion/logging v0.2.3 h1:gHuf0zpoh1GW67Nr6Gj4cv5Z9ZscU7g/EaoC/Ke/igI= +github.com/pion/logging v0.2.3/go.mod h1:z8YfknkquMe1csOrxK5kc+5/ZPAzMxbKLX5aXpbpC90= github.com/pion/transport v0.10.0/go.mod h1:BnHnUipd0rZQyTVB2SBGojFHT9CBt5C5TcsJSQGkvSE= github.com/pion/transport v0.12.2/go.mod h1:N3+vZQD9HlDP5GWkZ85LohxNsDcNgofQmyL6ojX5d8Q= github.com/pion/transport v0.12.3/go.mod h1:OViWW9SP2peE/HbwBvARicmAVnesphkNkCVZIWJ6q9A= @@ -113,8 +116,10 @@ github.com/pkg/profile v1.7.0 h1:hnbDkaNWPCLMO9wGLdBFTIZvzDrDfBM2072E1S9gJkA= github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo= github.com/plgd-dev/go-coap/v2 v2.0.4-0.20200819112225-8eb712b901bc/go.mod h1:+tCi9Q78H/orWRtpVWyBgrr4vKFo2zYtbbxUllerBp4= github.com/plgd-dev/go-coap/v2 v2.4.1-0.20210517130748-95c37ac8e1fa/go.mod h1:rA7fc7ar+B/qa+Q0hRqv7yj/EMtIlmo1l7vkQGSrHPU= -github.com/plgd-dev/go-coap/v3 v3.3.5 h1:GBdBwM/9JtJhbHxBhbzXAc40yaWvdYX16+vN0ShoX7w= -github.com/plgd-dev/go-coap/v3 v3.3.5/go.mod h1:Cs6sfxmF/b8ktTVfPMf6FzihFx+0mEZ/ClbFNUnnsZw= +github.com/plgd-dev/go-coap/v3 v3.3.7-0.20250517192602-58e55797cdad h1:fmD0tmyHikig71HNkhd8zL/Z/XYFwWaqCHUO9C7l2aY= +github.com/plgd-dev/go-coap/v3 v3.3.7-0.20250517192602-58e55797cdad/go.mod h1:azpceqoHFeGzzNVm3RX4ox6xKHLOJ+pD0emPpr7FDXA= +github.com/plgd-dev/go-coap/v3 v3.3.7-0.20250702164925-f431046ea1ce h1:v70B28+YG+glVdETyB7MOQIlW24n55t8/sdc9XddbAc= +github.com/plgd-dev/go-coap/v3 v3.3.7-0.20250702164925-f431046ea1ce/go.mod h1:azpceqoHFeGzzNVm3RX4ox6xKHLOJ+pD0emPpr7FDXA= github.com/plgd-dev/kit v0.0.0-20200819113605-d5fcf3e94f63/go.mod h1:Yl9zisyXfPdtP9hTWlJqjJYXmgU/jtSDKttz9/CeD90= github.com/plgd-dev/kit/v2 v2.0.0-20211006190727-057b33161b90 h1:TC1HJ/UbyflJFPvaOdGmNZ5TeFGex1/dyr9urNGLy7M= github.com/plgd-dev/kit/v2 v2.0.0-20211006190727-057b33161b90/go.mod h1:Z7oKFLSGQjdi8eInxwFCs0tSApuEM1o0qNck+sJYp4M= @@ -131,21 +136,20 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= -github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= +github.com/ugorji/go/codec v1.2.14 h1:yOQvXCBc3Ij46LRkRoh4Yd5qK6LVOgi0bYOXfb7ifjw= +github.com/ugorji/go/codec v1.2.14/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasthttp v1.12.0/go.mod h1:229t1eWu9UXTPmoUkbpN/fctKPBY4IJoFXQnxHGXy6E= github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= -github.com/web-of-things-open-source/thingdescription-go v0.0.0-20240513190706-79b5f39190eb h1:6qIx0S8XOgCXkIMWew2dET+0Fcw2qTYZsDJ9LT8xQXg= -github.com/web-of-things-open-source/thingdescription-go v0.0.0-20240513190706-79b5f39190eb/go.mod h1:L/jWuWf+v7rmuFykpUP/runRXTnnA0QdGGgou8vzPrw= +github.com/web-of-things-open-source/thingdescription-go v0.0.0-20250521114616-3895cda67f5d h1:OhU7uTcsAbj1BI+XHcHCPKfBS9ZkLEw6FfsLAx+ITZk= +github.com/web-of-things-open-source/thingdescription-go v0.0.0-20250521114616-3895cda67f5d/go.mod h1:+mHLKmjwfdeYhzxw/s6SySjFdlLUkUvOLMDTsZAdm4U= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= @@ -162,15 +166,11 @@ golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= -golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= -golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= -golang.org/x/exp v0.0.0-20240823005443-9b4947da3948 h1:kx6Ds3MlpiUHKj7syVnbp57++8WpuKPcR5yjLBjvLEA= -golang.org/x/exp v0.0.0-20240823005443-9b4947da3948/go.mod h1:akd2r19cwCdwSwWeIdzYQGa/EZZyqcOdwWiwj5L5eKQ= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20250531010427-b6e5de432a8b h1:QoALfVG9rhQ/M7vYDScfPdWjGL9dlsVVM5VGh7aKoAA= +golang.org/x/exp v0.0.0-20250531010427-b6e5de432a8b/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= @@ -178,12 +178,6 @@ golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -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-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -200,15 +194,8 @@ golang.org/x/net v0.0.0-20201201195509-5d6afe98e0b7/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210502030024-e5908800b52b/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= -golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= -golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= +golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -216,13 +203,8 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sync v0.6.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/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -233,39 +215,14 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= -golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= -golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= +golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= 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.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= -golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -279,11 +236,6 @@ golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200417140056-c07e33ef3290/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -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-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -293,23 +245,23 @@ google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.66.2 h1:3QdXkuq3Bkh7w+ywLdLvM56cmGvQHUMZpiCzt6Rqaoo= -google.golang.org/grpc v1.66.2/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/grpc v1.72.2 h1:TdbGzwb82ty4OusHWepvFWGLgIbNo1/SUynEN0ssqv8= +google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 99bf54a817bc155e877d618fd5596377e72d4eda Mon Sep 17 00:00:00 2001 From: Daniel Adam Date: Sat, 17 May 2025 22:08:21 +0200 Subject: [PATCH 3/5] Upgrade to golangci-lint v2 --- .github/workflows/golangci-lint.yml | 4 +- .github/workflows/tests.yml | 2 +- .golangci.yml | 126 ++++++++++++---------------- bridge/device/cloud/manager.go | 4 +- bridge/net/request_test.go | 6 +- bridge/resources/device/resource.go | 4 +- bridge/resources/resource.go | 2 +- bridge/service/service.go | 2 +- bridge/test/test.go | 2 +- client/observeDevices.go | 5 +- client/observeResource.go | 6 +- cmd/bridge-device/main.go | 2 +- pkg/codec/cbor/codec.go | 2 +- pkg/codec/json/codec.go | 2 +- schema/link_test.go | 2 +- test/test.go | 2 +- 16 files changed, 77 insertions(+), 96 deletions(-) diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml index 5a25278b..6f138c0d 100644 --- a/.github/workflows/golangci-lint.yml +++ b/.github/workflows/golangci-lint.yml @@ -26,7 +26,7 @@ jobs: - run: go version - name: golangci-lint - uses: golangci/golangci-lint-action@v6 + uses: golangci/golangci-lint-action@v8 with: - version: v1.61 # switch to latest if development is unfreezed + version: v2.1.6 # switch to latest if development is unfreezed args: --timeout=5m diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5c9e1961..cac13421 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -70,7 +70,7 @@ jobs: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - name: Publish the coverage to codecov - uses: codecov/codecov-action@v4 + uses: codecov/codecov-action@v5 with: token: ${{ secrets.CODECOV_TOKEN }} directory: ./coverage/ diff --git a/.golangci.yml b/.golangci.yml index 12864812..93078556 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,34 +1,15 @@ -linters-settings: - exhaustive: - default-signifies-exhaustive: true - gocyclo: - min-complexity: 15 - gomodguard: - blocked: - modules: - - github.com/pkg/errors: - recommendations: - - errors - gomoddirectives: - replace-allow-list: - - github.com/go-json-experiment/json - - golang.org/x/exp - govet: - enable: - - nilness - - shadow - stylecheck: - # STxxxx checks in https://staticcheck.io/docs/configuration/options/#checks - # Default: ["*"] - checks: ["all", "-ST1000", "-ST1003"] - +version: "2" +run: + go: "1.23" +# issues: +# fix: true linters: enable: - asasalint # Check for pass []any as any in variadic func(...any) - asciicheck # Simple linter to check that your code does not contain non-ASCII identifiers - bidichk # Checks for dangerous unicode character sequences - bodyclose # Checks whether HTTP response body is closed successfully - - copyloopvar # Detects places where loop variables are copied + # - copyloopvar # Detects places where loop variables are copied - decorder # Check declaration order and count of types, constants, variables and functions - dogsled # Checks assignments with too many blank identifiers (e.g. x, _, _, _, := f()) - dupl # Tool for code clone detection @@ -38,25 +19,20 @@ linters: - errchkjson # Checks types passed to the json encoding functions. Reports unsupported types and optionally reports occasions, where the check for the returned error can be omitted. - errname # Checks that sentinel errors are prefixed with the `Err` and error types are suffixed with the `Error`. - errorlint # errorlint is a linter for that can be used to find code that will cause problems with the error wrapping scheme introduced in Go 1.13. + # - exportloopref # checks for pointers to enclosing loop variables - forcetypeassert # finds forced type assertions - - gci # Gci control golang package import order and make it always deterministic. - gocheckcompilerdirectives # Checks that go compiler directive comments (//go:) are valid. - gocognit # Computes and checks the cognitive complexity of functions - goconst # Finds repeated strings that could be replaced by a constant - gocritic # The most opinionated Go source code linter - gocyclo # Computes and checks the cyclomatic complexity of functions - # - godox # Tool for detection of FIXME, TODO and other comment keywords # - goerr113 # Golang linter to check the errors handling expressions - - gofmt # Gofmt checks whether code was gofmt-ed. By default this tool runs with -s option to check for code simplification - - gofumpt # Gofumpt checks whether code was gofumpt-ed. - goheader # Checks is file header matches to pattern - - goimports # Goimports does everything that gofmt does. Additionally it checks unused imports - - gomoddirectives # Manage the use of 'replace', 'retract', and 'excludes' directives in go.mod. + # - gomoddirectives # Manage the use of 'replace', 'retract', and 'excludes' directives in go.mod. - gomodguard # Allow and block list linter for direct Go module dependencies. This is different from depguard where there are different block types for example version constraints and module recommendations. - goprintffuncname # Checks that printf-like functions are named with `f` at the end - gosec # Inspects source code for security problems - gosmopolitan # Report certain i18n/l10n anti-patterns in your Go codebase - - gosimple # Linter for Go source code that specializes in simplifying a code - govet # Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string - grouper # An analyzer to analyze expression groups - importas # Enforces consistent import aliases @@ -81,11 +57,8 @@ linters: - sloglint # Ensure consistent code style when using log/slog - spancheck # Checks for mistakes with OpenTelemetry/Census spans - staticcheck # Staticcheck is a go vet on steroids, applying a ton of static analysis checks - - stylecheck # Stylecheck is a replacement for golint - - tenv # tenv is analyzer that detects using os.Setenv instead of t.Setenv since Go1.17 - testifylint # Checks usage of github.com/stretchr/testify. - tparallel # tparallel detects inappropriate usage of t.Parallel() method in your Go test codes - - typecheck # Like the front-end of a Go compiler, parses and type-checks Go code - unconvert # Remove unnecessary type conversions - unparam # Reports unused function parameters - unused # Checks Go code for unused constants, variables, functions and types @@ -104,7 +77,7 @@ linters: - gochecknoglobals # Checks that no globals are present in Go code - gochecknoinits # Checks that no init functions are present in Go code - godot # Check if comments end in a period - - gomnd # An analyzer to detect magic numbers. + - godox # Tool for detection of FIXME, TODO and other comment keywords - inamedparam # Reports interfaces with unnamed method parameters. - interfacebloat # A linter that checks the number of methods inside an interface - ireturn # Accept Interfaces, Return Concrete Types @@ -125,38 +98,49 @@ linters: - varnamelen # checks that the length of a variable's name matches its scope - wrapcheck # Checks that errors returned from external packages are wrapped - wsl # Whitespace Linter - Forces you to use empty lines! - -issues: - exclude-use-default: false - exclude-rules: - # Allow complex tests, better to be self contained - - path: _test\.go - linters: - - dupword - - forcetypeassert - - gocognit - - gocyclo - - # Allow complex main function and lower security in examples - - path: cmd/ocfclient/main\.go - linters: - - gocognit - - goconst - - gocyclo - - gosec - - nestif - - - path: pkg/error - text: "package name error has same name as predeclared identifier" - linters: - - predeclared - - - text: "var-naming:|exported:|package-comments:" - linters: - - revive - - # Fix found issues (if it's supported by the linter). - # fix: true - -run: - go: "1.22" + settings: + gocyclo: + min-complexity: 15 + govet: + enable: + - nilness + - shadow + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling + # Log a warning if an exclusion rule is unused. + # Default: false + warn-unused: true + rules: + - linters: + - dupword + - forcetypeassert + - gocognit + - gocyclo + path: _test\.go + - linters: + - gocognit + - goconst + - gocyclo + - gosec + - nestif + path: cmd/ocfclient/main\.go + - linters: + - predeclared + path: pkg/error + text: package name error has same name as predeclared identifier + - linters: + - revive + text: 'var-naming:|exported:|package-comments:' +formatters: + enable: + - gci + - gofmt + - gofumpt + - goimports + exclusions: + generated: lax diff --git a/bridge/device/cloud/manager.go b/bridge/device/cloud/manager.go index c9694e47..4d39a5d3 100644 --- a/bridge/device/cloud/manager.go +++ b/bridge/device/cloud/manager.go @@ -425,7 +425,7 @@ func (c *Manager) handleDeviceResource(r *net.Request) (*pool.Message, error) { } func (c *Manager) handleDiscoveryResource(r *net.Request) (*pool.Message, error) { - links := c.getLinks(schema.Endpoints{}, c.deviceID, getResourceTypesFilter(r.Message.Options()), resources.PublishToCloud) + links := c.getLinks(schema.Endpoints{}, c.deviceID, getResourceTypesFilter(r.Options()), resources.PublishToCloud) links = patchDeviceLink(links) links = discovery.PatchLinks(links, c.deviceID.String()) return resources.CreateResponseContent(r.Context(), links, codes.Content) @@ -454,7 +454,7 @@ func (c *Manager) serveCOAP(w mux.ResponseWriter, request *mux.Message) { } return } - request.Message.AddQuery("di=" + c.deviceID.String()) + request.AddQuery("di=" + c.deviceID.String()) r := net.Request{ Message: request.Message, Endpoints: nil, diff --git a/bridge/net/request_test.go b/bridge/net/request_test.go index 526c7ae4..62c7a6ee 100644 --- a/bridge/net/request_test.go +++ b/bridge/net/request_test.go @@ -73,7 +73,7 @@ func TestURIPath(t *testing.T) { reqNoPath := &net.Request{ Message: pool.NewMessage(context.Background()), } - require.Equal(t, "", reqNoPath.URIPath()) + require.Empty(t, reqNoPath.URIPath()) } func TestInterface(t *testing.T) { @@ -89,12 +89,12 @@ func TestInterface(t *testing.T) { Message: pool.NewMessage(context.Background()), } reqNoInterface.AddQuery("q1=v1") - require.Equal(t, "", reqNoInterface.Interface()) + require.Empty(t, reqNoInterface.Interface()) reqNoQuery := &net.Request{ Message: pool.NewMessage(context.Background()), } - require.Equal(t, "", reqNoQuery.Interface()) + require.Empty(t, reqNoQuery.Interface()) } func TestDeviceID(t *testing.T) { diff --git a/bridge/resources/device/resource.go b/bridge/resources/device/resource.go index 00cbbe7c..03752715 100644 --- a/bridge/resources/device/resource.go +++ b/bridge/resources/device/resource.go @@ -69,8 +69,8 @@ func (d *Resource) Get(request *net.Request) (*pool.Message, error) { // SpecificationVersion: "ocf.2.0.5", } if request.Interface() == interfaces.OC_IF_BASELINE { - deviceProperties.ResourceTypes = d.Resource.GetResourceTypes() - deviceProperties.Interfaces = d.Resource.ResourceInterfaces + deviceProperties.ResourceTypes = d.GetResourceTypes() + deviceProperties.Interfaces = d.ResourceInterfaces } properties := resources.MergeCBORStructs(additionalProperties, deviceProperties) res := pool.NewMessage(request.Context()) diff --git a/bridge/resources/resource.go b/bridge/resources/resource.go index ca7c86ba..76b67c7c 100644 --- a/bridge/resources/resource.go +++ b/bridge/resources/resource.go @@ -248,7 +248,7 @@ func (r *Resource) observerHandler(req *net.Request, createSubscription bool) (* r.removeSubscription(req.Conn.RemoteAddr().String()) return r.getHandler(req) } - req.Message.Hijack() + req.Hijack() sequence := atomic.NewUint32(1) var cancel func() var err error diff --git a/bridge/service/service.go b/bridge/service/service.go index 79772ac0..0a05e8aa 100644 --- a/bridge/service/service.go +++ b/bridge/service/service.go @@ -83,7 +83,7 @@ func (c *Service) LoadDevice(di uuid.UUID) (Device, error) { } func (c *Service) handleDiscoverAllLinks(req *net.Request) (*pool.Message, error) { - if req.Message.Type() != message.Acknowledgement && req.Message.Type() != message.Reset { + if req.Type() != message.Acknowledgement && req.Type() != message.Reset { // discovery is only allowed for CON, NON, UNSET messages c.onDiscoveryDevices(req) } diff --git a/bridge/test/test.go b/bridge/test/test.go index eed3e3e1..f9413c19 100644 --- a/bridge/test/test.go +++ b/bridge/test/test.go @@ -53,7 +53,7 @@ const ( func MakeConfig(t *testing.T) service.Config { var cfg service.Config cfg.API.CoAP.ID = BRIDGE_SERVICE_PIID - cfg.API.CoAP.Config.ExternalAddresses = []string{BRIDGE_DEVICE_HOST, BRIDGE_DEVICE_HOST_IPv6} + cfg.API.CoAP.ExternalAddresses = []string{BRIDGE_DEVICE_HOST, BRIDGE_DEVICE_HOST_IPv6} require.NoError(t, cfg.API.Validate()) return cfg } diff --git a/client/observeDevices.go b/client/observeDevices.go index a272b7a1..7841475c 100644 --- a/client/observeDevices.go +++ b/client/observeDevices.go @@ -76,10 +76,7 @@ func newDevicesObserver(c *Client, observerConfiguration ObserverConfig, discove wg.Add(1) go func() { defer wg.Done() - for { - if !obs.poll(ctx) { - break - } + for obs.poll(ctx) { } }() return obs diff --git a/client/observeResource.go b/client/observeResource.go index 68859617..a63fa8c5 100644 --- a/client/observeResource.go +++ b/client/observeResource.go @@ -97,14 +97,14 @@ func createDecodeFunc(message *pool.Message) decodeFunc { if err != nil { return err } - switch code := message.Code(); { - case code == codes.Content: + switch code := message.Code(); code { + case codes.Content: _, err := message.Body().Seek(0, io.SeekStart) if err != nil { return err } return codec.Decode(message, v) - case code == codes.Valid: + case codes.Valid: return nil } return fmt.Errorf("request failed: %s", codecOcf.Dump(message)) diff --git a/cmd/bridge-device/main.go b/cmd/bridge-device/main.go index 14fd06eb..3ffa023c 100644 --- a/cmd/bridge-device/main.go +++ b/cmd/bridge-device/main.go @@ -177,7 +177,7 @@ func main() { ResourceTypes: []string{bridgeDevice.DeviceResourceType}, ID: id, ProtocolIndependentID: piid, - MaxMessageSize: cfg.Config.API.CoAP.MaxMessageSize, + MaxMessageSize: cfg.API.CoAP.MaxMessageSize, Cloud: device.CloudConfig{ Enabled: cfg.Cloud.Enabled, Config: cloud.Config{ diff --git a/pkg/codec/cbor/codec.go b/pkg/codec/cbor/codec.go index 937c3eb2..8cf9f0ae 100644 --- a/pkg/codec/cbor/codec.go +++ b/pkg/codec/cbor/codec.go @@ -64,7 +64,7 @@ func ToJSON(cbor []byte) (string, error) { } b := bytes.NewBuffer(make([]byte, 0, 1024)) h := codec.JsonHandle{} - h.BasicHandle.Canonical = true + h.Canonical = true enc := codec.NewEncoder(b, &h) if err := enc.Encode(m); err != nil { return "", err diff --git a/pkg/codec/json/codec.go b/pkg/codec/json/codec.go index fda3fb4f..c2752e66 100644 --- a/pkg/codec/json/codec.go +++ b/pkg/codec/json/codec.go @@ -28,7 +28,7 @@ import ( // WriteTo writes v to writer. func WriteTo(w io.Writer, v interface{}) error { var h codec.JsonHandle - h.BasicHandle.Canonical = true + h.Canonical = true err := codec.NewEncoder(w, &h).Encode(v) if err != nil { return fmt.Errorf("JSON encoder failed: %w", err) diff --git a/schema/link_test.go b/schema/link_test.go index f49aa71f..1ace78cb 100644 --- a/schema/link_test.go +++ b/schema/link_test.go @@ -415,7 +415,7 @@ func TestGetUDPSecureAddr(t *testing.T) { func TestResourceLinkGetDeviceID(t *testing.T) { rl := schema.ResourceLink{} - require.Equal(t, "", rl.GetDeviceID()) + require.Empty(t, rl.GetDeviceID()) rl = schema.ResourceLink{ DeviceID: "device-id", diff --git a/test/test.go b/test/test.go index 9f32ccae..89bf9837 100644 --- a/test/test.go +++ b/test/test.go @@ -286,7 +286,7 @@ func DefaultDevsimResourceLinks() schema.ResourceLinks { } func CheckResourceLinks(t *testing.T, expected, actual schema.ResourceLinks) { - require.Equal(t, len(expected), len(actual)) + require.Len(t, actual, len(expected)) expLinks := make(map[string]bool) for _, l := range expected { expLinks[l.Href] = true From 82e00ca3288c150de83d4bd3e901e6e1bd2d9f78 Mon Sep 17 00:00:00 2001 From: Daniel Adam Date: Mon, 2 Jun 2025 19:52:18 +0200 Subject: [PATCH 4/5] Update docker images alpine: 3.20 -> 3.22 --- cmd/bridge-device/Dockerfile | 2 +- test/cloud-server/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/bridge-device/Dockerfile b/cmd/bridge-device/Dockerfile index ee93fc08..c1cf2822 100644 --- a/cmd/bridge-device/Dockerfile +++ b/cmd/bridge-device/Dockerfile @@ -10,7 +10,7 @@ RUN patch -p1 < "${GOPATH}/src/github.com/plgd-dev/device/tools/docker/patches/s WORKDIR $GOPATH/src/github.com/plgd-dev/device RUN CGO_ENABLED=0 go build -o /go/bin/bridge-device ./cmd/bridge-device -FROM alpine:3.20 AS security-provider +FROM alpine:3.22 AS security-provider RUN apk add -U --no-cache ca-certificates \ && addgroup -S nonroot \ && adduser -S nonroot -G nonroot diff --git a/test/cloud-server/Dockerfile b/test/cloud-server/Dockerfile index d2a41b4e..7d408fe0 100644 --- a/test/cloud-server/Dockerfile +++ b/test/cloud-server/Dockerfile @@ -8,7 +8,7 @@ ARG GO_TEST_ARGS= RUN go test -c ${GO_TEST_ARGS} -coverpkg=./... -covermode=atomic ./client -o /go/bin/device.client.test && \ go test -c ${GO_TEST_ARGS} -coverpkg=./... -covermode=atomic ./client/core -o /go/bin/device.client.core.test -FROM alpine:3.20 AS service +FROM alpine:3.22 AS service RUN apk add --no-cache bash COPY --from=build /go/bin/device.client.test /usr/local/bin/device.client.test COPY --from=build /go/bin/device.client.core.test /usr/local/bin/device.client.core.test From 1567535d98eaa60e7c1ea9a74eb3921e82548749 Mon Sep 17 00:00:00 2001 From: Daniel Adam Date: Wed, 2 Jul 2025 19:09:40 +0200 Subject: [PATCH 5/5] Upgrade sonarcloud-github-action to sonarqube-scan-action --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index cac13421..68996025 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -64,7 +64,7 @@ jobs: path: coverage - name: SonarCloud Scan - uses: SonarSource/sonarcloud-github-action@master + uses: SonarSource/sonarqube-scan-action@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}