Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package terragrunt for openSUSE:Factory checked in at 2023-06-27 23:16:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/terragrunt (Old) and /work/SRC/openSUSE:Factory/.terragrunt.new.15902 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "terragrunt" Tue Jun 27 23:16:44 2023 rev:54 rq:1095510 version:0.48.0 Changes: -------- --- /work/SRC/openSUSE:Factory/terragrunt/terragrunt.changes 2023-06-16 16:56:34.870322254 +0200 +++ /work/SRC/openSUSE:Factory/.terragrunt.new.15902/terragrunt.changes 2023-06-27 23:17:01.399517547 +0200 @@ -1,0 +2,7 @@ +Tue Jun 27 04:50:41 UTC 2023 - ka...@b1-systems.de + +- Update to version 0.48.0: + * Add support for Terraform 1.5 (#2616) + * Circleci resource_class update (#2609) + +------------------------------------------------------------------- Old: ---- terragrunt-0.47.0.obscpio New: ---- terragrunt-0.48.0.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ terragrunt.spec ++++++ --- /var/tmp/diff_new_pack.OR2Y0x/_old 2023-06-27 23:17:02.547524302 +0200 +++ /var/tmp/diff_new_pack.OR2Y0x/_new 2023-06-27 23:17:02.551524325 +0200 @@ -19,7 +19,7 @@ %define __arch_install_post export NO_BRP_STRIP_DEBUG=true Name: terragrunt -Version: 0.47.0 +Version: 0.48.0 Release: 0 Summary: Thin wrapper for Terraform for working with multiple Terraform modules License: MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.OR2Y0x/_old 2023-06-27 23:17:02.583524514 +0200 +++ /var/tmp/diff_new_pack.OR2Y0x/_new 2023-06-27 23:17:02.583524514 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/gruntwork-io/terragrunt</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v0.47.0</param> + <param name="revision">v0.48.0</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> <param name="versionrewrite-pattern">v(.*)</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.OR2Y0x/_old 2023-06-27 23:17:02.603524632 +0200 +++ /var/tmp/diff_new_pack.OR2Y0x/_new 2023-06-27 23:17:02.603524632 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/gruntwork-io/terragrunt</param> - <param name="changesrevision">1d181090e511602cf5462f845bc854f540bc9f14</param></service></servicedata> + <param name="changesrevision">4aa01e0d7efa44eb19a87fe36cf0e864d8fb08d0</param></service></servicedata> (No newline at EOF) ++++++ terragrunt-0.47.0.obscpio -> terragrunt-0.48.0.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.47.0/.circleci/config.yml new/terragrunt-0.48.0/.circleci/config.yml --- old/terragrunt-0.47.0/.circleci/config.yml 2023-06-15 22:15:20.000000000 +0200 +++ new/terragrunt-0.48.0/.circleci/config.yml 2023-06-26 19:12:26.000000000 +0200 @@ -4,7 +4,7 @@ defaults: &defaults docker: - - image: 087285199408.dkr.ecr.us-east-1.amazonaws.com/circle-ci-test-image-base:go1.20-tf1.4-tg39.1-pck1.8-ci50.7 + - image: 087285199408.dkr.ecr.us-east-1.amazonaws.com/circle-ci-test-image-base:go1.20-tf1.5-tg39.1-pck1.8-ci50.7 version: 2.1 jobs: @@ -68,6 +68,7 @@ - store_test_results: path: logs integration_test: + resource_class: large <<: *defaults steps: - checkout @@ -98,11 +99,13 @@ - store_test_results: path: logs build: + resource_class: large <<: *defaults steps: - checkout - run: build-go-binaries --app-name terragrunt --dest-path bin --ld-flags "-X main.VERSION=$CIRCLE_TAG" deploy: + resource_class: large <<: *defaults steps: - checkout diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.47.0/_ci/install-terraform.ps1 new/terragrunt-0.48.0/_ci/install-terraform.ps1 --- old/terragrunt-0.47.0/_ci/install-terraform.ps1 2023-06-15 22:15:20.000000000 +0200 +++ new/terragrunt-0.48.0/_ci/install-terraform.ps1 2023-06-26 19:12:26.000000000 +0200 @@ -1,5 +1,5 @@ # Install terraform using Chocolatey -choco install terraform --version 1.3.2 -y +choco install terraform --version 1.5.0 -y # Verify installation Get-Command terraform terraform version diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.47.0/config/config_helpers.go new/terragrunt-0.48.0/config/config_helpers.go --- old/terragrunt-0.47.0/config/config_helpers.go 2023-06-15 22:15:20.000000000 +0200 +++ new/terragrunt-0.48.0/config/config_helpers.go 2023-06-26 19:12:26.000000000 +0200 @@ -145,9 +145,10 @@ // Map with HCL functions introduced in Terraform after v0.15.3, since upgrade to a later version is not supported // https://github.com/gruntwork-io/terragrunt/blob/master/go.mod#L22 terraformCompatibilityFunctions := map[string]function.Function{ - "startswith": wrapStringSliceToBoolAsFuncImpl(startsWith, extensions.TrackInclude, terragruntOptions), - "endswith": wrapStringSliceToBoolAsFuncImpl(endsWith, extensions.TrackInclude, terragruntOptions), - "timecmp": wrapStringSliceToNumberAsFuncImpl(timeCmp, extensions.TrackInclude, terragruntOptions), + "startswith": wrapStringSliceToBoolAsFuncImpl(startsWith, extensions.TrackInclude, terragruntOptions), + "endswith": wrapStringSliceToBoolAsFuncImpl(endsWith, extensions.TrackInclude, terragruntOptions), + "strcontains": wrapStringSliceToBoolAsFuncImpl(strContains, extensions.TrackInclude, terragruntOptions), + "timecmp": wrapStringSliceToNumberAsFuncImpl(timeCmp, extensions.TrackInclude, terragruntOptions), } functions := map[string]function.Function{} @@ -820,6 +821,21 @@ } } +// strContains Implementation of Terraform's strContains function +func strContains(args []string, trackInclude *TrackInclude, terragruntOptions *options.TerragruntOptions) (bool, error) { + if len(args) == 0 { + return false, errors.WithStackTrace(EmptyStringNotAllowed("parameter to the strcontains function")) + } + str := args[0] + substr := args[1] + + if strings.Contains(str, substr) { + return true, nil + } + + return false, nil +} + // Custom error types type WrongNumberOfParams struct { Func string diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.47.0/config/config_helpers_test.go new/terragrunt-0.48.0/config/config_helpers_test.go --- old/terragrunt-0.47.0/config/config_helpers_test.go 2023-06-15 22:15:20.000000000 +0200 +++ new/terragrunt-0.48.0/config/config_helpers_test.go 2023-06-26 19:12:26.000000000 +0200 @@ -1092,6 +1092,42 @@ } } +func TestStrContains(t *testing.T) { + t.Parallel() + + testCases := []struct { + config *options.TerragruntOptions + args []string + value bool + err string + }{ + {terragruntOptionsForTest(t, ""), []string{"hello world", "hello"}, true, ""}, + {terragruntOptionsForTest(t, ""), []string{"hello world", "world"}, true, ""}, + {terragruntOptionsForTest(t, ""), []string{"hello world0", "0"}, true, ""}, + {terragruntOptionsForTest(t, ""), []string{"9hello world0", "9"}, true, ""}, + {terragruntOptionsForTest(t, ""), []string{"hello world", "test"}, false, ""}, + {terragruntOptionsForTest(t, ""), []string{"hello", "hello"}, true, ""}, + {terragruntOptionsForTest(t, ""), []string{}, false, "Empty string value is not allowed for parameter to the strcontains function"}, + } + + for _, testCase := range testCases { + testCase := testCase + + t.Run(fmt.Sprintf("StrContains %v", testCase.args), func(t *testing.T) { + t.Parallel() + + actual, err := strContains(testCase.args, nil, testCase.config) + if testCase.err != "" { + assert.EqualError(t, err, testCase.err) + } else { + assert.NoError(t, err) + } + + assert.Equal(t, testCase.value, actual) + }) + } +} + func mockConfigWithSource(sourceUrl string) *TerragruntConfig { cfg := TerragruntConfig{IsPartial: true} cfg.Terraform = &TerraformConfig{Source: &sourceUrl} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.47.0/docs/_docs/01_getting-started/supported-terraform-versions.md new/terragrunt-0.48.0/docs/_docs/01_getting-started/supported-terraform-versions.md --- old/terragrunt-0.47.0/docs/_docs/01_getting-started/supported-terraform-versions.md 2023-06-15 22:15:20.000000000 +0200 +++ new/terragrunt-0.48.0/docs/_docs/01_getting-started/supported-terraform-versions.md 2023-06-26 19:12:26.000000000 +0200 @@ -15,6 +15,7 @@ | Terraform Version | Terragrunt Version | |-------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------| +| 1.5.x | >= [0.48.0](https://github.com/gruntwork-io/terragrunt/releases/tag/v0.48.0) | | 1.4.x | >= [0.45.0](https://github.com/gruntwork-io/terragrunt/releases/tag/v0.45.0) | | 1.3.x | >= [0.40.0](https://github.com/gruntwork-io/terragrunt/releases/tag/v0.40.0) | | 1.2.x | >= [0.38.0](https://github.com/gruntwork-io/terragrunt/releases/tag/v0.38.0) | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.47.0/test/fixture-strcontains/main.tf new/terragrunt-0.48.0/test/fixture-strcontains/main.tf --- old/terragrunt-0.47.0/test/fixture-strcontains/main.tf 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.48.0/test/fixture-strcontains/main.tf 2023-06-26 19:12:26.000000000 +0200 @@ -0,0 +1,15 @@ +variable "i1" { + type = bool +} + +variable "i2" { + type = bool +} + +output "o1" { + value = var.i1 +} + +output "o2" { + value = var.i2 +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.47.0/test/fixture-strcontains/terragrunt.hcl new/terragrunt-0.48.0/test/fixture-strcontains/terragrunt.hcl --- old/terragrunt-0.47.0/test/fixture-strcontains/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100 +++ new/terragrunt-0.48.0/test/fixture-strcontains/terragrunt.hcl 2023-06-26 19:12:26.000000000 +0200 @@ -0,0 +1,4 @@ +inputs = { + i1 = strcontains("hello world", "hello") + i2 = strcontains("hello world", "test") +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.47.0/test/integration_test.go new/terragrunt-0.48.0/test/integration_test.go --- old/terragrunt-0.47.0/test/integration_test.go 2023-06-15 22:15:20.000000000 +0200 +++ new/terragrunt-0.48.0/test/integration_test.go 2023-06-26 19:12:26.000000000 +0200 @@ -150,6 +150,7 @@ TEST_FIXTURE_DESTROY_DEPENDENT_MODULE = "fixture-destroy-dependent-module" TEST_FIXTURE_REF_SOURCE = "fixture-download/remote-ref" TEST_FIXTURE_SOURCE_MAP_SLASHES = "fixture-source-map/slashes-in-ref" + TEST_FIXTURE_STRCONTAINS = "fixture-strcontains" TERRAFORM_BINARY = "terraform" TERRAFORM_FOLDER = ".terraform" TERRAFORM_STATE = "terraform.tfstate" @@ -5558,6 +5559,32 @@ require.NoError(t, err) } +func TestStrContains(t *testing.T) { + t.Parallel() + + cleanupTerraformFolder(t, TEST_FIXTURE_STRCONTAINS) + tmpEnvPath := copyEnvironment(t, TEST_FIXTURE_STRCONTAINS) + rootPath := util.JoinPath(tmpEnvPath, TEST_FIXTURE_STRCONTAINS) + + runTerragrunt(t, fmt.Sprintf("terragrunt apply-all --terragrunt-non-interactive --terragrunt-working-dir %s", rootPath)) + + // verify expected outputs are not empty + stdout := bytes.Buffer{} + stderr := bytes.Buffer{} + + require.NoError( + t, + runTerragruntCommand(t, fmt.Sprintf("terragrunt output -no-color -json --terragrunt-non-interactive --terragrunt-working-dir %s", rootPath), &stdout, &stderr), + ) + + outputs := map[string]TerraformOutput{} + + require.NoError(t, json.Unmarshal([]byte(stdout.String()), &outputs)) + + validateOutput(t, outputs, "o1", true) + validateOutput(t, outputs, "o2", false) +} + func validateOutput(t *testing.T, outputs map[string]TerraformOutput, key string, value interface{}) { t.Helper() output, hasPlatform := outputs[key] ++++++ terragrunt.obsinfo ++++++ --- /var/tmp/diff_new_pack.OR2Y0x/_old 2023-06-27 23:17:03.423529457 +0200 +++ /var/tmp/diff_new_pack.OR2Y0x/_new 2023-06-27 23:17:03.427529481 +0200 @@ -1,5 +1,5 @@ name: terragrunt -version: 0.47.0 -mtime: 1686860120 -commit: 1d181090e511602cf5462f845bc854f540bc9f14 +version: 0.48.0 +mtime: 1687799546 +commit: 4aa01e0d7efa44eb19a87fe36cf0e864d8fb08d0 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/terragrunt/vendor.tar.gz /work/SRC/openSUSE:Factory/.terragrunt.new.15902/vendor.tar.gz differ: char 5, line 1