Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package terragrunt for openSUSE:Factory 
checked in at 2026-01-30 18:28:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/terragrunt (Old)
 and      /work/SRC/openSUSE:Factory/.terragrunt.new.1995 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "terragrunt"

Fri Jan 30 18:28:10 2026 rev:284 rq:1329959 version:0.99.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/terragrunt/terragrunt.changes    2026-01-27 
16:15:56.975125097 +0100
+++ /work/SRC/openSUSE:Factory/.terragrunt.new.1995/terragrunt.changes  
2026-01-30 18:28:16.468633578 +0100
@@ -1,0 +2,11 @@
+Fri Jan 30 07:09:16 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 0.99.1:
+  * Bug Fixes
+    - Pass through null inputs
+      Fixes a bug where null inputs weren't being passed through
+      correctly to OpenTofu/Terraform.
+  * What's Changed
+    - fix: Fixing null input passing (#5458)
+
+-------------------------------------------------------------------

Old:
----
  terragrunt-0.99.0.obscpio

New:
----
  terragrunt-0.99.1.obscpio

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

Other differences:
------------------
++++++ terragrunt.spec ++++++
--- /var/tmp/diff_new_pack.A5ru6Q/_old  2026-01-30 18:28:23.884945001 +0100
+++ /var/tmp/diff_new_pack.A5ru6Q/_new  2026-01-30 18:28:23.892945336 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           terragrunt
-Version:        0.99.0
+Version:        0.99.1
 Release:        0
 Summary:        Thin wrapper for Terraform for working with multiple Terraform 
modules
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.A5ru6Q/_old  2026-01-30 18:28:24.360964989 +0100
+++ /var/tmp/diff_new_pack.A5ru6Q/_new  2026-01-30 18:28:24.388966165 +0100
@@ -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.99.0</param>
+    <param name="revision">v0.99.1</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.A5ru6Q/_old  2026-01-30 18:28:24.520971708 +0100
+++ /var/tmp/diff_new_pack.A5ru6Q/_new  2026-01-30 18:28:24.548972884 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/gruntwork-io/terragrunt</param>
-              <param 
name="changesrevision">93b0edf1ca3c816e7cb72de6ed6f483cb69ad6ac</param></service></servicedata>
+              <param 
name="changesrevision">ab330c6bd7bd18bc06c57b35e34e3236a6fb1dae</param></service></servicedata>
 (No newline at EOF)
 

++++++ terragrunt-0.99.0.obscpio -> terragrunt-0.99.1.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/terragrunt-0.99.0/internal/runner/run/run.go 
new/terragrunt-0.99.1/internal/runner/run/run.go
--- old/terragrunt-0.99.0/internal/runner/run/run.go    2026-01-26 
22:29:22.000000000 +0100
+++ new/terragrunt-0.99.1/internal/runner/run/run.go    2026-01-29 
19:26:42.000000000 +0100
@@ -5,6 +5,7 @@
 
 import (
        "context"
+       "encoding/json"
        "fmt"
        "io"
        "maps"
@@ -35,6 +36,7 @@
 
 const (
        CommandNameTerragruntReadConfig = "terragrunt-read-config"
+       NullTFVarsFile                  = 
".terragrunt-null-vars.auto.tfvars.json"
 )
 
 var TerraformCommandsThatUseState = []string{
@@ -256,6 +258,20 @@
                }
        }
 
+       // Write null-valued inputs to a tfvars.json file that 
OpenTofu/Terraform will auto-load.
+       nullVarsFile, err := setTerragruntNullValuesRunCfg(opts, cfg)
+       if err != nil {
+               return err
+       }
+
+       defer func() {
+               if nullVarsFile != "" {
+                       if err := os.Remove(nullVarsFile); err != nil && 
!errors.Is(err, os.ErrNotExist) {
+                               l.Debugf("Failed to remove null values file %s: 
%v", nullVarsFile, err)
+                       }
+               }
+       }()
+
        // Now that we've run 'init' and have all the source code locally, we 
can finally run the patch command
        if err := checkProtectedModuleRunCfg(opts, cfg); err != nil {
                return err
@@ -715,3 +731,36 @@
 
        return nil
 }
+
+// setTerragruntNullValuesRunCfg writes null-valued inputs to a tfvars.json 
file
+// that OpenTofu/Terraform will auto-load. This is necessary because 
OpenTofu/Terraform
+// cannot accept null values via environment variables (TF_VAR_*), but it can 
read them
+// from .auto.tfvars.json files.
+func setTerragruntNullValuesRunCfg(opts *options.TerragruntOptions, cfg 
*runcfg.RunConfig) (string, error) {
+       jsonEmptyVars := make(map[string]any)
+
+       for varName, varValue := range cfg.Inputs {
+               if varValue == nil {
+                       jsonEmptyVars[varName] = nil
+               }
+       }
+
+       if len(jsonEmptyVars) == 0 {
+               return "", nil
+       }
+
+       jsonContents, err := json.MarshalIndent(jsonEmptyVars, "", "  ")
+       if err != nil {
+               return "", errors.New(err)
+       }
+
+       varFile := filepath.Join(opts.WorkingDir, NullTFVarsFile)
+
+       const ownerReadWritePermissions = 0600
+
+       if err := os.WriteFile(varFile, jsonContents, 
os.FileMode(ownerReadWritePermissions)); err != nil {
+               return "", errors.New(err)
+       }
+
+       return varFile, nil
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/terragrunt-0.99.0/test/integration_test.go 
new/terragrunt-0.99.1/test/integration_test.go
--- old/terragrunt-0.99.0/test/integration_test.go      2026-01-26 
22:29:22.000000000 +0100
+++ new/terragrunt-0.99.1/test/integration_test.go      2026-01-29 
19:26:42.000000000 +0100
@@ -4673,3 +4673,31 @@
        assert.NotContains(t, stderr, "\x1b")
        assert.NotContains(t, stdout, "\x1b")
 }
+
+// TestTerragruntPassNullValues verifies that terragrunt can pass null values 
to
+// Terraform variables. This is a regression test for:
+// https://github.com/gruntwork-io/terragrunt/issues/5452
+func TestTerragruntPassNullValues(t *testing.T) {
+       t.Parallel()
+
+       tmpEnvPath := helpers.CopyEnvironment(t, testFixtureNullValue)
+       testPath := filepath.Join(tmpEnvPath, testFixtureNullValue)
+
+       _, _, err := helpers.RunTerragruntCommandWithOutput(
+               t,
+               "terragrunt apply -auto-approve --non-interactive --working-dir 
"+testPath,
+       )
+       require.NoError(t, err)
+
+       stdout, _, err := helpers.RunTerragruntCommandWithOutput(
+               t,
+               "terragrunt output -json --non-interactive --working-dir 
"+testPath,
+       )
+       require.NoError(t, err)
+
+       outputs := map[string]helpers.TerraformOutput{}
+       require.NoError(t, json.Unmarshal([]byte(stdout), &outputs))
+
+       assert.Nil(t, outputs["output1"].Value)
+       assert.Equal(t, "variable 2", outputs["output2"].Value)
+}

++++++ terragrunt.obsinfo ++++++
--- /var/tmp/diff_new_pack.A5ru6Q/_old  2026-01-30 18:28:29.865196120 +0100
+++ /var/tmp/diff_new_pack.A5ru6Q/_new  2026-01-30 18:28:29.893197296 +0100
@@ -1,5 +1,5 @@
 name: terragrunt
-version: 0.99.0
-mtime: 1769462962
-commit: 93b0edf1ca3c816e7cb72de6ed6f483cb69ad6ac
+version: 0.99.1
+mtime: 1769711202
+commit: ab330c6bd7bd18bc06c57b35e34e3236a6fb1dae
 

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

Reply via email to