Update module github.com/gruntwork-io/terratest to v1 - #1290
Update module github.com/gruntwork-io/terratest to v1#1290renovate[bot] wants to merge 1 commit into
Conversation
ℹ️ Artifact update noticeFile name: go.modIn order to perform the update(s) described in the table above, Renovate ran the
Details:
|
a52ae4d to
6a1860e
Compare
6a1860e to
d19a7eb
Compare
d19a7eb to
b4793c2
Compare
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
b4793c2 to
f988f67
Compare
|
Closing in favor of #1356, which supersedes this. This PR bumps terratest to v1, which keeps us on the single-module layout. In that layout Upstream has since fixed this. gruntwork-io/terratest#1877 broke the #1356 moves to the v2 modules ( Note that the v2 modules are tagged per-module ( |
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update. You will not get PRs for any future If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
terratest v1 ships as a single module, and modules/k8s imported modules/aws for one EC2 call, which pulled the entire AWS SDK into our dependency graph: 36 aws-sdk-go-v2 entries in go.mod for code we never call. terratest v2 splits the repo into per-package modules and drops that edge, so depending on k8s no longer drags in the AWS SDK. Switch the Helm e2e test to the v2 modules (k8s, helm, httphelper and core/random) at v2.0.0-beta.2. This is a pre-release, which is acceptable here because terratest is a test-only dependency that never reaches a shipped binary. The v2 API required a few call-site updates: the non-Context function variants are gone, http-helper takes an options struct, and UniqueId was renamed to UniqueID. In the Cleanup deleting the OIDC Secret we pass context.Background(), since t.Context() is canceled just before Cleanup functions run. Also fix a pre-existing bug: the first two arguments to NewKubectlOptions were swapped, so -kubeconfig and -context were wired to the wrong fields. It went unnoticed because both flags default to the empty string. go.sum drops from 470 to 375 lines. Supersedes #1290. Signed-off-by: Antonin Bas <antonin.bas@broadcom.com>
This PR contains the following updates:
v0.54.0→v1.0.1Release Notes
gruntwork-io/terratest (github.com/gruntwork-io/terratest)
v1.0.1Compare Source
Highlights
This release starts the Terratest v1 maintenance phase. It is non-breaking and safe to upgrade to from any recent v1.x: nothing is removed or changed at runtime. The headline change is
// Deprecated:annotations on the packages slated for removal in v2, each with inline guidance on the standard-library (or third-party) replacement.Deprecated (removed in v2, not in this release):
modules/collections-> standard libraryslicesmodules/environment->os.Getenvat the call sitemodules/git-> shell out to git withos/execmodules/version-checker-> shell out to check a binary's versionmodules/slack-> thegithub.qkg1.top/slack-go/slackclient directlyEach deprecated symbol's doc comment shows the concrete replacement.
v1 maintenance policy: security fixes only, delivered on the
v1branch, until 12 months after v2.0.0 reaches general availability. v2 ships under new/v2module paths, so v1-pinned consumers are unaffected. This commit is the permanent v1 head; the long-livedv1branch is cut from here. A v1-to-v2 import path map is included atdocs/v2-import-map.md.What's Changed
Full Changelog: gruntwork-io/terratest@v1.0.0...v1.0.1
v1.0.0Compare Source
Terratest 1.0.0 is the first stable release of the project. From this release forward, Terratest follows semantic versioning: breaking changes are restricted to major releases, and renamed or replaced symbols stay around as deprecated aliases in the v1 line. See the v1.0 announcement post for the narrative; the notes below cover what shipped.
✨ Highlights
context.Contextas its second argument.FooContext(fail-fast) andFooContextE(returns the error) are the canonical entrypoints; the bareFooandFooEforms remain as deprecated aliases.WithClientsibling that accepts an injected client. Drive Terratest against Azure'sazfakeserver or a GCP test double for fast unit tests with zero credentials.modules/azuremigrated off Microsoft's archived "track 1" SDK ontosdk/resourcemanager; AWS S3 helpers moved off the deprecateds3/managertos3/transfermanager.terragruntmodule fully supports Terragrunt v1.0's CLI redesign with new wrappers and single-unit variants. Terragrunt-specific code is separated frommodules/terraforminto its own module.Azure SDK migration
modules/azuremoved off the archived "track 1" Azure SDK onto the actively maintainedsdk/resourcemanager. Users who import the underlying SDK directly need to update import paths, move field access under.Properties, and replace iterators with pagers. The release also dropped 8 deprecatedGet*ClientEgetters in favor ofCreate*ClientE, renamed 4CreateNew*Client*factories (with deprecated aliases), fixed theNsgRuleSummary.SourceAdresssPrefixestypo, and changedGetVirtualMachineImage{,E}to return*VMImage. See the Azure migration guide for full mechanics.AWS S3 uploader
The four
NewS3Uploader*helpers now return*transfermanager.Clientinstead of*manager.Uploader. The call shape moves fromuploader.Upload(ctx, &s3.PutObjectInput{...})toclient.UploadObject(ctx, &transfermanager.UploadObjectInput{...}). Types live undergithub.qkg1.top/aws/aws-sdk-go-v2/feature/s3/transfermanager.GCP Pub/Sub
modules/gcp/pubsub.gomoved fromcloud.google.com/go/pubsubv1 to v2. Wrapper shapes are unchanged, but callers driving the underlying client directly switch fromclient.Topic("name")/client.Subscription("name")handles toTopicAdminClient/SubscriptionAdminClientcalls that take fully qualified resource names.Terragrunt module split
Terragrunt-specific helpers were removed from
modules/terraform/andmodules/test-structure/in favor of the dedicatedmodules/terragrunt/package:TgApplyAll,TgDestroyAll,TgPlanAllExitCode,ValidateInputs,InitAndValidateInputs,AssertTgPlanAllExitCode,TgInvalidBinary,TerragruntDefaultPath,ExtraArgs.ValidateInputs,NewTerragruntValidationOptions, and theTGconstant. Terragrunt stack output keys were also renamed. See the terragrunt module migration table.Kubernetes kubeconfig handling
GetKubernetesClientFromOptionsContextEnow logs the kubeconfig load error before falling back to in-cluster authentication; previously the fallback was silent. A newKubectlOptions.InClusterAuth = trueopt-in skips kubeconfig loading entirely for callers who want fully explicit auth.testing.TestingTadoptionHelper signatures consistently take
testing.TestingT(an interface) instead of the concrete*testing.T. Calls from*testing.Tare unaffected; callers that wrap or substitute the test handle may need updates.✨ New Features
WithClientinjection helpers across Azure and GCPMost Azure and GCP helpers now ship with a
*WithClientsibling that accepts a pre-built SDK client, enabling unit testing against Azure'sazfakeserver, GCP test doubles, and similar fakes without standing up real cloud resources or providing credentials.Terragrunt v1.0 feature parity
All terraform-passthrough commands use
terragrunt run -- <command>and multi-unit functions useterragrunt run --all -- <command>. GenericRun/RunEprovide an escape hatch. New command wrappers:Render,RenderJSON,Graph,HclValidate,OutputAllJson, plus single-unit variants forInit,Plan,Apply,Destroy,Validate, andOutputJson.GCP Pub/Sub helpers
AssertTopicExistsandAssertSubscriptionExistsadded tomodules/gcp/pubsub.go. Thanks to @Amit2465 for the contribution.🔧 Code Quality & API Cleanup
// Deprecated:annotations. A v1 documentation pass closed godoc gaps so the API surface renders cleanly on pkg.go.dev. Every renamed or replaced symbol carries a machine-readable// Deprecated:line sogo vet,staticcheck, and IDE LSPs surface upgrade guidance automatically.golangci-lintv2 wired into pre-commit and CI across the project.interface{}→anysweep across the codebase.collectionsgenerics: functions are now generic;ListContainsis deprecated in favor ofslices.Contains.🐛 Bug Fixes
DescribeInstancesandDescribeTagsnow paginate; previously capped silently at 1,000 results.modules/opa/download_policy.gousessingleflightso concurrent calls for the samerulePathshare a single download.ListVcnsand related calls loop onOpcNextPage; image sort handles nil timestamps; nil-pointer guards added across the package.SCPDirFromContextEcloses file handles on each download.NsgRuleSummary.SourceAdresssPrefixesrenamed toSourceAddressPrefixes.📦 Dependency Updates
s3/manager(deprecated) replaced withs3/transfermanager.cloud.google.com/go/storage1.62,cloud.google.com/go/pubsub/v22.4,google.golang.org/api0.276.azure-sdk-for-gov51 onto the actively maintainedsdk/resourcemanagermodules (compute, network, storage, keyvault, sql, servicebus, frontdoor, monitor, recoveryservices, and others).mitchellh/go-homedir(archived) removed as a direct dependency in favor ofos.UserHomeDir;denisenkom/go-mssqldbswapped for the Microsoft-maintained fork.google.golang.org/grpc1.80,github.com/docker/cli29.x,go.opentelemetry.io/otel/sdk1.43,github.com/jackc/pgx/v55.9.📖 Documentation Updates
SECURITY.mdadded.⚙️ Process Updates
go-mod-tidy-checkworkflow added.Full Changelog: gruntwork-io/terratest@v0.56.0...v1.0.0
v0.56.0Compare Source
✨ New Features
CreateJobFromCronJobandCreateJobFromCronJobEadded.The
CreateJobFromCronJobandCreateJobFromCronJobEfunctions support creating Kubernetes cron jobs in a given namespace. This mirrors the behavior of thekubectl create job ... --from=cronjob/...command and provides a native way to trigger and testCronJobconfigurations within Terratest.Special thanks to @steffas for contributing this feature.
🐛 Bug Fixes
Preserve existing instance metadata in
SetMetadataUpdates the
newMetadatafunction to properly copy existing metadata items before applying new key-value pairs. This resolves an issue introduced in v0.55.0 where functions likeSetMetadataandAddSshKeywere accidentally overwriting all existing instance metadata instead of merging the new values.Plan output parsing for Terraform 1.14+ fixed
Removes the trailing period requirement from the
planWithChangesRegexpregular expression used byGetResourceCount. This resolves parsing failures caused by Terraform 1.14's new Actions feature, which appends additional text (e.g., . Actions: N to invoke.) to the standard plan summary line.Update
CronJobto use thebatch/v1APIUpdates the
CronJobimplementation under the hood to use the stablebatch/v1API instead ofbatch/v1beta1. This restores compatibility with modern Kubernetes clusters, as the olderv1beta1API was completely removed in Kubernetes 1.25.📖 Documentation Updates
Homepage examples for Terragrunt updated
Examples relevant to Terragrunt have been fixed in the https://terragrunt.gruntwork.io site.
⚙️ Process Updates
Golang bumped to 1.26
The version of Golang in
go.modhas been updated to1.26.What's Changed
1.26by @yhakbar in #1667New Contributors
Full Changelog: gruntwork-io/terratest@v0.55.0...v0.56.0
v0.55.0Compare Source
What's Changed
Full Changelog: gruntwork-io/terratest@v0.54.0...v0.55.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.