diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ceb692162..ecfadf9cf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 with: - go-version-file: 'go.mod' + go-version-file: ./.go-version - name: Determine Go version id: get-go-version # looking for just the number, eg. 1.18.3 @@ -59,7 +59,7 @@ jobs: version: ${{ needs.get-product-version.outputs.product-version }} product: ${{ env.PKG_NAME }} repositoryOwner: "hashicorp" - - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: metadata.json path: ${{ steps.generate-metadata-file.outputs.filepath }} @@ -104,7 +104,7 @@ jobs: go build -o dist/ -ldflags "-s -w -X $(go list -m)/version.GitCommit=$(git rev-parse --short HEAD)" . zip -r -j out/${{ env.PKG_NAME }}_${{ needs.get-product-version.outputs.product-version }}_${{ matrix.goos }}_${{ matrix.goarch }}.zip dist/ - - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: ${{ env.PKG_NAME }}_${{ needs.get-product-version.outputs.product-version }}_${{ matrix.goos }}_${{ matrix.goarch }}.zip path: out/${{ env.PKG_NAME }}_${{ needs.get-product-version.outputs.product-version }}_${{ matrix.goos }}_${{ matrix.goarch }}.zip @@ -147,7 +147,7 @@ jobs: go build -o dist/ -ldflags "-s -w -X $(go list -m)/version.GitCommit=$(git rev-parse --short HEAD)" . zip -r -j out/${{ env.PKG_NAME }}_${{ needs.get-product-version.outputs.product-version }}_${{ matrix.goos }}_${{ matrix.goarch }}.zip dist/ - - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: ${{ env.PKG_NAME }}_${{ needs.get-product-version.outputs.product-version }}_${{ matrix.goos }}_${{ matrix.goarch }}.zip path: out/${{ env.PKG_NAME }}_${{ needs.get-product-version.outputs.product-version }}_${{ matrix.goos }}_${{ matrix.goarch }}.zip @@ -182,13 +182,13 @@ jobs: echo "RPM_PACKAGE=$(basename out/*.rpm)" >> $GITHUB_ENV echo "DEB_PACKAGE=$(basename out/*.deb)" >> $GITHUB_ENV - - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 if: ${{ matrix.goos == 'linux' }} with: name: ${{ env.RPM_PACKAGE }} path: out/${{ env.RPM_PACKAGE }} - - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 + - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 if: ${{ matrix.goos == 'linux' }} with: name: ${{ env.DEB_PACKAGE }} @@ -210,7 +210,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Docker Build (Action) - uses: hashicorp/actions-docker-build@v2 + uses: hashicorp/actions-docker-build@200254326a30d7b747745592f8f4d226bbe4abe4 # v2.2.0 with: # Add smoke test here. Below is a sample smoke test that runs the built image # and validates the version. diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index ac60c8d55..9d8ec006f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -14,9 +14,9 @@ jobs: - name: Set up Go uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 with: - go-version-file: 'go.mod' + go-version-file: ./.go-version - name: Run linters - uses: golangci/golangci-lint-action@a4f60bb28d35aeee14e6880718e0c85ff1882e64 # v6.0.1 + uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0 with: - version: v1.62.0 + version: v2.1 diff --git a/.go-version b/.go-version new file mode 100644 index 000000000..ae96cc731 --- /dev/null +++ b/.go-version @@ -0,0 +1 @@ +1.24.3 diff --git a/.golangci.yml b/.golangci.yml index dfd52bff8..43c5cd3bc 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,94 +1,89 @@ # Copyright (c) HashiCorp, Inc. # SPDX-License-Identifier: MPL-2.0 +version: "2" +run: + concurrency: 4 linters: - disable-all: true + default: none enable: - - gofmt + - depguard + - forbidigo + - gomodguard - govet - - unconvert - - staticcheck - ineffassign + - staticcheck + - unconvert - unparam - - forbidigo - - gomodguard - - gosimple - - depguard - -issues: - # Disable the default exclude list so that all excludes are explicitly - # defined in this file. - exclude-use-default: false - exclude-rules: - - text: 'shadow: declaration of "(err|ctx)" shadows declaration at' - linters: [ govet ] - exclude-dirs-use-default: false - -linters-settings: - govet: - enable-all: true - disable: - - fieldalignment - - nilness - - unusedwrite - forbidigo: - # Forbid the following identifiers (list of regexp). - forbid: - - '\bioutil\b(# Use io and os packages instead of ioutil)?' - - '\brequire\.New\b(# Use package-level functions with explicit TestingT)?' - - '\bassert\.New\b(# Use package-level functions with explicit TestingT)?' - # Exclude godoc examples from forbidigo checks. - # Default: true - exclude_godoc_examples: false - gofmt: - simplify: true - gomodguard: - blocked: - # List of blocked modules. - modules: - # Blocked module. - - github.com/hashicorp/go-msgpack: - recommendations: - - github.com/hashicorp/consul-net-rpc/go-msgpack - - github.com/golang/protobuf: - recommendations: - - google.golang.org/protobuf - depguard: + settings: + depguard: + rules: + main: + files: + - $all + allow: + - $gostd + - github.com/BurntSushi/toml + - golang.org/x/sys/unix + - golang.org/x/exp/maps + - golang.org/x/text/cases + - golang.org/x/text/language + - gopkg.in/yaml.v2 + - github.com/Masterminds/sprig/v3 + - github.com/davecgh/go-spew/spew + - github.com/hashicorp/consul-template + - github.com/hashicorp/consul/api + - github.com/hashicorp/consul/sdk/testutil + - github.com/hashicorp/go-gatedio + - github.com/hashicorp/go-hclog + - github.com/hashicorp/go-multierror + - github.com/hashicorp/go-rootcerts + - github.com/hashicorp/go-sockaddr/template + - github.com/hashicorp/go-syslog + - github.com/hashicorp/hcl + - github.com/hashicorp/logutils + - github.com/hashicorp/nomad/api + - github.com/hashicorp/vault/api + - dario.cat/mergo + - github.com/mitchellh/go-homedir + - github.com/mitchellh/hashstructure + - github.com/mitchellh/mapstructure + - github.com/pkg/errors + - github.com/ryanuber/go-glob + - github.com/stretchr/testify/assert + - github.com/stretchr/testify/require + - github.com/coreos/go-systemd + forbidigo: + forbid: + - pattern: \bioutil\b(# Use io and os packages instead of ioutil)? + - pattern: \brequire\.New\b(# Use package-level functions with explicit TestingT)? + - pattern: \bassert\.New\b(# Use package-level functions with explicit TestingT)? + gomodguard: + blocked: + modules: + - github.com/hashicorp/go-msgpack: + recommendations: + - github.com/hashicorp/consul-net-rpc/go-msgpack + - github.com/golang/protobuf: + recommendations: + - google.golang.org/protobuf + govet: + disable: + - fieldalignment + - nilness + - unusedwrite + enable-all: true + exclusions: + generated: lax rules: - main: - # List of file globs that will match this list of settings to compare against. - # Default: $all - files: - - $all - # List of allowed packages. - allow: - - $gostd - - github.com/BurntSushi/toml - - github.com/Masterminds/sprig/v3 - - github.com/davecgh/go-spew/spew - - github.com/hashicorp/consul-template - - github.com/hashicorp/consul/api - - github.com/hashicorp/consul/sdk/testutil - - github.com/hashicorp/go-gatedio - - github.com/hashicorp/go-hclog - - github.com/hashicorp/go-multierror - - github.com/hashicorp/go-rootcerts - - github.com/hashicorp/go-sockaddr/template - - github.com/hashicorp/go-syslog - - github.com/hashicorp/hcl - - github.com/hashicorp/logutils - - github.com/hashicorp/nomad/api - - github.com/hashicorp/vault/api - - dario.cat/mergo - - github.com/mitchellh/go-homedir - - github.com/mitchellh/hashstructure - - github.com/mitchellh/mapstructure - - github.com/ryanuber/go-glob - - github.com/pkg/errors - - github.com/stretchr/testify/assert - - github.com/stretchr/testify/require - - github.com/coreos/go-systemd - -run: - timeout: 10m - concurrency: 4 + - linters: + - govet + text: 'shadow: declaration of "(err|ctx)" shadows declaration at' +formatters: + enable: + - gofmt + settings: + gofmt: + simplify: true + exclusions: + generated: lax \ No newline at end of file diff --git a/child/child_test.go b/child/child_test.go index b523c7e43..c5b6a730c 100644 --- a/child/child_test.go +++ b/child/child_test.go @@ -525,7 +525,7 @@ func TestSetsid(t *testing.T) { } defer c.Stop() - var sid int = -1 + var sid = -1 os := runtime.GOOS diff --git a/config/config_test.go b/config/config_test.go index 3d282f1fe..09f2726b8 100644 --- a/config/config_test.go +++ b/config/config_test.go @@ -2058,7 +2058,7 @@ func TestFinalize(t *testing.T) { } default: if eq, err := tc.isEqual(tc.test, tc.expt); !eq { - t.Error(err.Error()) + t.Errorf("%s", err.Error()) } } }) diff --git a/dependency/vault_list.go b/dependency/vault_list.go index dabea8e6e..f83e33615 100644 --- a/dependency/vault_list.go +++ b/dependency/vault_list.go @@ -146,8 +146,8 @@ func shimKvV2ListPath(rawPath, mountPath string) string { return rawPath } - switch { - case rawPath == mountPath: + switch rawPath { + case mountPath: return path.Join(mountPath, "metadata") default: rawPath = strings.TrimPrefix(rawPath, mountPath) diff --git a/dependency/vault_read_test.go b/dependency/vault_read_test.go index 1ef0c03fe..522f83639 100644 --- a/dependency/vault_read_test.go +++ b/dependency/vault_read_test.go @@ -531,8 +531,8 @@ func TestVaultReadQuery_Fetch_PKI_Anonymous(t *testing.T) { _, err = anonClient.vault.client.Auth().Token().LookupSelf() // 'missing client token' vault <1.9.7, 'permission denied' vault >1.10.0 if err == nil || - !(strings.Contains(err.Error(), "missing client token") || - strings.Contains(err.Error(), "permission denied")) { + (!strings.Contains(err.Error(), "missing client token") && + !strings.Contains(err.Error(), "permission denied")) { // check environment for VAULT_TOKEN t.Fatalf("expected a 'missing client token' (vault < 1.10) or 'permission denied' error but found: %v", err) } diff --git a/go.mod b/go.mod index d003c17d3..ce73db460 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,6 @@ module github.com/hashicorp/consul-template -go 1.22 - -toolchain go1.22.4 +go 1.24 require ( github.com/BurntSushi/toml v1.3.2 @@ -25,8 +23,8 @@ require ( github.com/mitchellh/mapstructure v1.5.0 github.com/pkg/errors v0.9.1 github.com/stretchr/testify v1.8.4 - golang.org/x/crypto v0.32.0 // indirect - golang.org/x/sys v0.29.0 + golang.org/x/crypto v0.38.0 // indirect + golang.org/x/sys v0.33.0 gopkg.in/yaml.v2 v2.4.0 ) @@ -34,8 +32,8 @@ require ( dario.cat/mergo v1.0.0 github.com/Masterminds/sprig/v3 v3.2.3 github.com/hashicorp/vault/api/auth/kubernetes v0.5.0 - golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 - golang.org/x/text v0.21.0 + golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 + golang.org/x/text v0.25.0 ) require ( @@ -69,7 +67,7 @@ require ( github.com/ryanuber/go-glob v1.0.0 // indirect github.com/shopspring/decimal v1.3.1 // indirect github.com/spf13/cast v1.5.0 // indirect - golang.org/x/net v0.34.0 - golang.org/x/time v0.3.0 // indirect + golang.org/x/net v0.40.0 // indirect + golang.org/x/time v0.11.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 788ade4c9..a7706b341 100644 --- a/go.sum +++ b/go.sum @@ -110,8 +110,6 @@ github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+l github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-retryablehttp v0.7.2 h1:AcYqCvkpalPnPF2pn0KamgwamS42TqUDDYFRKq/RAd0= -github.com/hashicorp/go-retryablehttp v0.7.2/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= github.com/hashicorp/go-retryablehttp v0.7.7 h1:C8hUCYzor8PIfXHa4UrZkU4VvK8o9ISHxT2Q8+VepXU= github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFOxfA7DoAO6xtkuQnHTk= github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= @@ -280,17 +278,15 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= -golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= -golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= -golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= -golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= +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-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI= +golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ= golang.org/x/mod v0.4.2/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.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU= +golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -305,10 +301,8 @@ golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= -golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= -golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= -golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= +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/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= 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= @@ -316,8 +310,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/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.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.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-20180823144017-11551d06cbcc/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= @@ -350,10 +344,8 @@ golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.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 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= -golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +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.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= @@ -368,21 +360,20 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= 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.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +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/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0= +golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= 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.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc= +golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI= 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= diff --git a/manager/runner.go b/manager/runner.go index de810770f..cd3fe74be 100644 --- a/manager/runner.go +++ b/manager/runner.go @@ -1235,7 +1235,7 @@ func (r *Runner) storePid() error { defer f.Close() pid := os.Getpid() - _, err = f.WriteString(fmt.Sprintf("%d", pid)) + _, err = fmt.Fprintf(f, "%d", pid) if err != nil { return fmt.Errorf("runner: could not write to pid file: %s", err) } diff --git a/template/funcs.go b/template/funcs.go index d3270cc11..7711d2126 100644 --- a/template/funcs.go +++ b/template/funcs.go @@ -1277,7 +1277,7 @@ func plugin(name string, args ...string) (string, error) { // replaceAll replaces all occurrences of a value in a string with the given // replacement value. func replaceAll(f, t, s string) (string, error) { - return strings.Replace(s, f, t, -1), nil + return strings.ReplaceAll(s, f, t), nil } // regexReplaceAll replaces all occurrences of a regular expression with diff --git a/version/version.go b/version/version.go index 48b03945d..ab9ae139a 100644 --- a/version/version.go +++ b/version/version.go @@ -6,7 +6,7 @@ package version import "fmt" const ( - Version = "0.40.0" + Version = "0.40.1" VersionPrerelease = "" // "-dev", "-beta", "-rc1", etc. (include dash) ) diff --git a/watch/view_test.go b/watch/view_test.go index a39dd03f2..199fd45a4 100644 --- a/watch/view_test.go +++ b/watch/view_test.go @@ -332,7 +332,7 @@ func TestRateLimiter(t *testing.T) { elapsed := minDelayBetweenUpdates / 2 // simulate time passing start := time.Now().Add(-elapsed) // add negative to subtract dur := rateLimiter(start) // should close to elapsed - if !(dur > 0) { + if dur <= 0 { t.Errorf("rate limiting duration should be > 0, found: %v", dur) } if dur > minDelayBetweenUpdates {