Skip to content

Commit 44e264e

Browse files
authored
fix(security): upgrade Go to 1.27 (#6736)
* chore: go 1.27 upgrade * chore : Pr commetns * chore: PR cleanup * chore: go mod tidy * chore: add venv integration * chore: PR simplification * cleanup * chore: tests cleanup
1 parent 300c57a commit 44e264e

35 files changed

Lines changed: 1379 additions & 331 deletions

.golangci.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
version: "2"
22
run:
3-
go: "1.26"
3+
go: "1.27"
44
issues-exit-code: 1
55
tests: true
66
output:
@@ -167,6 +167,12 @@ linters:
167167
asserts: true
168168
comparison: true
169169
goconst:
170+
# v2.12+ counts package-wide test fixtures; keep repeated test data local.
171+
# Tracked upstream: https://github.com/golangci/golangci-lint/issues/6563
172+
ignore-tests: true
173+
# v2.13+ reports repeated schema/config map keys, which are data rather than constants.
174+
# Tracked upstream: https://github.com/golangci/golangci-lint/issues/6707
175+
ignore-map-keys: true
170176
min-len: 3
171177
min-occurrences: 5
172178
gocritic:
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
version: "v1.1.4"
3+
category: "process-updates"
4+
---
5+
6+
#### Go bumped to `v1.27`
7+
8+
The version of Golang used to compile the Terragrunt binary has been updated from `v1.26.6` to `v1.27.0`.
9+
10+
If you build Terragrunt from source, or import it as a Go module, you now need a Go 1.27 toolchain.

go.mod

Lines changed: 51 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,98 @@
11
module github.com/gruntwork-io/terragrunt
22

3-
go 1.26
3+
go 1.27
44

55
require (
6+
charm.land/bubbles/v2 v2.1.1
7+
charm.land/bubbletea/v2 v2.0.8
8+
charm.land/glamour/v2 v2.0.1
9+
charm.land/lipgloss/v2 v2.0.5
10+
cloud.google.com/go/auth v0.22.0
611
cloud.google.com/go/storage v1.64.0
712
dario.cat/mergo v1.0.2
13+
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0
14+
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.0
815
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0
916
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.8.1
1017
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.8.0
1118
github.com/ProtonMail/go-crypto v1.4.1
19+
github.com/alecthomas/chroma/v2 v2.27.0
20+
github.com/aws/aws-sdk-go v1.55.8
1221
github.com/aws/aws-sdk-go-v2 v1.43.4
22+
github.com/aws/aws-sdk-go-v2/config v1.32.35
23+
github.com/aws/aws-sdk-go-v2/credentials v1.19.34
24+
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.63.1
25+
github.com/aws/aws-sdk-go-v2/service/iam v1.58.1
26+
github.com/aws/aws-sdk-go-v2/service/s3 v1.106.5
27+
github.com/aws/aws-sdk-go-v2/service/sts v1.45.4
28+
github.com/aws/smithy-go v1.27.6
29+
github.com/charlievieth/fastwalk v1.0.14
30+
github.com/charmbracelet/x/ansi v0.11.7
1331
github.com/creack/pty v1.1.24
32+
github.com/getsops/sops/v3 v3.12.2
1433
github.com/gitsight/go-vcsurl v1.0.1
34+
github.com/gliderlabs/ssh v0.3.8
35+
github.com/gobwas/glob v0.2.3
1536
github.com/gofrs/flock v0.13.0
1637
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
1738
github.com/google/uuid v1.6.0
1839
github.com/gruntwork-io/boilerplate v0.16.0
1940
github.com/gruntwork-io/terragrunt-engine-go v0.1.0
20-
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
21-
github.com/hashicorp/go-getter v1.8.6 // indirect
41+
github.com/hashicorp/go-getter/gcs/v2 v2.2.3
42+
github.com/hashicorp/go-getter/s3/v2 v2.2.3
2243
github.com/hashicorp/go-getter/v2 v2.2.3
2344
github.com/hashicorp/go-hclog v1.6.3
24-
github.com/hashicorp/go-multierror v1.1.1 // indirect
2545
github.com/hashicorp/go-plugin v1.8.0
26-
github.com/hashicorp/go-safetemp v1.0.0 // indirect
2746
github.com/hashicorp/go-version v1.9.0
47+
github.com/hashicorp/hcl v1.0.1-vault-7
2848
github.com/hashicorp/hcl/v2 v2.24.0
2949

3050
// Many functions of terraform was converted to internal to avoid use as a library after v0.15.3. This means that we
3151
// can't use terraform as a library after v0.15.3, so we pull that in here.
3252
github.com/hashicorp/terraform v0.15.3
3353
github.com/hashicorp/terraform-svchost v0.2.1
3454
github.com/huandu/go-clone v1.7.3
55+
github.com/invopop/jsonschema v0.14.0
3556
github.com/labstack/echo/v4 v4.15.4
36-
github.com/mattn/go-isatty v0.0.24 // indirect
57+
github.com/mattn/go-shellwords v1.0.14
3758
github.com/mattn/go-zglob v0.0.6
38-
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
39-
github.com/mitchellh/go-homedir v1.1.0 // indirect
4059
github.com/mitchellh/go-wordwrap v1.0.1
4160
github.com/mitchellh/mapstructure v1.5.0
61+
github.com/opencontainers/go-digest v1.0.0
62+
github.com/opencontainers/image-spec v1.1.1
4263
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c
4364
github.com/pkg/errors v0.9.1
4465
github.com/posener/complete v1.2.3
4566
github.com/puzpuzpuz/xsync/v4 v4.5.0
67+
github.com/rogpeppe/go-internal v1.16.0
4668
github.com/sirupsen/logrus v1.9.4
69+
github.com/spf13/afero v1.15.0
4770
github.com/stretchr/testify v1.11.1
71+
github.com/testcontainers/testcontainers-go v0.43.0
4872
github.com/urfave/cli/v2 v2.27.7
73+
github.com/wI2L/jsondiff v0.7.1
74+
github.com/xeipuuv/gojsonschema v1.2.0
75+
github.com/yuin/goldmark v1.8.5
4976
github.com/zclconf/go-cty v1.19.0
77+
go.opentelemetry.io/contrib/bridges/otellogrus v0.20.0
5078
go.opentelemetry.io/otel v1.45.0
79+
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.21.0
80+
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.21.0
5181
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.45.0
5282
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.45.0
5383
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.45.0
5484
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.45.0
85+
go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.21.0
5586
go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.45.0
5687
go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.45.0
88+
go.opentelemetry.io/otel/log v0.21.0
5789
go.opentelemetry.io/otel/metric v1.45.0
5890
go.opentelemetry.io/otel/sdk v1.45.0
91+
go.opentelemetry.io/otel/sdk/log v0.21.0
5992
go.opentelemetry.io/otel/sdk/metric v1.45.0
6093
go.opentelemetry.io/otel/trace v1.45.0
94+
go.uber.org/mock v0.6.0
95+
golang.org/x/crypto v0.55.0
6196
golang.org/x/mod v0.40.0
6297
golang.org/x/oauth2 v0.36.0
6398
golang.org/x/sync v0.22.0
@@ -68,51 +103,6 @@ require (
68103
google.golang.org/grpc v1.83.0
69104
google.golang.org/protobuf v1.36.11
70105
gopkg.in/ini.v1 v1.67.3
71-
)
72-
73-
require (
74-
charm.land/bubbles/v2 v2.1.1
75-
charm.land/bubbletea/v2 v2.0.8
76-
charm.land/glamour/v2 v2.0.1
77-
charm.land/lipgloss/v2 v2.0.5
78-
cloud.google.com/go/auth v0.22.0
79-
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.22.0
80-
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.14.0
81-
github.com/alecthomas/chroma/v2 v2.27.0
82-
github.com/aws/aws-sdk-go v1.55.8
83-
github.com/aws/aws-sdk-go-v2/config v1.32.35
84-
github.com/aws/aws-sdk-go-v2/credentials v1.19.34
85-
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.63.1
86-
github.com/aws/aws-sdk-go-v2/service/iam v1.58.1
87-
github.com/aws/aws-sdk-go-v2/service/s3 v1.106.5
88-
github.com/aws/aws-sdk-go-v2/service/sts v1.45.4
89-
github.com/aws/smithy-go v1.27.6
90-
github.com/charlievieth/fastwalk v1.0.14
91-
github.com/charmbracelet/x/ansi v0.11.7
92-
github.com/getsops/sops/v3 v3.12.2
93-
github.com/gliderlabs/ssh v0.3.8
94-
github.com/gobwas/glob v0.2.3
95-
github.com/hashicorp/go-getter/gcs/v2 v2.2.3
96-
github.com/hashicorp/go-getter/s3/v2 v2.2.3
97-
github.com/invopop/jsonschema v0.14.0
98-
github.com/mattn/go-shellwords v1.0.14
99-
github.com/opencontainers/go-digest v1.0.0
100-
github.com/opencontainers/image-spec v1.1.1
101-
github.com/rogpeppe/go-internal v1.16.0
102-
github.com/spf13/afero v1.15.0
103-
github.com/testcontainers/testcontainers-go v0.43.0
104-
github.com/wI2L/jsondiff v0.7.1
105-
github.com/xeipuuv/gojsonschema v1.2.0
106-
github.com/yuin/goldmark v1.8.5
107-
go.opentelemetry.io/contrib/bridges/otellogrus v0.20.0
108-
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.21.0
109-
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.21.0
110-
go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.21.0
111-
go.opentelemetry.io/otel/log v0.21.0
112-
go.opentelemetry.io/otel/sdk/log v0.21.0
113-
go.uber.org/mock v0.6.0
114-
golang.org/x/crypto v0.55.0
115-
golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90
116106
gopkg.in/yaml.v3 v3.0.1
117107
oras.land/oras-go/v2 v2.6.2
118108
)
@@ -147,7 +137,6 @@ require (
147137
github.com/apparentlymart/go-cidr v1.1.0 // indirect
148138
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect
149139
github.com/apparentlymart/go-textseg/v17 v17.0.1 // indirect
150-
github.com/apparentlymart/go-versions v1.0.3 // indirect
151140
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
152141
github.com/atotto/clipboard v0.1.4 // indirect
153142
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.16 // indirect
@@ -221,13 +210,16 @@ require (
221210
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect
222211
github.com/hashicorp/aws-sdk-go-base/v2 v2.0.0-beta.72 // indirect
223212
github.com/hashicorp/errwrap v1.1.0 // indirect
213+
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
214+
github.com/hashicorp/go-getter v1.8.6 // indirect
215+
github.com/hashicorp/go-multierror v1.1.1 // indirect
224216
github.com/hashicorp/go-retryablehttp v0.7.8 // indirect
225217
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
218+
github.com/hashicorp/go-safetemp v1.0.0 // indirect
226219
github.com/hashicorp/go-secure-stdlib/parseutil v0.2.0 // indirect
227220
github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect
228221
github.com/hashicorp/go-sockaddr v1.0.7 // indirect
229222
github.com/hashicorp/go-uuid v1.0.3 // indirect
230-
github.com/hashicorp/hcl v1.0.1-vault-7 // indirect
231223
github.com/hashicorp/vault/api v1.23.0 // indirect
232224
github.com/hashicorp/yamux v0.1.2 // indirect
233225
github.com/huandu/xstrings v1.5.0 // indirect
@@ -243,11 +235,13 @@ require (
243235
github.com/lufia/plan9stats v0.0.0-20260330125221-c963978e514e // indirect
244236
github.com/magiconair/properties v1.8.10 // indirect
245237
github.com/mattn/go-colorable v0.1.15 // indirect
238+
github.com/mattn/go-isatty v0.0.24 // indirect
246239
github.com/mattn/go-runewidth v0.0.24 // indirect
240+
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
247241
github.com/microcosm-cc/bluemonday v1.0.27 // indirect
248242
github.com/mitchellh/copystructure v1.2.0 // indirect
243+
github.com/mitchellh/go-homedir v1.1.0 // indirect
249244
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
250-
github.com/mitchellh/panicwrap v1.0.0 // indirect
251245
github.com/mitchellh/reflectwalk v1.0.2 // indirect
252246
github.com/moby/docker-image-spec v1.3.1 // indirect
253247
github.com/moby/go-archive v0.3.0 // indirect
@@ -303,6 +297,7 @@ require (
303297
go.yaml.in/yaml/v2 v2.4.3 // indirect
304298
go.yaml.in/yaml/v3 v3.0.4 // indirect
305299
go.yaml.in/yaml/v4 v4.0.0-rc.4 // indirect
300+
golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 // indirect
306301
golang.org/x/net v0.58.0 // indirect
307302
golang.org/x/time v0.15.0 // indirect
308303
golang.org/x/tools v0.49.0 // indirect

go.sum

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,6 @@ github.com/apparentlymart/go-textseg/v17 v17.0.1 h1:bpMXRgQ5cEoRNuQke1a80/Nl6w3G
200200
github.com/apparentlymart/go-textseg/v17 v17.0.1/go.mod h1:fa8X4jgGeevslICIY6LcdjkSecWnXmYd9Lk34z/VxZs=
201201
github.com/apparentlymart/go-userdirs v0.0.0-20200915174352-b0c018a67c13/go.mod h1:7kfpUbyCdGJ9fDRCp3fopPQi5+cKNHgTE4ZuNrO71Cw=
202202
github.com/apparentlymart/go-versions v1.0.1/go.mod h1:YF5j7IQtrOAOnsGkniupEA5bfCjzd7i14yu0shZavyM=
203-
github.com/apparentlymart/go-versions v1.0.3 h1:T3b8tumoQLuu1dej2Y9v22J4PWV9IzDLh2A9lIPoVSM=
204-
github.com/apparentlymart/go-versions v1.0.3/go.mod h1:YF5j7IQtrOAOnsGkniupEA5bfCjzd7i14yu0shZavyM=
205203
github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
206204
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
207205
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
@@ -775,7 +773,6 @@ github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0Qu
775773
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
776774
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
777775
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
778-
github.com/mitchellh/panicwrap v1.0.0 h1:67zIyVakCIvcs69A0FGfZjBdPleaonSgGlXRSRlb6fE=
779776
github.com/mitchellh/panicwrap v1.0.0/go.mod h1:pKvZHwWrZowLUzftuFq7coarnxbBXU4aQh3N0BJOeeA=
780777
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
781778
github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=

internal/cli/commands/hcl/format/format.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"io/fs"
1212
"path/filepath"
1313
"runtime"
14+
"slices"
1415
"strings"
1516
"sync"
1617

@@ -22,7 +23,6 @@ import (
2223
"github.com/gruntwork-io/terragrunt/pkg/log"
2324
"github.com/gruntwork-io/terragrunt/pkg/log/writer"
2425
"github.com/rogpeppe/go-internal/diff"
25-
"golang.org/x/exp/slices"
2626
"golang.org/x/sync/errgroup"
2727

2828
"errors"

0 commit comments

Comments
 (0)