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-08-01 15:38:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/terragrunt (Old)
 and      /work/SRC/openSUSE:Factory/.terragrunt.new.32662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "terragrunt"

Tue Aug  1 15:38:39 2023 rev:58 rq:1101685 version:0.48.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/terragrunt/terragrunt.changes    2023-07-25 
11:49:52.373020243 +0200
+++ /work/SRC/openSUSE:Factory/.terragrunt.new.32662/terragrunt.changes 
2023-08-01 15:38:43.905895319 +0200
@@ -1,0 +2,9 @@
+Tue Aug 01 10:03:34 UTC 2023 - ka...@b1-systems.de
+
+- Update to version 0.48.5:
+  * Add a "output-module-groups" command (#2130)
+  * Updated CLI flag wording (#2647)
+  * Bump tzinfo from 1.2.7 to 1.2.10 in /docs (#2207)
+  * Bump nokogiri from 1.13.6 to 1.14.3 in /docs (#2526)
+
+-------------------------------------------------------------------

Old:
----
  terragrunt-0.48.4.obscpio

New:
----
  terragrunt-0.48.5.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ terragrunt.spec ++++++
--- /var/tmp/diff_new_pack.AztpQs/_old  2023-08-01 15:38:45.449904880 +0200
+++ /var/tmp/diff_new_pack.AztpQs/_new  2023-08-01 15:38:45.453904904 +0200
@@ -19,7 +19,7 @@
 %define __arch_install_post export NO_BRP_STRIP_DEBUG=true
 
 Name:           terragrunt
-Version:        0.48.4
+Version:        0.48.5
 Release:        0
 Summary:        Thin wrapper for Terraform for working with multiple Terraform 
modules
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.AztpQs/_old  2023-08-01 15:38:45.485905103 +0200
+++ /var/tmp/diff_new_pack.AztpQs/_new  2023-08-01 15:38:45.489905128 +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.48.4</param>
+    <param name="revision">v0.48.5</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
     <param name="versionrewrite-pattern">v(.*)</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.AztpQs/_old  2023-08-01 15:38:45.537905425 +0200
+++ /var/tmp/diff_new_pack.AztpQs/_new  2023-08-01 15:38:45.545905474 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/gruntwork-io/terragrunt</param>
-              <param 
name="changesrevision">2dc7f9157abfe9890931625b64315bf22fa425c0</param></service></servicedata>
+              <param 
name="changesrevision">2cab9f99efd3a7faa0b431165fd9f697b06b7048</param></service></servicedata>
 (No newline at EOF)
 

++++++ terragrunt-0.48.4.obscpio -> terragrunt-0.48.5.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/terragrunt-0.48.4/cli/cli_app.go 
new/terragrunt-0.48.5/cli/cli_app.go
--- old/terragrunt-0.48.4/cli/cli_app.go        2023-07-19 16:35:23.000000000 
+0200
+++ new/terragrunt-0.48.5/cli/cli_app.go        2023-07-28 20:17:16.000000000 
+0200
@@ -125,6 +125,7 @@
        CMD_HCLFMT                        = "hclfmt"
        CMD_AWS_PROVIDER_PATCH            = "aws-provider-patch"
        CMD_RENDER_JSON                   = "render-json"
+       CMD_OUTPUT_MODULE_GROUPS          = "output-module-groups"
 )
 
 // START: Constants useful for multimodule command handling
@@ -245,6 +246,7 @@
    hclfmt                Recursively find hcl files and rewrite them into a 
canonical format.
    aws-provider-patch    Overwrite settings on nested AWS providers to work 
around a Terraform bug (issue #13018)
    render-json           Render the final terragrunt config, with all 
variables, includes, and functions resolved, as json. This is useful for 
enforcing policies using static analysis tools like Open Policy Agent, or for 
debugging your terragrunt config.
+   output-module-groups  Output groups of modules ordered for apply as a list 
of list in JSON (useful for CI use cases).
    *                     Terragrunt forwards all other commands directly to 
Terraform
 
 GLOBAL OPTIONS:
@@ -423,6 +425,18 @@
                return runRenderJSON(terragruntOptions, terragruntConfig)
        }
 
+       if shouldPrintModuleGroups(terragruntOptions) {
+               js, err := runGraphDependenciesGroups(terragruntOptions)
+               if err != nil {
+                       return err
+               }
+               _, err = fmt.Fprintf(terragruntOptions.Writer, "%s\n", js)
+               if err != nil {
+                       return err
+               }
+               return nil
+       }
+
        terragruntOptionsClone := 
terragruntOptions.Clone(terragruntOptions.TerragruntConfigPath)
        terragruntOptionsClone.TerraformCommand = CMD_TERRAGRUNT_READ_CONFIG
 
@@ -624,6 +638,20 @@
        return nil
 }
 
+// Run graph dependencies returns the dependency graph
+func runGraphDependenciesGroups(terragruntOptions *options.TerragruntOptions) 
(string, error) {
+       stack, err := configstack.FindStackInSubfolders(terragruntOptions, nil)
+       if err != nil {
+               return "", err
+       }
+
+       js, err := 
stack.JsonModuleDeployOrder(terragruntOptions.TerraformCommand)
+       if err != nil {
+               return "", err
+       }
+       return js, nil
+}
+
 func shouldPrintTerraformHelp(terragruntOptions *options.TerragruntOptions) 
bool {
        for _, tfHelpFlag := range TERRAFORM_HELP_FLAGS {
                if util.ListContainsElement(terragruntOptions.TerraformCliArgs, 
tfHelpFlag) {
@@ -668,6 +696,10 @@
        return util.ListContainsElement(terragruntOptions.TerraformCliArgs, 
CMD_RENDER_JSON)
 }
 
+func shouldPrintModuleGroups(terragruntOptions *options.TerragruntOptions) 
bool {
+       return util.ListContainsElement(terragruntOptions.TerraformCliArgs, 
CMD_OUTPUT_MODULE_GROUPS)
+}
+
 func shouldApplyAwsProviderPatch(terragruntOptions *options.TerragruntOptions) 
bool {
        return util.ListContainsElement(terragruntOptions.TerraformCliArgs, 
CMD_AWS_PROVIDER_PATCH)
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/terragrunt-0.48.4/configstack/module.go 
new/terragrunt-0.48.5/configstack/module.go
--- old/terragrunt-0.48.4/configstack/module.go 2023-07-19 16:35:23.000000000 
+0200
+++ new/terragrunt-0.48.5/configstack/module.go 2023-07-28 20:17:16.000000000 
+0200
@@ -1,6 +1,7 @@
 package configstack
 
 import (
+       "encoding/json"
        "fmt"
        "path/filepath"
        "sort"
@@ -41,6 +42,10 @@
        )
 }
 
+func (module TerraformModule) MarshalJSON() ([]byte, error) {
+       return json.Marshal(module.Path)
+}
+
 // Go through each of the given Terragrunt configuration files and resolve the 
module that configuration file represents
 // into a TerraformModule struct. Return the list of these TerraformModule 
structs.
 func ResolveTerraformModules(terragruntConfigPaths []string, terragruntOptions 
*options.TerragruntOptions, childTerragruntConfig *config.TerragruntConfig, 
howThesePathsWereFound string) ([]*TerraformModule, error) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/terragrunt-0.48.4/configstack/stack.go 
new/terragrunt-0.48.5/configstack/stack.go
--- old/terragrunt-0.48.4/configstack/stack.go  2023-07-19 16:35:23.000000000 
+0200
+++ new/terragrunt-0.48.5/configstack/stack.go  2023-07-28 20:17:16.000000000 
+0200
@@ -2,6 +2,7 @@
 
 import (
        "bytes"
+       "encoding/json"
        "fmt"
        "io"
        "sort"
@@ -51,6 +52,30 @@
        return nil
 }
 
+// JsonModuleDeployOrder will return the modules that will be deployed by a 
plan/apply operation, in the order
+// that the operations happen.
+func (stack *Stack) JsonModuleDeployOrder(terraformCommand string) (string, 
error) {
+       runGraph, err := stack.getModuleRunGraph(terraformCommand)
+       if err != nil {
+               return "", err
+       }
+       // Convert the module paths to a string array for JSON marshalling
+       // The index should be the group number, and the value should be an 
array of module paths
+       jsonGraph := make(map[string][]string)
+       for i, group := range runGraph {
+               groupNum := "Group " + fmt.Sprintf("%d", i+1)
+               jsonGraph[groupNum] = make([]string, len(group))
+               for j, module := range group {
+                       jsonGraph[groupNum][j] = module.Path
+               }
+       }
+       j, _ := json.MarshalIndent(jsonGraph, "", "  ")
+       if err != nil {
+               return "", err
+       }
+       return string(j), nil
+}
+
 // Graph creates a graphviz representation of the modules
 func (stack *Stack) Graph(terragruntOptions *options.TerragruntOptions) {
        WriteDot(terragruntOptions.Writer, terragruntOptions, stack.Modules)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/terragrunt-0.48.4/docs/Gemfile.lock 
new/terragrunt-0.48.5/docs/Gemfile.lock
--- old/terragrunt-0.48.4/docs/Gemfile.lock     2023-07-19 16:35:23.000000000 
+0200
+++ new/terragrunt-0.48.5/docs/Gemfile.lock     2023-07-28 20:17:16.000000000 
+0200
@@ -210,14 +210,14 @@
       rb-fsevent (~> 0.10, >= 0.10.3)
       rb-inotify (~> 0.9, >= 0.9.10)
     mercenary (0.3.6)
-    mini_portile2 (2.8.0)
+    mini_portile2 (2.8.1)
     minima (2.5.1)
       jekyll (>= 3.5, < 5.0)
       jekyll-feed (~> 0.9)
       jekyll-seo-tag (~> 2.1)
     minitest (5.14.2)
     multipart-post (2.1.1)
-    nokogiri (1.13.6)
+    nokogiri (1.14.3)
       mini_portile2 (~> 2.8.0)
       racc (~> 1.4)
     octokit (4.19.0)
@@ -226,7 +226,7 @@
     pathutil (0.16.2)
       forwardable-extended (~> 2.6)
     public_suffix (3.1.1)
-    racc (1.6.0)
+    racc (1.6.2)
     rb-fsevent (0.10.4)
     rb-inotify (0.10.1)
       ffi (~> 1.0)
@@ -256,7 +256,7 @@
     thread_safe (0.3.6)
     typhoeus (1.4.0)
       ethon (>= 0.9.0)
-    tzinfo (1.2.7)
+    tzinfo (1.2.10)
       thread_safe (~> 0.1)
     unf (0.1.4)
       unf_ext
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.48.4/docs/_docs/04_reference/cli-options.md 
new/terragrunt-0.48.5/docs/_docs/04_reference/cli-options.md
--- old/terragrunt-0.48.4/docs/_docs/04_reference/cli-options.md        
2023-07-19 16:35:23.000000000 +0200
+++ new/terragrunt-0.48.5/docs/_docs/04_reference/cli-options.md        
2023-07-28 20:17:16.000000000 +0200
@@ -36,6 +36,7 @@
   - [hclfmt](#hclfmt)
   - [aws-provider-patch](#aws-provider-patch)
   - [render-json](#render-json)
+  - [output-module-groups](#output-module-groups)
 
 ### All Terraform built-in commands
 
@@ -464,6 +465,46 @@
 }
 ```
 
+### output-module-groups
+
+Output groups of modules ordered for apply as a list of list in JSON (useful 
for CI use cases).
+
+Example:
+
+```bash
+terragrunt output-module-groups
+```
+
+This will recursively search the current working directory for any folders 
that contain Terragrunt modules and build
+the dependency graph based on 
[`dependency`](/docs/reference/config-blocks-and-attributes/#dependency) and
+[`dependencies`](/docs/reference/config-blocks-and-attributes/#dependencies) 
blocks. This may produce output such as:
+
+```
+{
+  "Group 1": [
+    "stage/frontend-app"
+  ],
+  "Group 2": [
+    "stage/backend-app"
+  ],
+  "Group 3": [
+    "mgmt/bastion-host",
+    "stage/search-app"
+  ],
+  "Group 4": [
+    "mgmt/kms-master-key",
+    "stage/mysql",
+    "stage/redis"
+  ],
+  "Group 5": [
+    "stage/vpc"
+  ],
+  "Group 6": [
+    "mgmt/vpc"
+  ]
+}
+```
+
 ## CLI options
 
 Terragrunt forwards all options to Terraform. The only exceptions are 
`--version` and arguments that start with the
@@ -938,7 +979,7 @@
 **CLI Arg**: `--terragrunt-fail-on-state-bucket-creation`
 **Environment Variable**: `TERRAGRUNT_FAIL_ON_STATE_BUCKET_CREATION` (set to 
`true`)
 
-When this flag is set, Terragrunt will wait for execution if it is required to 
create the remote state bucket.
+When this flag is set, Terragrunt will fail and exit if it is necessary to 
create the remote state bucket.
 
 ### terragrunt-disable-bucket-update
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/backend-app/main.tf
 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/backend-app/main.tf
--- 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/backend-app/main.tf
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/backend-app/main.tf
    2023-07-28 20:17:16.000000000 +0200
@@ -0,0 +1,3 @@
+terraform {
+  backend "s3" {}
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/backend-app/terragrunt.hcl
 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/backend-app/terragrunt.hcl
--- 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/backend-app/terragrunt.hcl
     1970-01-01 01:00:00.000000000 +0100
+++ 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/backend-app/terragrunt.hcl
     2023-07-28 20:17:16.000000000 +0200
@@ -0,0 +1,8 @@
+include {
+  path = find_in_parent_folders()
+}
+
+dependencies {
+  paths = ["../mysql", "../redis", "../vpc"]
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/frontend-app/main.tf
 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/frontend-app/main.tf
--- 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/frontend-app/main.tf
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/frontend-app/main.tf
   2023-07-28 20:17:16.000000000 +0200
@@ -0,0 +1,3 @@
+terraform {
+  backend "s3" {}
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/frontend-app/terragrunt.hcl
 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/frontend-app/terragrunt.hcl
--- 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/frontend-app/terragrunt.hcl
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/frontend-app/terragrunt.hcl
    2023-07-28 20:17:16.000000000 +0200
@@ -0,0 +1,7 @@
+include {
+  path = find_in_parent_folders()
+}
+
+dependencies {
+  paths = ["../backend-app", "../vpc"]
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/mysql/main.tf 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/mysql/main.tf
--- old/terragrunt-0.48.4/test/fixture-output-module-groups/root/mysql/main.tf  
1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.48.5/test/fixture-output-module-groups/root/mysql/main.tf  
2023-07-28 20:17:16.000000000 +0200
@@ -0,0 +1,3 @@
+terraform {
+  backend "s3" {}
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/mysql/terragrunt.hcl
 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/mysql/terragrunt.hcl
--- 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/mysql/terragrunt.hcl
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/mysql/terragrunt.hcl
   2023-07-28 20:17:16.000000000 +0200
@@ -0,0 +1,8 @@
+include {
+  path = find_in_parent_folders()
+}
+
+dependencies {
+  paths = ["../vpc"]
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/redis/main.tf 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/redis/main.tf
--- old/terragrunt-0.48.4/test/fixture-output-module-groups/root/redis/main.tf  
1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.48.5/test/fixture-output-module-groups/root/redis/main.tf  
2023-07-28 20:17:16.000000000 +0200
@@ -0,0 +1,3 @@
+terraform {
+  backend "s3" {}
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/redis/terragrunt.hcl
 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/redis/terragrunt.hcl
--- 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/redis/terragrunt.hcl
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/redis/terragrunt.hcl
   2023-07-28 20:17:16.000000000 +0200
@@ -0,0 +1,8 @@
+include {
+  path = find_in_parent_folders()
+}
+
+dependencies {
+  paths = ["../vpc"]
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/vpc/main.tf 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/vpc/main.tf
--- old/terragrunt-0.48.4/test/fixture-output-module-groups/root/vpc/main.tf    
1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.48.5/test/fixture-output-module-groups/root/vpc/main.tf    
2023-07-28 20:17:16.000000000 +0200
@@ -0,0 +1,3 @@
+terraform {
+  backend "s3" {}
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/vpc/terragrunt.hcl 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/vpc/terragrunt.hcl
--- 
old/terragrunt-0.48.4/test/fixture-output-module-groups/root/vpc/terragrunt.hcl 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/terragrunt-0.48.5/test/fixture-output-module-groups/root/vpc/terragrunt.hcl 
    2023-07-28 20:17:16.000000000 +0200
@@ -0,0 +1,5 @@
+include {
+  path = find_in_parent_folders()
+}
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/terragrunt-0.48.4/test/fixture-output-module-groups/terragrunt.hcl 
new/terragrunt-0.48.5/test/fixture-output-module-groups/terragrunt.hcl
--- old/terragrunt-0.48.4/test/fixture-output-module-groups/terragrunt.hcl      
1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.48.5/test/fixture-output-module-groups/terragrunt.hcl      
2023-07-28 20:17:16.000000000 +0200
@@ -0,0 +1,14 @@
+# Configure Terragrunt to automatically store tfstate files in an S3 bucket
+remote_state {
+  backend = "s3"
+  config = {
+    encrypt = true
+    bucket = "__FILL_IN_BUCKET_NAME__"
+    key = "${path_relative_to_include()}/terraform.tfstate"
+    region = "us-west-2"
+  }
+}
+
+inputs = {
+  terraform_remote_state_s3_bucket = "__FILL_IN_BUCKET_NAME__"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/terragrunt-0.48.4/test/integration_test.go 
new/terragrunt-0.48.5/test/integration_test.go
--- old/terragrunt-0.48.4/test/integration_test.go      2023-07-19 
16:35:23.000000000 +0200
+++ new/terragrunt-0.48.5/test/integration_test.go      2023-07-28 
20:17:16.000000000 +0200
@@ -135,6 +135,7 @@
        TEST_FIXTURE_RENDER_JSON_METADATA                                       
 = "fixture-render-json-metadata"
        TEST_FIXTURE_RENDER_JSON_MOCK_OUTPUTS                                   
 = "fixture-render-json-mock-outputs"
        TEST_FIXTURE_RENDER_JSON_INPUTS                                         
 = "fixture-render-json-inputs"
+       TEST_FIXTURE_OUTPUT_MODULE_GROUPS                                       
 = "fixture-output-module-groups"
        TEST_FIXTURE_STARTSWITH                                                 
 = "fixture-startswith"
        TEST_FIXTURE_TIMECMP                                                    
 = "fixture-timecmp"
        TEST_FIXTURE_TIMECMP_INVALID_TIMESTAMP                                  
 = "fixture-timecmp-errors/invalid-timestamp"
@@ -4882,6 +4883,37 @@
        assert.True(t, reflect.DeepEqual(expectedTerraformVersionConstraint, 
terraformVersionConstraint))
 }
 
+func TestOutputModuleGroups(t *testing.T) {
+       t.Parallel()
+
+       tmpEnvPath := copyEnvironment(t, TEST_FIXTURE_OUTPUT_MODULE_GROUPS)
+       cleanupTerraformFolder(t, tmpEnvPath)
+       environmentPath := fmt.Sprintf("%s/%s", tmpEnvPath, 
TEST_FIXTURE_OUTPUT_MODULE_GROUPS)
+       var (
+               stdout bytes.Buffer
+               stderr bytes.Buffer
+       )
+       runTerragruntRedirectOutput(t, fmt.Sprintf("terragrunt 
output-module-groups --terragrunt-working-dir %s", environmentPath), &stdout, 
&stderr)
+       output := stdout.String()
+       expectedOutput := fmt.Sprintf(`
+{
+  "Group 1": [
+    "%[1]s/root/vpc"
+  ],
+  "Group 2": [
+    "%[1]s/root/mysql",
+    "%[1]s/root/redis"
+  ],
+  "Group 3": [
+    "%[1]s/root/backend-app"
+  ],
+  "Group 4": [
+    "%[1]s/root/frontend-app"
+  ]
+}`, environmentPath)
+       assert.True(t, strings.Contains(output, 
strings.TrimSpace(expectedOutput)))
+}
+
 func TestRenderJsonMetadataDependencies(t *testing.T) {
        t.Parallel()
 

++++++ terragrunt.obsinfo ++++++
--- /var/tmp/diff_new_pack.AztpQs/_old  2023-08-01 15:38:46.337910378 +0200
+++ /var/tmp/diff_new_pack.AztpQs/_new  2023-08-01 15:38:46.341910403 +0200
@@ -1,5 +1,5 @@
 name: terragrunt
-version: 0.48.4
-mtime: 1689777323
-commit: 2dc7f9157abfe9890931625b64315bf22fa425c0
+version: 0.48.5
+mtime: 1690568236
+commit: 2cab9f99efd3a7faa0b431165fd9f697b06b7048
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/terragrunt/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.terragrunt.new.32662/vendor.tar.gz differ: char 5, 
line 1

Reply via email to