openSUSE Commits
Threads by month
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
May 2023
- 1 participants
- 2432 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-quantities for openSUSE:Factory checked in at 2023-05-31 21:54:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-quantities (Old)
and /work/SRC/openSUSE:Factory/.python-quantities.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-quantities"
Wed May 31 21:54:48 2023 rev:8 rq:1089955 version:0.14.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-quantities/python-quantities.changes 2023-02-09 16:22:41.758555014 +0100
+++ /work/SRC/openSUSE:Factory/.python-quantities.new.1533/python-quantities.changes 2023-05-31 21:54:54.773152723 +0200
@@ -1,0 +2,6 @@
+Wed May 31 08:28:44 UTC 2023 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 0.14.1:
+ * Fixed a bug when scaling quantities with integer dtype
+
+-------------------------------------------------------------------
Old:
----
quantities-0.14.0.tar.gz
New:
----
quantities-0.14.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-quantities.spec ++++++
--- /var/tmp/diff_new_pack.sljU46/_old 2023-05-31 21:54:55.201155252 +0200
+++ /var/tmp/diff_new_pack.sljU46/_new 2023-05-31 21:54:55.205155277 +0200
@@ -17,7 +17,7 @@
Name: python-quantities
-Version: 0.14.0
+Version: 0.14.1
Release: 0
Summary: Package for physical quantities with units
License: BSD-3-Clause
++++++ quantities-0.14.0.tar.gz -> quantities-0.14.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantities-0.14.0/CHANGES.txt new/quantities-0.14.1/CHANGES.txt
--- old/quantities-0.14.0/CHANGES.txt 2023-02-06 11:15:23.000000000 +0100
+++ new/quantities-0.14.1/CHANGES.txt 2023-02-17 10:07:12.000000000 +0100
@@ -3,6 +3,12 @@
=======
------
+0.14.1
+------
+
+- Fixed a bug when scaling quantities with integer dtype [`PR#216 <https://github.com/python-quantities/python-quantities/pull/216>`_]
+
+------
0.14.0
------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantities-0.14.0/PKG-INFO new/quantities-0.14.1/PKG-INFO
--- old/quantities-0.14.0/PKG-INFO 2023-02-06 11:43:08.526849000 +0100
+++ new/quantities-0.14.1/PKG-INFO 2023-02-17 10:09:11.305901500 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: quantities
-Version: 0.14.0
+Version: 0.14.1
Summary: Support for physical quantities with units, based on numpy
Author-email: Darren Dale <dsdale24(a)gmail.com>
Maintainer-email: Andrew Davison <andrew.davison(a)cnrs.fr>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantities-0.14.0/quantities/_version.py new/quantities-0.14.1/quantities/_version.py
--- old/quantities-0.14.0/quantities/_version.py 2023-02-06 11:43:08.000000000 +0100
+++ new/quantities-0.14.1/quantities/_version.py 2023-02-17 10:09:11.000000000 +0100
@@ -1,4 +1,4 @@
# file generated by setuptools_scm
# don't change, don't track in version control
-__version__ = version = '0.14.0'
-__version_tuple__ = version_tuple = (0, 14, 0)
+__version__ = version = '0.14.1'
+__version_tuple__ = version_tuple = (0, 14, 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantities-0.14.0/quantities/constants/_codata.py new/quantities-0.14.1/quantities/constants/_codata.py
--- old/quantities-0.14.0/quantities/constants/_codata.py 2023-02-06 11:43:08.000000000 +0100
+++ new/quantities-0.14.1/quantities/constants/_codata.py 2023-02-17 10:09:11.000000000 +0100
@@ -1,6 +1,6 @@
# THIS FILE IS AUTOMATICALLY GENERATED
# ANY CHANGES MADE HERE WILL BE LOST
-# LAST GENERATED: 2023-02-06 11:43:08.399922
+# LAST GENERATED: 2023-02-17 10:09:11.209329
physical_constants = {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantities-0.14.0/quantities/quantity.py new/quantities-0.14.1/quantities/quantity.py
--- old/quantities-0.14.0/quantities/quantity.py 2022-10-25 15:49:59.000000000 +0200
+++ new/quantities-0.14.1/quantities/quantity.py 2023-02-17 09:59:31.000000000 +0100
@@ -219,7 +219,9 @@
'Unable to convert between units of "%s" and "%s"'
%(from_u._dimensionality, to_u._dimensionality)
)
- return Quantity(cf*self.magnitude, to_u, dtype=dtype)
+ new_magnitude = cf*self.magnitude
+ dtype = np.result_type(dtype, new_magnitude)
+ return Quantity(new_magnitude, to_u, dtype=dtype)
def rescale_preferred(self):
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantities-0.14.0/quantities/tests/test_arithmetic.py new/quantities-0.14.1/quantities/tests/test_arithmetic.py
--- old/quantities-0.14.0/quantities/tests/test_arithmetic.py 2022-10-25 15:49:59.000000000 +0200
+++ new/quantities-0.14.1/quantities/tests/test_arithmetic.py 2023-02-17 09:55:04.000000000 +0100
@@ -139,11 +139,23 @@
Quantity([11, 10, 9, 8], units=pq.dimensionless)
)
+ q = Quantity([46, 42, 38, 34], units=pq.ms)
+ self.assertQuantityEqual(
+ q/(4 * pq.ms),
+ Quantity([11.5, 10.5, 9.5, 8.5], units=pq.dimensionless)
+ )
+
def test_floordiv(self):
q = Quantity([45, 43, 39, 32], units=pq.ms)
self.assertQuantityEqual(
q//(4 * pq.ms),
Quantity([11, 10, 9, 8], units=pq.dimensionless)
+ )
+
+ q = Quantity([46, 42, 38, 34], units=pq.ms)
+ self.assertQuantityEqual(
+ q//(4 * pq.ms),
+ Quantity([11, 10, 9, 8], units=pq.dimensionless)
)
def test_mixed_addition(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantities-0.14.0/quantities/tests/test_conversion.py new/quantities-0.14.1/quantities/tests/test_conversion.py
--- old/quantities-0.14.0/quantities/tests/test_conversion.py 2022-03-03 15:06:04.000000000 +0100
+++ new/quantities-0.14.1/quantities/tests/test_conversion.py 2023-02-17 09:59:31.000000000 +0100
@@ -1,4 +1,5 @@
import unittest
+import numpy as np
from .. import units as pq
from .. import quantity
from .common import TestCase
@@ -15,7 +16,9 @@
def test_rescale(self):
for u in ('ft', 'feet', pq.ft):
self.assertQuantityEqual((10*pq.m).rescale(u), 32.80839895 * pq.ft)
-
+ self.assertQuantityEqual((10 * pq.deg).rescale(pq.rad), 0.17453293 * pq.rad)
+ self.assertQuantityEqual(quantity.Quantity(10, pq.deg).rescale(pq.rad), 0.17453293 * pq.rad)
+
def test_rescale_preferred(self):
quantity.PREFERRED = [pq.mV, pq.pA]
q = 10*pq.V
@@ -23,7 +26,7 @@
q = 5*pq.A
self.assertQuantityEqual(q.rescale_preferred(), q.rescale(pq.pA))
quantity.PREFERRED = []
-
+
def test_rescale_preferred_failure(self):
quantity.PREFERRED = [pq.pA]
q = 10*pq.V
@@ -34,7 +37,7 @@
else:
self.assertTrue(False)
quantity.PREFERRED = []
-
+
def test_rescale_noargs(self):
quantity.PREFERRED = [pq.mV, pq.pA]
q = 10*pq.V
@@ -42,7 +45,7 @@
q = 5*pq.A
self.assertQuantityEqual(q.rescale(), q.rescale(pq.pA))
quantity.PREFERRED = []
-
+
def test_rescale_noargs_failure(self):
quantity.PREFERRED = [pq.pA]
q = 10*pq.V
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantities-0.14.0/quantities/tests/test_methods.py new/quantities-0.14.1/quantities/tests/test_methods.py
--- old/quantities-0.14.0/quantities/tests/test_methods.py 2022-03-03 15:06:04.000000000 +0100
+++ new/quantities-0.14.1/quantities/tests/test_methods.py 2023-02-17 09:59:32.000000000 +0100
@@ -188,7 +188,7 @@
def test_nanargmax(self):
q = np.append(self.q, np.nan) * self.q.units
self.assertEqual(self.q.nanargmin(), 0)
-
+
def test_ptp(self):
self.methodWithOut('ptp', 3 * pq.m)
self.methodWithOut('ptp', [2, 2] * pq.m, axis=0)
@@ -248,7 +248,7 @@
self.methodWithOut('mean', [1.5, 3.5] * pq.m, axis=1)
def test_nanmean(self):
- import numpy as np
+ import numpy as np
q = [[1,2], [3,4], [np.nan,np.nan]] * pq.m
self.assertQuantityEqual(q.nanmean(), self.q.mean())
@@ -263,7 +263,7 @@
self.methodWithOut('std', [0.5, 0.5] * pq.m, axis=1)
def test_nanstd(self):
- import numpy as np
+ import numpy as np
q0 = [[1,2], [3,4]] * pq.m
q1 = [[1,2], [3,4], [np.nan,np.nan]] * pq.m
self.assertQuantityEqual(q0.std(), q1.nanstd())
@@ -345,3 +345,10 @@
def test_iterator(self):
for q in self.q.flatten():
self.assertQuantityEqual(q.units, pq.m)
+
+ def test_rescale_integer_argument(self):
+ from .. import Quantity
+ self.assertQuantityEqual(
+ Quantity(10, pq.deg).rescale(pq.rad),
+ np.pi/18*pq.rad
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/quantities-0.14.0/quantities.egg-info/PKG-INFO new/quantities-0.14.1/quantities.egg-info/PKG-INFO
--- old/quantities-0.14.0/quantities.egg-info/PKG-INFO 2023-02-06 11:43:08.000000000 +0100
+++ new/quantities-0.14.1/quantities.egg-info/PKG-INFO 2023-02-17 10:09:11.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: quantities
-Version: 0.14.0
+Version: 0.14.1
Summary: Support for physical quantities with units, based on numpy
Author-email: Darren Dale <dsdale24(a)gmail.com>
Maintainer-email: Andrew Davison <andrew.davison(a)cnrs.fr>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-xarray for openSUSE:Factory checked in at 2023-05-31 21:54:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-xarray (Old)
and /work/SRC/openSUSE:Factory/.python-xarray.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-xarray"
Wed May 31 21:54:47 2023 rev:42 rq:1089954 version:2023.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-xarray/python-xarray.changes 2023-03-10 22:07:37.265198374 +0100
+++ /work/SRC/openSUSE:Factory/.python-xarray.new.1533/python-xarray.changes 2023-05-31 21:54:53.501145205 +0200
@@ -1,0 +2,16 @@
+Wed May 31 08:23:29 UTC 2023 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 2023.05.0:
+ * This release adds some new methods and operators, updates our
+ deprecation policy for python versions, fixes some bugs with
+ groupby, and introduces experimental support for alternative
+ chunked parallel array computation backends via a new plugin
+ system!
+ * Docstrings examples for string methods
+ * Fix groupby_bins when labels are specified
+ * Fix binning by unsorted array
+ * This release includes support for pandas v2, allows
+ refreshing of backend engines in a session, and removes
+ deprecated backends for ``rasterio`` and ``cfgrib``.
+
+-------------------------------------------------------------------
Old:
----
xarray-2023.2.0.tar.gz
New:
----
xarray-2023.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-xarray.spec ++++++
--- /var/tmp/diff_new_pack.V8Dvjm/_old 2023-05-31 21:54:54.293149885 +0200
+++ /var/tmp/diff_new_pack.V8Dvjm/_new 2023-05-31 21:54:54.301149933 +0200
@@ -16,9 +16,9 @@
#
-%define skip_python38 1
+%{?sle15_python_module_pythons}
Name: python-xarray
-Version: 2023.2.0
+Version: 2023.5.0
Release: 0
Summary: N-D labeled arrays and datasets in Python
License: Apache-2.0
++++++ xarray-2023.2.0.tar.gz -> xarray-2023.5.0.tar.gz ++++++
++++ 17978 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-unyt for openSUSE:Factory checked in at 2023-05-31 21:54:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-unyt (Old)
and /work/SRC/openSUSE:Factory/.python-unyt.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-unyt"
Wed May 31 21:54:46 2023 rev:4 rq:1089953 version:2.9.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-unyt/python-unyt.changes 2023-02-08 17:20:55.394128736 +0100
+++ /work/SRC/openSUSE:Factory/.python-unyt.new.1533/python-unyt.changes 2023-05-31 21:54:52.461139058 +0200
@@ -1,0 +2,9 @@
+Wed May 31 08:21:34 UTC 2023 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 2.9.5:
+ * Fix a regression where arrays elements with dtype ``'int8'``
+ would not compare to floats as intended.
+ * Raise an error in case an array element is assigned to a new
+ value with incompatible units.
+
+-------------------------------------------------------------------
Old:
----
unyt-2.9.4.tar.gz
New:
----
unyt-2.9.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-unyt.spec ++++++
--- /var/tmp/diff_new_pack.KY2ftD/_old 2023-05-31 21:54:53.053142557 +0200
+++ /var/tmp/diff_new_pack.KY2ftD/_new 2023-05-31 21:54:53.057142581 +0200
@@ -16,10 +16,9 @@
#
-%define skip_python2 1
-%define skip_python36 1
+%{?sle15_python_module_pythons}
Name: python-unyt
-Version: 2.9.4
+Version: 2.9.5
Release: 0
Summary: A package for handling numpy arrays with units
License: BSD-3-Clause
++++++ unyt-2.9.4.tar.gz -> unyt-2.9.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/HISTORY.rst new/unyt-2.9.5/HISTORY.rst
--- old/unyt-2.9.4/HISTORY.rst 2023-02-06 22:37:10.000000000 +0100
+++ new/unyt-2.9.5/HISTORY.rst 2023-02-23 23:23:22.000000000 +0100
@@ -2,12 +2,26 @@
History
=======
+2.9.5 (2023-02-22)
+------------------
+
+* Fix a regression where arrays elements with dtype ``'int8'`` would not compare to floats
+ as intended. See `PR #371 <https://github.com/yt-project/unyt/pull/371>`_. Thank you to
+ Cl��ment Robert (@neutrinoceros on GitHub) and Nathan Goldbaum (@ngoldbaum on GitHub) for
+ the contribution.
+
+* Raise an error in case an array element is assigned to a new value with incompatible
+ units. See `PR #375 <https://github.com/yt-project/unyt/pull/375>`_ and `PR #376
+ <https://github.com/yt-project/unyt/pull/376>`_. Thank you to Nathan Goldbaum
+ (@ngoldbaum on GitHub) for the contribution.
+
+
2.9.4 (2023-02-06)
------------------
* Make ``unyt_quantity.from_string`` parse ints.
See `PR #278 <https://github.com/yt-project/unyt/pull/278>`_.
- Thank you to Nahan Goldbaum (@ngoldbaum on GitHub) for the contribution.
+ Thank you to Nathan Goldbaum (@ngoldbaum on GitHub) for the contribution.
* TST: migrate from tox-pyenv to tox-gh-actions #344
See `PR #344 <https://github.com/yt-project/unyt/pull/344>`_.
Thank you to Cl��ment Robert (@neutrinoceros on GitHub) for the contribution.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/PKG-INFO new/unyt-2.9.5/PKG-INFO
--- old/unyt-2.9.4/PKG-INFO 2023-02-06 22:37:52.538785200 +0100
+++ new/unyt-2.9.5/PKG-INFO 2023-02-23 23:25:32.358159000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: unyt
-Version: 2.9.4
+Version: 2.9.5
Summary: A package for handling numpy arrays with units
Home-page: https://github.com/yt-project/unyt
Author: The yt project
@@ -127,12 +127,26 @@
History
=======
+2.9.5 (2023-02-22)
+------------------
+
+* Fix a regression where arrays elements with dtype ``'int8'`` would not compare to floats
+ as intended. See `PR #371 <https://github.com/yt-project/unyt/pull/371>`_. Thank you to
+ Cl��ment Robert (@neutrinoceros on GitHub) and Nathan Goldbaum (@ngoldbaum on GitHub) for
+ the contribution.
+
+* Raise an error in case an array element is assigned to a new value with incompatible
+ units. See `PR #375 <https://github.com/yt-project/unyt/pull/375>`_ and `PR #376
+ <https://github.com/yt-project/unyt/pull/376>`_. Thank you to Nathan Goldbaum
+ (@ngoldbaum on GitHub) for the contribution.
+
+
2.9.4 (2023-02-06)
------------------
* Make ``unyt_quantity.from_string`` parse ints.
See `PR #278 <https://github.com/yt-project/unyt/pull/278>`_.
- Thank you to Nahan Goldbaum (@ngoldbaum on GitHub) for the contribution.
+ Thank you to Nathan Goldbaum (@ngoldbaum on GitHub) for the contribution.
* TST: migrate from tox-pyenv to tox-gh-actions #344
See `PR #344 <https://github.com/yt-project/unyt/pull/344>`_.
Thank you to Cl��ment Robert (@neutrinoceros on GitHub) for the contribution.
Binary files old/unyt-2.9.4/docs/_build/html/_images/mpl_fig1.png and new/unyt-2.9.5/docs/_build/html/_images/mpl_fig1.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_images/mpl_fig2.png and new/unyt-2.9.5/docs/_build/html/_images/mpl_fig2.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_images/mpl_fig3.png and new/unyt-2.9.5/docs/_build/html/_images/mpl_fig3.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_images/mpl_fig4.png and new/unyt-2.9.5/docs/_build/html/_images/mpl_fig4.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_images/mpl_fig5.png and new/unyt-2.9.5/docs/_build/html/_images/mpl_fig5.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_static/file.png and new/unyt-2.9.5/docs/_build/html/_static/file.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_static/minus.png and new/unyt-2.9.5/docs/_build/html/_static/minus.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_static/mpl_fig1.png and new/unyt-2.9.5/docs/_build/html/_static/mpl_fig1.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_static/mpl_fig2.png and new/unyt-2.9.5/docs/_build/html/_static/mpl_fig2.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_static/mpl_fig3.png and new/unyt-2.9.5/docs/_build/html/_static/mpl_fig3.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_static/mpl_fig4.png and new/unyt-2.9.5/docs/_build/html/_static/mpl_fig4.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_static/mpl_fig5.png and new/unyt-2.9.5/docs/_build/html/_static/mpl_fig5.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_static/plus.png and new/unyt-2.9.5/docs/_build/html/_static/plus.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_static/yt_icon.png and new/unyt-2.9.5/docs/_build/html/_static/yt_icon.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_static/yt_logo.png and new/unyt-2.9.5/docs/_build/html/_static/yt_logo.png differ
Binary files old/unyt-2.9.4/docs/_build/html/_static/yt_logo_small.png and new/unyt-2.9.5/docs/_build/html/_static/yt_logo_small.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/docs/modules/unyt.array.rst new/unyt-2.9.5/docs/modules/unyt.array.rst
--- old/unyt-2.9.4/docs/modules/unyt.array.rst 2023-02-06 22:26:21.000000000 +0100
+++ new/unyt-2.9.5/docs/modules/unyt.array.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-unyt.array module
-=================
-
-.. automodule:: unyt.array
- :members:
- :undoc-members:
- :show-inheritance:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/docs/modules/unyt.dimensions.rst new/unyt-2.9.5/docs/modules/unyt.dimensions.rst
--- old/unyt-2.9.4/docs/modules/unyt.dimensions.rst 2023-02-06 22:26:21.000000000 +0100
+++ new/unyt-2.9.5/docs/modules/unyt.dimensions.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-unyt.dimensions module
-======================
-
-.. automodule:: unyt.dimensions
- :members:
- :undoc-members:
- :show-inheritance:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/docs/modules/unyt.equivalencies.rst new/unyt-2.9.5/docs/modules/unyt.equivalencies.rst
--- old/unyt-2.9.4/docs/modules/unyt.equivalencies.rst 2023-02-06 22:26:21.000000000 +0100
+++ new/unyt-2.9.5/docs/modules/unyt.equivalencies.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-unyt.equivalencies module
-=========================
-
-.. automodule:: unyt.equivalencies
- :members:
- :undoc-members:
- :show-inheritance:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/docs/modules/unyt.exceptions.rst new/unyt-2.9.5/docs/modules/unyt.exceptions.rst
--- old/unyt-2.9.4/docs/modules/unyt.exceptions.rst 2023-02-06 22:26:21.000000000 +0100
+++ new/unyt-2.9.5/docs/modules/unyt.exceptions.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-unyt.exceptions module
-======================
-
-.. automodule:: unyt.exceptions
- :members:
- :undoc-members:
- :show-inheritance:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/docs/modules/unyt.mpl_interface.rst new/unyt-2.9.5/docs/modules/unyt.mpl_interface.rst
--- old/unyt-2.9.4/docs/modules/unyt.mpl_interface.rst 2023-02-06 22:26:21.000000000 +0100
+++ new/unyt-2.9.5/docs/modules/unyt.mpl_interface.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-unyt.mpl\_interface module
-==========================
-
-.. automodule:: unyt.mpl_interface
- :members:
- :undoc-members:
- :show-inheritance:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/docs/modules/unyt.physical_constants.rst new/unyt-2.9.5/docs/modules/unyt.physical_constants.rst
--- old/unyt-2.9.4/docs/modules/unyt.physical_constants.rst 2023-02-06 22:26:21.000000000 +0100
+++ new/unyt-2.9.5/docs/modules/unyt.physical_constants.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-unyt.physical\_constants module
-===============================
-
-.. automodule:: unyt.physical_constants
- :members:
- :undoc-members:
- :show-inheritance:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/docs/modules/unyt.rst new/unyt-2.9.5/docs/modules/unyt.rst
--- old/unyt-2.9.4/docs/modules/unyt.rst 2023-02-06 22:26:21.000000000 +0100
+++ new/unyt-2.9.5/docs/modules/unyt.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-unyt package
-============
-
-.. automodule:: unyt
- :members:
- :undoc-members:
- :show-inheritance:
-
-Submodules
-----------
-
-.. toctree::
- :maxdepth: 0
-
- unyt.array
- unyt.dimensions
- unyt.equivalencies
- unyt.exceptions
- unyt.mpl_interface
- unyt.physical_constants
- unyt.testing
- unyt.unit_object
- unyt.unit_registry
- unyt.unit_symbols
- unyt.unit_systems
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/docs/modules/unyt.testing.rst new/unyt-2.9.5/docs/modules/unyt.testing.rst
--- old/unyt-2.9.4/docs/modules/unyt.testing.rst 2023-02-06 22:26:21.000000000 +0100
+++ new/unyt-2.9.5/docs/modules/unyt.testing.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-unyt.testing module
-===================
-
-.. automodule:: unyt.testing
- :members:
- :undoc-members:
- :show-inheritance:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/docs/modules/unyt.unit_object.rst new/unyt-2.9.5/docs/modules/unyt.unit_object.rst
--- old/unyt-2.9.4/docs/modules/unyt.unit_object.rst 2023-02-06 22:26:21.000000000 +0100
+++ new/unyt-2.9.5/docs/modules/unyt.unit_object.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-unyt.unit\_object module
-========================
-
-.. automodule:: unyt.unit_object
- :members:
- :undoc-members:
- :show-inheritance:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/docs/modules/unyt.unit_registry.rst new/unyt-2.9.5/docs/modules/unyt.unit_registry.rst
--- old/unyt-2.9.4/docs/modules/unyt.unit_registry.rst 2023-02-06 22:26:21.000000000 +0100
+++ new/unyt-2.9.5/docs/modules/unyt.unit_registry.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-unyt.unit\_registry module
-==========================
-
-.. automodule:: unyt.unit_registry
- :members:
- :undoc-members:
- :show-inheritance:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/docs/modules/unyt.unit_symbols.rst new/unyt-2.9.5/docs/modules/unyt.unit_symbols.rst
--- old/unyt-2.9.4/docs/modules/unyt.unit_symbols.rst 2023-02-06 22:26:21.000000000 +0100
+++ new/unyt-2.9.5/docs/modules/unyt.unit_symbols.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-unyt.unit\_symbols module
-=========================
-
-.. automodule:: unyt.unit_symbols
- :members:
- :undoc-members:
- :show-inheritance:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/docs/modules/unyt.unit_systems.rst new/unyt-2.9.5/docs/modules/unyt.unit_systems.rst
--- old/unyt-2.9.4/docs/modules/unyt.unit_systems.rst 2023-02-06 22:26:21.000000000 +0100
+++ new/unyt-2.9.5/docs/modules/unyt.unit_systems.rst 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-unyt.unit\_systems module
-=========================
-
-.. automodule:: unyt.unit_systems
- :members:
- :undoc-members:
- :show-inheritance:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/unyt/_version.py new/unyt-2.9.5/unyt/_version.py
--- old/unyt-2.9.4/unyt/_version.py 2023-02-06 22:37:52.540202000 +0100
+++ new/unyt-2.9.5/unyt/_version.py 2023-02-23 23:25:32.360292400 +0100
@@ -8,11 +8,11 @@
version_json = '''
{
- "date": "2023-02-06T22:36:53+0100",
+ "date": "2023-02-23T13:50:41-0700",
"dirty": false,
"error": null,
- "full-revisionid": "cdf3d78ee4a29c312f570051795eec2aaf758e92",
- "version": "v2.9.4"
+ "full-revisionid": "d625b71d7e2266f1ff35293804dfb69577e1552f",
+ "version": "v2.9.5"
}
''' # END VERSION_JSON
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/unyt/array.py new/unyt-2.9.5/unyt/array.py
--- old/unyt-2.9.4/unyt/array.py 2023-02-06 22:20:43.000000000 +0100
+++ new/unyt-2.9.5/unyt/array.py 2023-02-23 23:23:22.000000000 +0100
@@ -141,7 +141,14 @@
NULL_UNIT = Unit()
POWER_MAPPING = {multiply: lambda x: x, divide: lambda x: 2 - x}
-DISALLOWED_DTYPES = ("S", "U", "a", "O", "M", "m", "b")
+DISALLOWED_DTYPES = (
+ "S", # bytestring
+ "a", # bytestring
+ "U", # (unicode) bytes
+ "O", # Python object
+ "M", # datetime
+ "m", # timedelta
+)
__doctest_requires__ = {
("unyt_array.from_pint", "unyt_array.to_pint"): ["pint"],
@@ -1721,6 +1728,12 @@
pass
return ret
+ def __setitem__(self, item, value):
+ if hasattr(value, "units"):
+ if value.units != self.units and value.units != NULL_UNIT:
+ value = value.to(self.units)
+ super().__setitem__(item, value)
+
def __pow__(self, p, mod=None, /):
"""
Power function, over-rides the ufunc as
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/unyt/tests/test_unyt_array.py new/unyt-2.9.5/unyt/tests/test_unyt_array.py
--- old/unyt-2.9.4/unyt/tests/test_unyt_array.py 2023-02-06 22:20:43.000000000 +0100
+++ new/unyt-2.9.5/unyt/tests/test_unyt_array.py 2023-02-23 23:23:22.000000000 +0100
@@ -2739,3 +2739,28 @@
a = 1 * cm
assert not (a == "hello")
assert a != "hello"
+
+
+def test_int8_comparison():
+ # see regression https://github.com/yt-project/unyt/issues/369
+ a = unyt_array(np.zeros(5, dtype=np.int8))
+ assert all(e == 0 for e in a)
+
+
+def test_setitem():
+ # see https://github.com/yt-project/unyt/issues/373
+ a = [1, 2, 3] * cm
+ a[1] = 2 * m
+ assert a[1].value == 200
+ assert a[1].units == cm
+
+ with pytest.raises(UnitConversionError):
+ a[1] = 2 * g
+
+ a[1] = 2
+ assert a[1].value == 2
+ assert a[1].units == cm
+
+ a[1] = unyt_quantity(2)
+ assert a[1].value == 2
+ assert a[1].units == cm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/unyt.egg-info/PKG-INFO new/unyt-2.9.5/unyt.egg-info/PKG-INFO
--- old/unyt-2.9.4/unyt.egg-info/PKG-INFO 2023-02-06 22:37:51.000000000 +0100
+++ new/unyt-2.9.5/unyt.egg-info/PKG-INFO 2023-02-23 23:25:31.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: unyt
-Version: 2.9.4
+Version: 2.9.5
Summary: A package for handling numpy arrays with units
Home-page: https://github.com/yt-project/unyt
Author: The yt project
@@ -127,12 +127,26 @@
History
=======
+2.9.5 (2023-02-22)
+------------------
+
+* Fix a regression where arrays elements with dtype ``'int8'`` would not compare to floats
+ as intended. See `PR #371 <https://github.com/yt-project/unyt/pull/371>`_. Thank you to
+ Cl��ment Robert (@neutrinoceros on GitHub) and Nathan Goldbaum (@ngoldbaum on GitHub) for
+ the contribution.
+
+* Raise an error in case an array element is assigned to a new value with incompatible
+ units. See `PR #375 <https://github.com/yt-project/unyt/pull/375>`_ and `PR #376
+ <https://github.com/yt-project/unyt/pull/376>`_. Thank you to Nathan Goldbaum
+ (@ngoldbaum on GitHub) for the contribution.
+
+
2.9.4 (2023-02-06)
------------------
* Make ``unyt_quantity.from_string`` parse ints.
See `PR #278 <https://github.com/yt-project/unyt/pull/278>`_.
- Thank you to Nahan Goldbaum (@ngoldbaum on GitHub) for the contribution.
+ Thank you to Nathan Goldbaum (@ngoldbaum on GitHub) for the contribution.
* TST: migrate from tox-pyenv to tox-gh-actions #344
See `PR #344 <https://github.com/yt-project/unyt/pull/344>`_.
Thank you to Cl��ment Robert (@neutrinoceros on GitHub) for the contribution.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/unyt-2.9.4/unyt.egg-info/SOURCES.txt new/unyt-2.9.5/unyt.egg-info/SOURCES.txt
--- old/unyt-2.9.4/unyt.egg-info/SOURCES.txt 2023-02-06 22:37:52.000000000 +0100
+++ new/unyt-2.9.5/unyt.egg-info/SOURCES.txt 2023-02-23 23:25:32.000000000 +0100
@@ -35,22 +35,6 @@
docs/requirements.txt
docs/unit_listing.rst
docs/usage.rst
-docs/_build/html/_images/mpl_fig1.png
-docs/_build/html/_images/mpl_fig2.png
-docs/_build/html/_images/mpl_fig3.png
-docs/_build/html/_images/mpl_fig4.png
-docs/_build/html/_images/mpl_fig5.png
-docs/_build/html/_static/file.png
-docs/_build/html/_static/minus.png
-docs/_build/html/_static/mpl_fig1.png
-docs/_build/html/_static/mpl_fig2.png
-docs/_build/html/_static/mpl_fig3.png
-docs/_build/html/_static/mpl_fig4.png
-docs/_build/html/_static/mpl_fig5.png
-docs/_build/html/_static/plus.png
-docs/_build/html/_static/yt_icon.png
-docs/_build/html/_static/yt_logo.png
-docs/_build/html/_static/yt_logo_small.png
docs/_static/mpl_fig1.png
docs/_static/mpl_fig2.png
docs/_static/mpl_fig3.png
@@ -60,18 +44,6 @@
docs/_static/yt_logo.png
docs/_static/yt_logo_small.png
docs/extensions/show_all_units.py
-docs/modules/unyt.array.rst
-docs/modules/unyt.dimensions.rst
-docs/modules/unyt.equivalencies.rst
-docs/modules/unyt.exceptions.rst
-docs/modules/unyt.mpl_interface.rst
-docs/modules/unyt.physical_constants.rst
-docs/modules/unyt.rst
-docs/modules/unyt.testing.rst
-docs/modules/unyt.unit_object.rst
-docs/modules/unyt.unit_registry.rst
-docs/modules/unyt.unit_symbols.rst
-docs/modules/unyt.unit_systems.rst
paper/apply.png
paper/benchmark_plot.py
paper/binary_different_units.png
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package okteto for openSUSE:Factory checked in at 2023-05-31 21:54:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/okteto (Old)
and /work/SRC/openSUSE:Factory/.okteto.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "okteto"
Wed May 31 21:54:44 2023 rev:51 rq:1089993 version:2.16.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/okteto/okteto.changes 2023-05-25 23:52:56.239752095 +0200
+++ /work/SRC/openSUSE:Factory/.okteto.new.1533/okteto.changes 2023-05-31 21:54:50.953130145 +0200
@@ -1,0 +2,19 @@
+Wed May 31 10:12:58 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 2.16.2:
+ * fix send on closed channel panic in isClean (#3677) (#3679)
+
+-------------------------------------------------------------------
+Tue May 30 13:49:38 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 2.16.1:
+ * Mask variables at destroy (#3667) (#3674)
+ * fix: performance issues on `git status` (#3648) (#3672)
+ * backport ffe503b9cb00f4f5a816b8e5b25109d4e8cdce35 to 2.16
+ (#3671)
+ * fix: vanilla up with compose (#3664) (#3665)
+ * fix(build): vanilla cluster should not reach out to okteto
+ registry (#3658) (#3662)
+ * fix: buil args expansion (#3657) (#3661)
+
+-------------------------------------------------------------------
Old:
----
okteto-2.16.0.obscpio
New:
----
okteto-2.16.2.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ okteto.spec ++++++
--- /var/tmp/diff_new_pack.6Mwhs1/_old 2023-05-31 21:54:51.809135205 +0200
+++ /var/tmp/diff_new_pack.6Mwhs1/_new 2023-05-31 21:54:51.817135252 +0200
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: okteto
-Version: 2.16.0
+Version: 2.16.2
Release: 0
Summary: Develop your applications directly in your Kubernetes Cluster
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.6Mwhs1/_old 2023-05-31 21:54:51.845135417 +0200
+++ /var/tmp/diff_new_pack.6Mwhs1/_new 2023-05-31 21:54:51.849135441 +0200
@@ -3,10 +3,10 @@
<param name="url">https://github.com/okteto/okteto</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">2.16.0</param>
+ <param name="revision">2.16.2</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
- <param name="match-tag">2.16.0</param>
+ <param name="match-tag">2.16.2</param>
</service>
<service name="set_version" mode="disabled">
<param name="basename">okteto</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.6Mwhs1/_old 2023-05-31 21:54:51.865135536 +0200
+++ /var/tmp/diff_new_pack.6Mwhs1/_new 2023-05-31 21:54:51.869135559 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/okteto/okteto</param>
- <param name="changesrevision">e4f000be9e52796d83d281ca14081041676b13a1</param></service></servicedata>
+ <param name="changesrevision">9333b3ea40903714cf80bb45346851151006ef61</param></service></servicedata>
(No newline at EOF)
++++++ okteto-2.16.0.obscpio -> okteto-2.16.2.obscpio ++++++
++++ 2078 lines of diff (skipped)
++++++ okteto.obsinfo ++++++
--- /var/tmp/diff_new_pack.6Mwhs1/_old 2023-05-31 21:54:52.205137545 +0200
+++ /var/tmp/diff_new_pack.6Mwhs1/_new 2023-05-31 21:54:52.209137569 +0200
@@ -1,5 +1,5 @@
name: okteto
-version: 2.16.0
-mtime: 1684500116
-commit: e4f000be9e52796d83d281ca14081041676b13a1
+version: 2.16.2
+mtime: 1685525389
+commit: 9333b3ea40903714cf80bb45346851151006ef61
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/okteto/vendor.tar.gz /work/SRC/openSUSE:Factory/.okteto.new.1533/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ansible for openSUSE:Factory checked in at 2023-05-31 21:54:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ansible (Old)
and /work/SRC/openSUSE:Factory/.ansible.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ansible"
Wed May 31 21:54:43 2023 rev:98 rq:1089940 version:8.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/ansible/ansible.changes 2023-05-26 20:15:42.160344630 +0200
+++ /work/SRC/openSUSE:Factory/.ansible.new.1533/ansible.changes 2023-05-31 21:54:49.745123005 +0200
@@ -1,0 +2,12 @@
+Wed May 31 05:24:49 UTC 2023 - Johannes Kastl <kastl(a)b1-systems.de>
+
+- update to 8.0.0
+ Ansible 8.0.0 includes ansible-core 2.15.0 as well as a curated
+ set of Ansible collections that provide a vast number of modules
+ and plugins.
+ Collections which have opted-in to being a part of the Ansible 8
+ unified changelog will have an entry on this page:
+ https://github.com/ansible-community/
+ ansible-build-data/blob/main/8/CHANGELOG-v8.rst
+
+-------------------------------------------------------------------
Old:
----
ansible-7.6.0.tar.gz
New:
----
ansible-8.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ansible.spec ++++++
--- /var/tmp/diff_new_pack.vGYmu7/_old 2023-05-31 21:54:50.605128088 +0200
+++ /var/tmp/diff_new_pack.vGYmu7/_new 2023-05-31 21:54:50.613128136 +0200
@@ -38,7 +38,7 @@
%endif
Name: ansible
-Version: 7.6.0
+Version: 8.0.0
Release: 0
Summary: Radically simple IT automation
License: GPL-3.0+
@@ -54,11 +54,11 @@
BuildRequires: dos2unix
# SECTION test requirements
-BuildRequires: ansible-core >= 2.14.6
+BuildRequires: ansible-core >= 2.15.0
# /SECTION
Requires: %{ansible_python}-base >= 3.9
-Requires: ansible-core >= 2.14.6
+Requires: ansible-core >= 2.15.0
# Do not check any files in collections for requires
%global __requires_exclude_from ^%{ansible_python_sitelib}/.*$
@@ -94,7 +94,7 @@
%fdupes %{buildroot}/%{ansible_python_sitelib}/ansible_collections/
%files
-%doc CHANGELOG-v7.rst README.rst
+%doc CHANGELOG-v8.rst README.rst
%license COPYING
%{_bindir}/ansible-community
%{ansible_python_sitelib}/
++++++ ansible-7.6.0.tar.gz -> ansible-8.0.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/ansible/ansible-7.6.0.tar.gz /work/SRC/openSUSE:Factory/.ansible.new.1533/ansible-8.0.0.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package k3s-selinux for openSUSE:Factory checked in at 2023-05-31 21:54:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/k3s-selinux (Old)
and /work/SRC/openSUSE:Factory/.k3s-selinux.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "k3s-selinux"
Wed May 31 21:54:42 2023 rev:4 rq:1089903 version:1.3.stable.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/k3s-selinux/k3s-selinux.changes 2022-09-12 19:08:58.134657871 +0200
+++ /work/SRC/openSUSE:Factory/.k3s-selinux.new.1533/k3s-selinux.changes 2023-05-31 21:54:46.341102886 +0200
@@ -1,0 +2,22 @@
+Wed May 31 04:47:53 UTC 2023 - Johannes Kastl <kastl(a)b1-systems.de>
+
+- update to 1.3.stable.1:
+ * Update container-selinux in el8 (#48)
+ * Update the container-selinux requirement (#46)
+ * Fix el9 policy to resolve the conflict with newer
+ container-selinux version (#45)
+ * Remove max container-selinux version check in el9 (#44)
+ * Fix docker image for centos9 and build requirements (#43)
+ * Add el9 (#42)
+ - Add cento9 policy and update container-selinux epoch version
+ - Add el9 to drone
+ * more fixes to the upload rpms (#40)
+ * fix coreos policy repo (#39)
+ * Fix upload rpms for coreos (#38)
+ * Fix policies to work with the container-selinux > 2.189.0 (#37)
+ - Add slemicro and fedora coreos policies
+ - Add maximum version requirement for centos8 policy
+ - fix microos policy to work with the new container-selinux
+ - Add drone support for slemicro and fedora coreos
+
+-------------------------------------------------------------------
Old:
----
k3s-selinux-1.2.stable.2.tar.gz
New:
----
k3s-selinux-1.3.stable.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ k3s-selinux.spec ++++++
--- /var/tmp/diff_new_pack.DeYQAS/_old 2023-05-31 21:54:47.153107686 +0200
+++ /var/tmp/diff_new_pack.DeYQAS/_new 2023-05-31 21:54:47.169107780 +0200
@@ -1,7 +1,7 @@
#
# spec file for package k3s-selinux
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -35,7 +35,7 @@
%define container_policyver 2.164.2-1.1
Name: k3s-selinux
-Version: 1.2.stable.2
+Version: 1.3.stable.1
Release: 0
Summary: SELinux policy module for k3s
++++++ _service ++++++
--- /var/tmp/diff_new_pack.DeYQAS/_old 2023-05-31 21:54:47.209108016 +0200
+++ /var/tmp/diff_new_pack.DeYQAS/_new 2023-05-31 21:54:47.213108040 +0200
@@ -3,14 +3,13 @@
<param name="url">https://github.com/k3s-io/k3s-selinux</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v1.2.stable.2</param>
+ <param name="revision">v1.3.stable.1</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="match-tag">*stable*</param>
</service>
<service name="set_version" mode="disabled">
- <param name="basename">k3s-selinux</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.DeYQAS/_old 2023-05-31 21:54:47.237108182 +0200
+++ /var/tmp/diff_new_pack.DeYQAS/_new 2023-05-31 21:54:47.241108206 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/k3s-io/k3s-selinux</param>
- <param name="changesrevision">d97be9f6fcf2c467f7e826bc2c8c58da1375bfde</param></service></servicedata>
+ <param name="changesrevision">e5083abd9e4bb32e7b7416b137bf078fd7cf145d</param></service></servicedata>
(No newline at EOF)
++++++ k3s-selinux-1.2.stable.2.tar.gz -> k3s-selinux-1.3.stable.1.tar.gz ++++++
++++ 1798 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package dynamips for openSUSE:Factory checked in at 2023-05-31 21:54:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dynamips (Old)
and /work/SRC/openSUSE:Factory/.dynamips.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dynamips"
Wed May 31 21:54:41 2023 rev:27 rq:1089946 version:0.2.23
Changes:
--------
--- /work/SRC/openSUSE:Factory/dynamips/dynamips.changes 2023-01-16 18:02:44.236096974 +0100
+++ /work/SRC/openSUSE:Factory/.dynamips.new.1533/dynamips.changes 2023-05-31 21:54:44.465091798 +0200
@@ -8,0 +9,7 @@
+Sun Jan 8 18:36:37 UTC 2023 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 0.2.23:
+ * Command line option to configure console binding for TCP/AUX console.
+ - Fallbacks to the hypervisor binding address if not set.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kyverno for openSUSE:Factory checked in at 2023-05-31 21:54:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kyverno (Old)
and /work/SRC/openSUSE:Factory/.kyverno.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kyverno"
Wed May 31 21:54:37 2023 rev:21 rq:1089909 version:1.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/kyverno/kyverno.changes 2023-05-29 22:48:29.506544566 +0200
+++ /work/SRC/openSUSE:Factory/.kyverno.new.1533/kyverno.changes 2023-05-31 21:54:39.305061300 +0200
@@ -1,0 +2,72 @@
+Tue May 30 14:04:50 UTC 2023 - Johannes Kastl <kastl(a)b1-systems.de>
+
+- BuildRequire go1.20
+- add completion subpackages for bash, zsh and fish shells
+
+-------------------------------------------------------------------
+Tue May 30 11:15:57 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 1.10.0:
+ Kyverno 1.10 is a huge release which brings breaking changes in
+ both the application and Helm chart. Please read these release
+ notes carefully!
+ * Major features:
+ - Split the main Kyverno Deployment into 3 separate
+ controllers/Deployments
+ - Intra-cluster Service calls
+ - Notary v2 support
+ - Major reworking of generate and "mutate existing" policies
+ * Breaking changes
+ - This release separates Kyverno into its 3 main components:
+ admission controller, reporting controller, and background
+ controller. As a result, there is no direct upgrade path from
+ previous versions. When deploying with Helm, we recommend
+ either backing up and restoring Kyverno policies (kubectl get
+ pol,cpol,cleanpol,ccleanpol,polex -A > backup.yaml) or
+ scaling the Kyverno deployment(s) to zero first. Policy
+ reports will be regenerated from existing resources when
+ policies are reinstalled. Regardless of the option, this
+ upgrade should be performed in a maintenance window as there
+ will be downtime involved.
+ - As a result of this decomposition, aggregated ClusterRoles
+ may need to be updated to use the new label values depending
+ on the controller which requires those permissions.
+ - Policies which matched on some types of subresources (such as
+ PodExecOptions) will need to be updated to use the
+ standardized form of <parent>/<subresource> (Pod/exec).
+ - The following fields in a generate rule are now immutable
+ once created: spec.rules.name, spec.rules.match,
+ spec.rules.exclude, spec.rules.preconditions,
+ spec.generate.apiVersion, spec.generate.kind,
+ spec.generate.namespace, spec.generate.name,
+ spec.generate.clone, and spec.generate.cloneList (#6328,
+ #6451)
+ - Variables in these portions of a generate rule will now be
+ disallowed: clone, cloneList, generate.kind, and
+ generate.apiVersion (#6438)
+ - Generate and "mutate existing" policies, once installed, will
+ check to see if Kyverno has the necessary permissions to
+ successfully execute them. If not, Kyverno will block their
+ creation until the permissions are available. This is added
+ to bring behavior in alignment with how cleanup policies work
+ and provide a better UX (#6610)
+ - Properly enforcing that "mutate existing" rules, when
+ mutateExistingOnPolicyUpdate is set to true, also has
+ mutate.targets[] defined or else the policy creation will be
+ blocked (#6693)
+ - When a verifyImages policy is created in Audit mode, its
+ creation will be rejected unless mutateDigest is set to false
+ (#6757)
+ - Mutation rules which change the image field in a Pod spec and
+ which relied on docker.io being silently added by Kyverno
+ (when it was not explicitly defined in the image) will need
+ to be adjusted to either use the images.*.registry predefined
+ variable or the new normalize_image() JMESPath filter. To
+ address other discovered issues with mutation, Kyverno can no
+ longer add the default registry to the context. It will only
+ be accessible to internal variables and JMESPath.
+ - The generate.apiVersion field is now required in a generate
+ rule. Policies/rules without this defined will need to set
+ it. (#7080)
+
+-------------------------------------------------------------------
Old:
----
kyverno-1.9.5.obscpio
New:
----
kyverno-1.10.0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kyverno.spec ++++++
--- /var/tmp/diff_new_pack.1faWGw/_old 2023-05-31 21:54:40.405067801 +0200
+++ /var/tmp/diff_new_pack.1faWGw/_new 2023-05-31 21:54:40.413067848 +0200
@@ -19,18 +19,49 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: kyverno
-Version: 1.9.5
+Version: 1.10.0
Release: 0
Summary: CLI and kubectl plugin for Kyverno
License: Apache-2.0
URL: https://github.com/kyverno/kyverno
Source: %{name}-%{version}.tar.gz
Source1: vendor.tar.gz
-BuildRequires: go >= 1.17
+BuildRequires: go >= 1.20
%description
Kyverno is a policy engine designed for Kubernetes. It can validate, mutate, and generate configurations using admission controls and background scans. Kyverno policies are Kubernetes resources and do not require learning a new language. Kyverno is designed to work nicely with tools you already use like kubectl, kustomize, and Git.
+%package -n %{name}-bash-completion
+Summary: Bash Completion for %{name}
+Group: System/Shells
+Requires: %{name} = %{version}
+Requires: bash-completion
+Supplements: (%{name} and bash-completion)
+BuildArch: noarch
+
+%description -n %{name}-bash-completion
+Bash command line completion support for %{name}.
+
+%package -n %{name}-fish-completion
+Summary: Fish Completion for %{name}
+Group: System/Shells
+Requires: %{name} = %{version}
+Supplements: (%{name} and fish)
+BuildArch: noarch
+
+%description -n %{name}-fish-completion
+Fish command line completion support for %{name}.
+
+%package -n %{name}-zsh-completion
+Summary: Zsh Completion for %{name}
+Group: System/Shells
+Requires: %{name} = %{version}
+Supplements: (%{name} and zsh)
+BuildArch: noarch
+
+%description -n %{name}-zsh-completion
+zsh command line completion support for %{name}.
+
%prep
%setup -q
%setup -q -T -D -a 1
@@ -50,10 +81,36 @@
cd %{buildroot}/%{_bindir}/
ln -s %{name} kubectl-%{name}
+# create the bash completion file
+mkdir -p %{buildroot}%{_datarootdir}/bash-completion/completions/
+%{buildroot}/%{_bindir}/%{name} completion bash > %{buildroot}%{_datarootdir}/bash-completion/completions/%{name}
+
+# create the fish completion file
+mkdir -p %{buildroot}%{_datarootdir}/fish/vendor_completions.d/
+%{buildroot}/%{_bindir}/%{name} completion fish > %{buildroot}%{_datarootdir}/fish/vendor_completions.d/%{name}.fish
+
+# create the zsh completion file
+mkdir -p %{buildroot}%{_datarootdir}/zsh_completion.d/
+%{buildroot}/%{_bindir}/%{name} completion zsh > %{buildroot}%{_datarootdir}/zsh_completion.d/_%{name}
+
%files
%doc README.md
%license LICENSE
%{_bindir}/%{name}
%{_bindir}/kubectl-%{name}
+%files -n %{name}-bash-completion
+%dir %{_datarootdir}/bash-completion/completions/
+%{_datarootdir}/bash-completion/completions/%{name}
+
+%files -n %{name}-fish-completion
+%dir %{_datarootdir}/fish
+%dir %{_datarootdir}/fish/vendor_completions.d
+%{_datarootdir}/fish/vendor_completions.d/%{name}.fish
+
+%files -n %{name}-zsh-completion
+%defattr(-,root,root)
+%dir %{_datarootdir}/zsh_completion.d/
+%{_datarootdir}/zsh_completion.d/_%{name}
+
%changelog
++++++ _service ++++++
--- /var/tmp/diff_new_pack.1faWGw/_old 2023-05-31 21:54:40.445068038 +0200
+++ /var/tmp/diff_new_pack.1faWGw/_new 2023-05-31 21:54:40.445068038 +0200
@@ -3,7 +3,7 @@
<param name="url">https://github.com/kyverno/kyverno</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">v1.9.5</param>
+ <param name="revision">v1.10.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.1faWGw/_old 2023-05-31 21:54:40.465068156 +0200
+++ /var/tmp/diff_new_pack.1faWGw/_new 2023-05-31 21:54:40.469068179 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/kyverno/kyverno</param>
- <param name="changesrevision">f4efee1daefacb4d391f48dfcb8f025478e4e332</param></service></servicedata>
+ <param name="changesrevision">da6f5c18132f773af15d0e09cbf2e16a36725232</param></service></servicedata>
(No newline at EOF)
++++++ kyverno-1.9.5.obscpio -> kyverno-1.10.0.obscpio ++++++
/work/SRC/openSUSE:Factory/kyverno/kyverno-1.9.5.obscpio /work/SRC/openSUSE:Factory/.kyverno.new.1533/kyverno-1.10.0.obscpio differ: char 50, line 1
++++++ kyverno.obsinfo ++++++
--- /var/tmp/diff_new_pack.1faWGw/_old 2023-05-31 21:54:40.513068440 +0200
+++ /var/tmp/diff_new_pack.1faWGw/_new 2023-05-31 21:54:40.517068463 +0200
@@ -1,5 +1,5 @@
name: kyverno
-version: 1.9.5
-mtime: 1685142287
-commit: f4efee1daefacb4d391f48dfcb8f025478e4e332
+version: 1.10.0
+mtime: 1685435054
+commit: da6f5c18132f773af15d0e09cbf2e16a36725232
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/kyverno/vendor.tar.gz /work/SRC/openSUSE:Factory/.kyverno.new.1533/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package nova for openSUSE:Factory checked in at 2023-05-31 21:54:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nova (Old)
and /work/SRC/openSUSE:Factory/.nova.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nova"
Wed May 31 21:54:34 2023 rev:19 rq:1089908 version:3.6.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/nova/nova.changes 2023-05-17 10:53:14.659383952 +0200
+++ /work/SRC/openSUSE:Factory/.nova.new.1533/nova.changes 2023-05-31 21:54:35.845040850 +0200
@@ -1,0 +2,7 @@
+Wed May 31 04:53:25 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 3.6.5:
+ * udpate dependencies and CI tools (#225)
+ * Bump alpine from 3.17 to 3.18 (#221)
+
+-------------------------------------------------------------------
Old:
----
nova-3.6.4.obscpio
New:
----
nova-3.6.5.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nova.spec ++++++
--- /var/tmp/diff_new_pack.Qi1EmU/_old 2023-05-31 21:54:36.737046121 +0200
+++ /var/tmp/diff_new_pack.Qi1EmU/_new 2023-05-31 21:54:36.741046145 +0200
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: nova
-Version: 3.6.4
+Version: 3.6.5
Release: 0
Summary: Find outdated or deprecated Helm charts running in your cluster
License: Apache-2.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.Qi1EmU/_old 2023-05-31 21:54:36.793046452 +0200
+++ /var/tmp/diff_new_pack.Qi1EmU/_new 2023-05-31 21:54:36.797046476 +0200
@@ -3,9 +3,10 @@
<param name="url">https://github.com/FairwindsOps/nova</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">3.6.4</param>
+ <param name="revision">v3.6.5</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
+ <param name="versionrewrite-pattern">v(.*)</param>
</service>
<service name="set_version" mode="disabled">
<param name="basename">nova</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Qi1EmU/_old 2023-05-31 21:54:36.817046594 +0200
+++ /var/tmp/diff_new_pack.Qi1EmU/_new 2023-05-31 21:54:36.821046618 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/FairwindsOps/nova</param>
- <param name="changesrevision">bf8782d4b0b15b3957e3d28995f83ad18f7c980c</param></service></servicedata>
+ <param name="changesrevision">fb1e55e0eeb5bd4e1c7a5d3cbc9ce6d3007781e1</param></service></servicedata>
(No newline at EOF)
++++++ nova-3.6.4.obscpio -> nova-3.6.5.obscpio ++++++
/work/SRC/openSUSE:Factory/nova/nova-3.6.4.obscpio /work/SRC/openSUSE:Factory/.nova.new.1533/nova-3.6.5.obscpio differ: char 49, line 1
++++++ nova.obsinfo ++++++
--- /var/tmp/diff_new_pack.Qi1EmU/_old 2023-05-31 21:54:36.857046831 +0200
+++ /var/tmp/diff_new_pack.Qi1EmU/_new 2023-05-31 21:54:36.861046854 +0200
@@ -1,5 +1,5 @@
name: nova
-version: 3.6.4
-mtime: 1684159733
-commit: bf8782d4b0b15b3957e3d28995f83ad18f7c980c
+version: 3.6.5
+mtime: 1685465630
+commit: fb1e55e0eeb5bd4e1c7a5d3cbc9ce6d3007781e1
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/nova/vendor.tar.gz /work/SRC/openSUSE:Factory/.nova.new.1533/vendor.tar.gz differ: char 5, line 1
1
0
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-05-31 21:54:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/terragrunt (Old)
and /work/SRC/openSUSE:Factory/.terragrunt.new.1533 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "terragrunt"
Wed May 31 21:54:32 2023 rev:49 rq:1089900 version:0.45.17
Changes:
--------
--- /work/SRC/openSUSE:Factory/terragrunt/terragrunt.changes 2023-05-25 23:52:42.155669412 +0200
+++ /work/SRC/openSUSE:Factory/.terragrunt.new.1533/terragrunt.changes 2023-05-31 21:54:33.289025742 +0200
@@ -1,0 +2,6 @@
+Wed May 31 04:45:56 UTC 2023 - kastl(a)b1-systems.de
+
+- Update to version 0.45.17:
+ * fix: checking dependent modules in `destroy` command (#2581)
+
+-------------------------------------------------------------------
Old:
----
terragrunt-0.45.16.obscpio
New:
----
terragrunt-0.45.17.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ terragrunt.spec ++++++
--- /var/tmp/diff_new_pack.TaWqSF/_old 2023-05-31 21:54:34.101030542 +0200
+++ /var/tmp/diff_new_pack.TaWqSF/_new 2023-05-31 21:54:34.105030565 +0200
@@ -19,7 +19,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: terragrunt
-Version: 0.45.16
+Version: 0.45.17
Release: 0
Summary: Thin wrapper for Terraform for working with multiple Terraform modules
License: MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.TaWqSF/_old 2023-05-31 21:54:34.137030754 +0200
+++ /var/tmp/diff_new_pack.TaWqSF/_new 2023-05-31 21:54:34.141030778 +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.45.16</param>
+ <param name="revision">v0.45.17</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
<param name="versionrewrite-pattern">v(.*)</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.TaWqSF/_old 2023-05-31 21:54:34.161030896 +0200
+++ /var/tmp/diff_new_pack.TaWqSF/_new 2023-05-31 21:54:34.165030920 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/gruntwork-io/terragrunt</param>
- <param name="changesrevision">e5b394060e8eb5009b99d15195e64688614a768f</param></service></servicedata>
+ <param name="changesrevision">9154ad0ff23e876c9e2bfe0ad7948e179c2bbdae</param></service></servicedata>
(No newline at EOF)
++++++ terragrunt-0.45.16.obscpio -> terragrunt-0.45.17.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/cli/cli_app.go new/terragrunt-0.45.17/cli/cli_app.go
--- old/terragrunt-0.45.16/cli/cli_app.go 2023-05-24 21:08:10.000000000 +0200
+++ new/terragrunt-0.45.17/cli/cli_app.go 2023-05-30 13:50:03.000000000 +0200
@@ -606,7 +606,7 @@
// Run graph dependencies prints the dependency graph to stdout
func runGraphDependencies(terragruntOptions *options.TerragruntOptions) error {
- stack, err := configstack.FindStackInSubfolders(terragruntOptions)
+ stack, err := configstack.FindStackInSubfolders(terragruntOptions, nil)
if err != nil {
return err
}
@@ -1186,7 +1186,7 @@
}
}
- stack, err := configstack.FindStackInSubfolders(terragruntOptions)
+ stack, err := configstack.FindStackInSubfolders(terragruntOptions, nil)
if err != nil {
return err
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/config/config.go new/terragrunt-0.45.17/config/config.go
--- old/terragrunt-0.45.16/config/config.go 2023-05-24 21:08:10.000000000 +0200
+++ new/terragrunt-0.45.17/config/config.go 2023-05-30 13:50:03.000000000 +0200
@@ -80,7 +80,7 @@
IsPartial bool
// Map of processed includes
- ProcessedIncludes map[string]IncludeConfig
+ ProcessedIncludes IncludeConfigs
// Map to store fields metadata
FieldsMetadata map[string]map[string]interface{}
@@ -241,6 +241,19 @@
Disable *bool `hcl:"disable,attr" mapstructure:"disable"`
}
+type IncludeConfigs map[string]IncludeConfig
+
+// ContainsPath returns true if the given path is contained in at least one configuration.
+func (cfgs IncludeConfigs) ContainsPath(path string) bool {
+ for _, cfg := range cfgs {
+ if cfg.Path == path {
+ return true
+ }
+ }
+
+ return false
+}
+
// IncludeConfig represents the configuration settings for a parent Terragrunt configuration file that you can
// include into a child Terragrunt configuration file. You can have more than one include config.
type IncludeConfig struct {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/config/config_helpers.go new/terragrunt-0.45.17/config/config_helpers.go
--- old/terragrunt-0.45.16/config/config_helpers.go 2023-05-24 21:08:10.000000000 +0200
+++ new/terragrunt-0.45.17/config/config_helpers.go 2023-05-30 13:50:03.000000000 +0200
@@ -444,14 +444,15 @@
return ".", nil
}
- includePath := filepath.Dir(included.Path)
currentPath := filepath.Dir(terragruntOptions.TerragruntConfigPath)
+ includePath := filepath.Dir(included.Path)
if !filepath.IsAbs(includePath) {
includePath = util.JoinPath(currentPath, includePath)
}
- return util.GetPathRelativeTo(currentPath, includePath)
+ relativePath, err := util.GetPathRelativeTo(currentPath, includePath)
+ return relativePath, err
}
// Return the relative path from the current Terragrunt configuration to the included Terragrunt configuration file
@@ -561,7 +562,7 @@
return cty.NilVal, errors.WithStackTrace(WrongNumberOfParams{Func: "read_terragrunt_config", Expected: "1 or 2", Actual: numParams})
}
- configPath, err := ctySliceToStringSlice(args[:1])
+ strArgs, err := ctySliceToStringSlice(args[:1])
if err != nil {
return cty.NilVal, err
}
@@ -570,7 +571,11 @@
if numParams == 2 {
defaultVal = &args[1]
}
- return readTerragruntConfig(configPath[0], defaultVal, terragruntOptions)
+
+ targetConfigPath := strArgs[0]
+
+ relativePath, err := readTerragruntConfig(targetConfigPath, defaultVal, terragruntOptions)
+ return relativePath, err
},
})
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/config/config_partial.go new/terragrunt-0.45.17/config/config_partial.go
--- old/terragrunt-0.45.16/config/config_partial.go 2023-05-24 21:08:10.000000000 +0200
+++ new/terragrunt-0.45.17/config/config_partial.go 2023-05-30 13:50:03.000000000 +0200
@@ -193,13 +193,14 @@
// PartialParseConfigString partially parses and decodes the provided string. Which blocks/attributes to decode is
// controlled by the function parameter decodeList. These blocks/attributes are parsed and set on the output
// TerragruntConfig. Valid values are:
-// - DependenciesBlock: Parses the `dependencies` block in the config
-// - DependencyBlock: Parses the `dependency` block in the config
-// - TerraformBlock: Parses the `terraform` block in the config
-// - TerragruntFlags: Parses the boolean flags `prevent_destroy` and `skip` in the config
-// - TerragruntVersionConstraints: Parses the attributes related to constraining terragrunt and terraform versions in
-// the config.
-// - RemoteStateBlock: Parses the `remote_state` block in the config
+// - DependenciesBlock: Parses the `dependencies` block in the config
+// - DependencyBlock: Parses the `dependency` block in the config
+// - TerraformBlock: Parses the `terraform` block in the config
+// - TerragruntFlags: Parses the boolean flags `prevent_destroy` and `skip` in the config
+// - TerragruntVersionConstraints: Parses the attributes related to constraining terragrunt and terraform versions in
+// the config.
+// - RemoteStateBlock: Parses the `remote_state` block in the config
+//
// Note that the following blocks are always decoded:
// - locals
// - include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/configstack/module.go new/terragrunt-0.45.17/configstack/module.go
--- old/terragrunt-0.45.16/configstack/module.go 2023-05-24 21:08:10.000000000 +0200
+++ new/terragrunt-0.45.17/configstack/module.go 2023-05-30 13:50:03.000000000 +0200
@@ -43,18 +43,18 @@
// 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, howThesePathsWereFound string) ([]*TerraformModule, error) {
+func ResolveTerraformModules(terragruntConfigPaths []string, terragruntOptions *options.TerragruntOptions, childTerragruntConfig *config.TerragruntConfig, howThesePathsWereFound string) ([]*TerraformModule, error) {
canonicalTerragruntConfigPaths, err := util.CanonicalPaths(terragruntConfigPaths, ".")
if err != nil {
return []*TerraformModule{}, err
}
- modules, err := resolveModules(canonicalTerragruntConfigPaths, terragruntOptions, howThesePathsWereFound)
+ modules, err := resolveModules(canonicalTerragruntConfigPaths, terragruntOptions, childTerragruntConfig, howThesePathsWereFound)
if err != nil {
return []*TerraformModule{}, err
}
- externalDependencies, err := resolveExternalDependenciesForModules(modules, map[string]*TerraformModule{}, 0, terragruntOptions)
+ externalDependencies, err := resolveExternalDependenciesForModules(modules, map[string]*TerraformModule{}, 0, terragruntOptions, childTerragruntConfig)
if err != nil {
return []*TerraformModule{}, err
}
@@ -82,7 +82,7 @@
return finalModules, nil
}
-//flagExcludedDirs iterates over a module slice and flags all entries as excluded, which should be ignored via the terragrunt-exclude-dir CLI flag.
+// flagExcludedDirs iterates over a module slice and flags all entries as excluded, which should be ignored via the terragrunt-exclude-dir CLI flag.
func flagExcludedDirs(modules []*TerraformModule, terragruntOptions *options.TerragruntOptions) ([]*TerraformModule, error) {
// If no ExcludeDirs is specified return the modules list instantly
@@ -144,7 +144,7 @@
return modules, nil
}
-//flagIncludedDirs iterates over a module slice and flags all entries not in the list specified via the terragrunt-include-dir CLI flag as excluded.
+// flagIncludedDirs iterates over a module slice and flags all entries not in the list specified via the terragrunt-include-dir CLI flag as excluded.
func flagIncludedDirs(modules []*TerraformModule, terragruntOptions *options.TerragruntOptions) ([]*TerraformModule, error) {
// If no IncludeDirs is specified return the modules list instantly
@@ -292,11 +292,11 @@
// Go through each of the given Terragrunt configuration files and resolve the module that configuration file represents
// into a TerraformModule struct. Note that this method will NOT fill in the Dependencies field of the TerraformModule
// struct (see the crosslinkDependencies method for that). Return a map from module path to TerraformModule struct.
-func resolveModules(canonicalTerragruntConfigPaths []string, terragruntOptions *options.TerragruntOptions, howTheseModulesWereFound string) (map[string]*TerraformModule, error) {
+func resolveModules(canonicalTerragruntConfigPaths []string, terragruntOptions *options.TerragruntOptions, childTerragruntConfig *config.TerragruntConfig, howTheseModulesWereFound string) (map[string]*TerraformModule, error) {
moduleMap := map[string]*TerraformModule{}
for _, terragruntConfigPath := range canonicalTerragruntConfigPaths {
- module, err := resolveTerraformModule(terragruntConfigPath, terragruntOptions, howTheseModulesWereFound)
+ module, err := resolveTerraformModule(terragruntConfigPath, terragruntOptions, childTerragruntConfig, howTheseModulesWereFound)
if err != nil {
return moduleMap, err
}
@@ -311,7 +311,7 @@
// Create a TerraformModule struct for the Terraform module specified by the given Terragrunt configuration file path.
// Note that this method will NOT fill in the Dependencies field of the TerraformModule struct (see the
// crosslinkDependencies method for that).
-func resolveTerraformModule(terragruntConfigPath string, terragruntOptions *options.TerragruntOptions, howThisModuleWasFound string) (*TerraformModule, error) {
+func resolveTerraformModule(terragruntConfigPath string, terragruntOptions *options.TerragruntOptions, childTerragruntConfig *config.TerragruntConfig, howThisModuleWasFound string) (*TerraformModule, error) {
modulePath, err := util.CanonicalPath(filepath.Dir(terragruntConfigPath), ".")
if err != nil {
return nil, err
@@ -325,13 +325,22 @@
// from, which is not what any of the modules will want.
opts.OriginalTerragruntConfigPath = terragruntConfigPath
+ // If `childTerragruntConfig.ProcessedIncludes` contains the path `terragruntConfigPath`, then this is a parent config
+ // which implies that `TerragruntConfigPath` must refer to a child configuration file, and the defined `IncludeConfig` must contain the path to the file itself
+ // for the built-in functions `read-terragrunt-config()`, `path_relative_to_include()` to work correctly.
+ var includeConfig *config.IncludeConfig
+ if childTerragruntConfig != nil && childTerragruntConfig.ProcessedIncludes.ContainsPath(terragruntConfigPath) {
+ includeConfig = &config.IncludeConfig{Path: terragruntConfigPath}
+ opts.TerragruntConfigPath = terragruntOptions.OriginalTerragruntConfigPath
+ }
+
// We only partially parse the config, only using the pieces that we need in this section. This config will be fully
// parsed at a later stage right before the action is run. This is to delay interpolation of functions until right
// before we call out to terraform.
terragruntConfig, err := config.PartialParseConfigFile(
terragruntConfigPath,
opts,
- nil,
+ includeConfig,
[]config.PartialDecodeSectionType{
// Need for initializing the modules
config.TerraformSource,
@@ -390,7 +399,7 @@
// environment the user is trying to apply-all or destroy-all. Therefore, this method also confirms whether the user wants
// to actually apply those dependencies or just assume they are already applied. Note that this method will NOT fill in
// the Dependencies field of the TerraformModule struct (see the crosslinkDependencies method for that).
-func resolveExternalDependenciesForModules(moduleMap map[string]*TerraformModule, modulesAlreadyProcessed map[string]*TerraformModule, recursionLevel int, terragruntOptions *options.TerragruntOptions) (map[string]*TerraformModule, error) {
+func resolveExternalDependenciesForModules(moduleMap map[string]*TerraformModule, modulesAlreadyProcessed map[string]*TerraformModule, recursionLevel int, terragruntOptions *options.TerragruntOptions, childTerragruntConfig *config.TerragruntConfig) (map[string]*TerraformModule, error) {
allExternalDependencies := map[string]*TerraformModule{}
modulesToSkip := mergeMaps(moduleMap, modulesAlreadyProcessed)
@@ -402,7 +411,7 @@
sortedKeys := getSortedKeys(moduleMap)
for _, key := range sortedKeys {
module := moduleMap[key]
- externalDependencies, err := resolveExternalDependenciesForModule(module, modulesToSkip, terragruntOptions)
+ externalDependencies, err := resolveExternalDependenciesForModule(module, modulesToSkip, terragruntOptions, childTerragruntConfig)
if err != nil {
return externalDependencies, err
}
@@ -426,7 +435,7 @@
}
if len(allExternalDependencies) > 0 {
- recursiveDependencies, err := resolveExternalDependenciesForModules(allExternalDependencies, moduleMap, recursionLevel+1, terragruntOptions)
+ recursiveDependencies, err := resolveExternalDependenciesForModules(allExternalDependencies, moduleMap, recursionLevel+1, terragruntOptions, childTerragruntConfig)
if err != nil {
return allExternalDependencies, err
}
@@ -441,7 +450,7 @@
// dependencies are outside of the current working directory, which means they may not be part of the environment the
// user is trying to apply-all or destroy-all. Note that this method will NOT fill in the Dependencies field of the
// TerraformModule struct (see the crosslinkDependencies method for that).
-func resolveExternalDependenciesForModule(module *TerraformModule, moduleMap map[string]*TerraformModule, terragruntOptions *options.TerragruntOptions) (map[string]*TerraformModule, error) {
+func resolveExternalDependenciesForModule(module *TerraformModule, moduleMap map[string]*TerraformModule, terragruntOptions *options.TerragruntOptions, chilTerragruntConfig *config.TerragruntConfig) (map[string]*TerraformModule, error) {
if module.Config.Dependencies == nil || len(module.Config.Dependencies.Paths) == 0 {
return map[string]*TerraformModule{}, nil
}
@@ -460,7 +469,7 @@
}
howThesePathsWereFound := fmt.Sprintf("dependency of module at '%s'", module.Path)
- return resolveModules(externalTerragruntConfigPaths, terragruntOptions, howThesePathsWereFound)
+ return resolveModules(externalTerragruntConfigPaths, terragruntOptions, chilTerragruntConfig, howThesePathsWereFound)
}
// Confirm with the user whether they want Terragrunt to assume the given dependency of the given module is already
@@ -574,7 +583,7 @@
func FindWhereWorkingDirIsIncluded(terragruntOptions *options.TerragruntOptions, terragruntConfig *config.TerragruntConfig) []*TerraformModule {
var pathsToCheck []string
var matchedModulesMap = make(map[string]*TerraformModule)
- var gitTopLevelDir = ""
+
gitTopLevelDir, err := shell.GitTopLevelDir(terragruntOptions, terragruntOptions.WorkingDir)
if err == nil { // top level detection worked
pathsToCheck = append(pathsToCheck, gitTopLevelDir)
@@ -587,6 +596,7 @@
pathsToCheck = append(pathsToCheck, path)
}
}
+
for _, dir := range pathsToCheck { // iterate over detected paths, build stacks and filter modules by working dir
dir = dir + filepath.FromSlash("/")
cfgOptions, err := options.NewTerragruntOptions(dir)
@@ -594,13 +604,17 @@
terragruntOptions.Logger.Debugf("Failed to build terragrunt options from %s %v", dir, err)
return nil
}
+
cfgOptions.Env = terragruntOptions.Env
cfgOptions.LogLevel = terragruntOptions.LogLevel
+ cfgOptions.OriginalTerragruntConfigPath = terragruntOptions.OriginalTerragruntConfigPath
+
if terragruntOptions.TerraformCommand == "destroy" {
var hook = NewForceLogLevelHook(logrus.DebugLevel)
cfgOptions.Logger.Logger.AddHook(hook)
}
- stack, err := FindStackInSubfolders(cfgOptions)
+
+ stack, err := FindStackInSubfolders(cfgOptions, terragruntConfig)
if err != nil {
// loggign error as debug since in some cases stack building may fail because parent files can be designed
// to work with relative paths from downstream modules
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/configstack/module_test.go new/terragrunt-0.45.17/configstack/module_test.go
--- old/terragrunt-0.45.16/configstack/module_test.go 2023-05-24 21:08:10.000000000 +0200
+++ new/terragrunt-0.45.17/configstack/module_test.go 2023-05-30 13:50:03.000000000 +0200
@@ -3,6 +3,7 @@
import (
"bytes"
"os"
+ "path/filepath"
"strings"
"testing"
@@ -23,7 +24,7 @@
configPaths := []string{}
expected := []*TerraformModule{}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -41,7 +42,7 @@
configPaths := []string{"../test/fixture-modules/module-a/" + config.DefaultTerragruntConfigPath}
expected := []*TerraformModule{moduleA}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -59,7 +60,7 @@
configPaths := []string{"../test/fixture-modules/json-module-a/" + config.DefaultTerragruntJsonConfigPath}
expected := []*TerraformModule{moduleA}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -83,7 +84,81 @@
configPaths := []string{"../test/fixture-modules/module-b/module-b-child/" + config.DefaultTerragruntConfigPath}
expected := []*TerraformModule{moduleB}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
+ assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
+ assertModuleListsEqual(t, expected, actualModules)
+}
+
+func TestResolveTerraformModulesReadConfigFromParentConfig(t *testing.T) {
+ t.Parallel()
+
+ childDir := "../test/fixture-modules/module-m/module-m-child"
+ childConfigPath := filepath.Join(childDir, config.DefaultTerragruntConfigPath)
+
+ parentDir := "../test/fixture-modules/module-m"
+ parentCofnigPath := filepath.Join(parentDir, config.DefaultTerragruntConfigPath)
+
+ localsConfigPaths := map[string]string{
+ "env_vars": "../test/fixture-modules/module-m/env.hcl",
+ "tier_vars": "../test/fixture-modules/module-m/module-m-child/tier.hcl",
+ }
+
+ localsConfigs := make(map[string]interface{})
+
+ for name, configPath := range localsConfigPaths {
+ opts, err := options.NewTerragruntOptions(configPath)
+ assert.Nil(t, err)
+
+ cfg, err := config.PartialParseConfigFile(configPath, opts, nil, nil)
+ assert.Nil(t, err)
+
+ localsConfigs[name] = map[string]interface{}{
+ "dependencies": interface{}(nil),
+ "download_dir": "",
+ "generate": map[string]interface{}{},
+ "iam_assume_role_duration": interface{}(nil),
+ "iam_assume_role_session_name": "",
+ "iam_role": "",
+ "inputs": interface{}(nil),
+ "locals": cfg.Locals,
+ "retry_max_attempts": interface{}(nil),
+ "retry_sleep_interval_sec": interface{}(nil),
+ "retryable_errors": interface{}(nil),
+ "skip": false,
+ "terraform_binary": "",
+ "terraform_version_constraint": "",
+ "terragrunt_version_constraint": "",
+ }
+ }
+
+ moduleM := &TerraformModule{
+ Path: canonical(t, childDir),
+ Dependencies: []*TerraformModule{},
+ Config: config.TerragruntConfig{
+ Terraform: &config.TerraformConfig{Source: ptr("...")},
+ IsPartial: true,
+ ProcessedIncludes: map[string]config.IncludeConfig{
+ "": {Path: canonical(t, "../test/fixture-modules/module-m/terragrunt.hcl")},
+ },
+ Locals: localsConfigs,
+ },
+ TerragruntOptions: mockOptions.Clone(canonical(t, childConfigPath)),
+ }
+
+ configPaths := []string{childConfigPath}
+ childTerragruntConfig := &config.TerragruntConfig{
+ ProcessedIncludes: map[string]config.IncludeConfig{
+ "": {
+ Path: parentCofnigPath,
+ },
+ },
+ }
+ expected := []*TerraformModule{moduleM}
+
+ mockOptions, _ := options.NewTerragruntOptionsForTest("running_module_test")
+ mockOptions.OriginalTerragruntConfigPath = childConfigPath
+
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, childTerragruntConfig, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -107,7 +182,7 @@
configPaths := []string{"../test/fixture-modules/json-module-b/module-b-child/" + config.DefaultTerragruntJsonConfigPath}
expected := []*TerraformModule{moduleB}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -131,7 +206,7 @@
configPaths := []string{"../test/fixture-modules/hcl-module-b/module-b-child/" + config.DefaultTerragruntConfigPath}
expected := []*TerraformModule{moduleB}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -163,7 +238,7 @@
configPaths := []string{"../test/fixture-modules/module-a/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-c/" + config.DefaultTerragruntConfigPath}
expected := []*TerraformModule{moduleA, moduleC}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -195,7 +270,7 @@
configPaths := []string{"../test/fixture-modules/module-a/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/json-module-c/" + config.DefaultTerragruntJsonConfigPath}
expected := []*TerraformModule{moduleA, moduleC}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -227,7 +302,7 @@
configPaths := []string{"../test/fixture-modules/json-module-a/" + config.DefaultTerragruntJsonConfigPath, "../test/fixture-modules/hcl-module-c/" + config.DefaultTerragruntConfigPath}
expected := []*TerraformModule{moduleA, moduleC}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -261,7 +336,7 @@
configPaths := []string{"../test/fixture-modules/module-a/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-c/" + config.DefaultTerragruntConfigPath}
- actualModules, actualErr := ResolveTerraformModules(configPaths, opts, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, opts, nil, mockHowThesePathsWereFound)
// construct the expected list
moduleA.FlagExcluded = true
@@ -311,7 +386,7 @@
configPaths := []string{"../test/fixture-modules/module-a/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-c/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-abba/" + config.DefaultTerragruntConfigPath}
- actualModules, actualErr := ResolveTerraformModules(configPaths, opts, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, opts, nil, mockHowThesePathsWereFound)
// construct the expected list
moduleA.FlagExcluded = true
@@ -361,7 +436,7 @@
configPaths := []string{"../test/fixture-modules/module-a/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-c/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-abba/" + config.DefaultTerragruntConfigPath}
- actualModules, actualErr := ResolveTerraformModules(configPaths, opts, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, opts, nil, mockHowThesePathsWereFound)
// construct the expected list
moduleA.FlagExcluded = true
@@ -401,7 +476,7 @@
configPaths := []string{"../test/fixture-modules/module-a/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-c/" + config.DefaultTerragruntConfigPath}
- actualModules, actualErr := ResolveTerraformModules(configPaths, opts, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, opts, nil, mockHowThesePathsWereFound)
// construct the expected list
moduleC.FlagExcluded = true
@@ -440,7 +515,7 @@
configPaths := []string{"../test/fixture-modules/module-a/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-c/" + config.DefaultTerragruntConfigPath}
- actualModules, actualErr := ResolveTerraformModules(configPaths, opts, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, opts, nil, mockHowThesePathsWereFound)
// construct the expected list
moduleA.FlagExcluded = false
@@ -479,7 +554,7 @@
configPaths := []string{"../test/fixture-modules/module-a/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-c/" + config.DefaultTerragruntConfigPath}
- actualModules, actualErr := ResolveTerraformModules(configPaths, opts, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, opts, nil, mockHowThesePathsWereFound)
// construct the expected list
moduleC.FlagExcluded = true
@@ -527,7 +602,7 @@
configPaths := []string{"../test/fixture-modules/module-a/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-c/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-f/" + config.DefaultTerragruntConfigPath}
- actualModules, actualErr := ResolveTerraformModules(configPaths, opts, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, opts, nil, mockHowThesePathsWereFound)
// construct the expected list
moduleF.FlagExcluded = true
@@ -584,7 +659,7 @@
configPaths := []string{"../test/fixture-modules/module-a/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-b/module-b-child/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-c/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-d/" + config.DefaultTerragruntConfigPath}
expected := []*TerraformModule{moduleA, moduleB, moduleC, moduleD}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -636,7 +711,7 @@
configPaths := []string{"../test/fixture-modules/module-a/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/json-module-b/module-b-child/" + config.DefaultTerragruntJsonConfigPath, "../test/fixture-modules/module-c/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/json-module-d/" + config.DefaultTerragruntJsonConfigPath}
expected := []*TerraformModule{moduleA, moduleB, moduleC, moduleD}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -681,7 +756,7 @@
configPaths := []string{"../test/fixture-modules/module-a/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-b/module-b-child/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-e/module-e-child/" + config.DefaultTerragruntConfigPath}
expected := []*TerraformModule{moduleA, moduleB, moduleE}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -711,7 +786,7 @@
configPaths := []string{"../test/fixture-modules/module-g/" + config.DefaultTerragruntConfigPath}
expected := []*TerraformModule{moduleF, moduleG}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -763,7 +838,7 @@
configPaths := []string{"../test/fixture-modules/module-j/" + config.DefaultTerragruntConfigPath, "../test/fixture-modules/module-k/" + config.DefaultTerragruntConfigPath}
expected := []*TerraformModule{moduleH, moduleI, moduleJ, moduleK}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
require.NoError(t, actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
@@ -773,7 +848,7 @@
configPaths := []string{"../test/fixture-modules/module-missing-dependency/" + config.DefaultTerragruntConfigPath}
- _, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ _, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
require.Error(t, actualErr)
underlying, ok := errors.Unwrap(actualErr).(ErrorProcessingModule)
@@ -789,7 +864,7 @@
configPaths := []string{"../test/fixture-modules/module-l/" + config.DefaultTerragruntConfigPath}
expected := []*TerraformModule{}
- actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, mockHowThesePathsWereFound)
+ actualModules, actualErr := ResolveTerraformModules(configPaths, mockOptions, nil, mockHowThesePathsWereFound)
assert.Nil(t, actualErr, "Unexpected error: %v", actualErr)
assertModuleListsEqual(t, expected, actualModules)
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/configstack/stack.go new/terragrunt-0.45.17/configstack/stack.go
--- old/terragrunt-0.45.16/configstack/stack.go 2023-05-24 21:08:10.000000000 +0200
+++ new/terragrunt-0.45.17/configstack/stack.go 2023-05-30 13:50:03.000000000 +0200
@@ -139,14 +139,14 @@
// Find all the Terraform modules in the subfolders of the working directory of the given TerragruntOptions and
// assemble them into a Stack object that can be applied or destroyed in a single command
-func FindStackInSubfolders(terragruntOptions *options.TerragruntOptions) (*Stack, error) {
+func FindStackInSubfolders(terragruntOptions *options.TerragruntOptions, childTerragruntConfig *config.TerragruntConfig) (*Stack, error) {
terragruntConfigFiles, err := config.FindConfigFilesInPath(terragruntOptions.WorkingDir, terragruntOptions)
if err != nil {
return nil, err
}
howThesePathsWereFound := fmt.Sprintf("Terragrunt config file found in a subdirectory of %s", terragruntOptions.WorkingDir)
- return createStackForTerragruntConfigPaths(terragruntOptions.WorkingDir, terragruntConfigFiles, terragruntOptions, howThesePathsWereFound)
+ return createStackForTerragruntConfigPaths(terragruntOptions.WorkingDir, terragruntConfigFiles, terragruntOptions, childTerragruntConfig, howThesePathsWereFound)
}
// Sync the TerraformCliArgs for each module in the stack to match the provided terragruntOptions struct.
@@ -233,12 +233,12 @@
// Find all the Terraform modules in the folders that contain the given Terragrunt config files and assemble those
// modules into a Stack object that can be applied or destroyed in a single command
-func createStackForTerragruntConfigPaths(path string, terragruntConfigPaths []string, terragruntOptions *options.TerragruntOptions, howThesePathsWereFound string) (*Stack, error) {
+func createStackForTerragruntConfigPaths(path string, terragruntConfigPaths []string, terragruntOptions *options.TerragruntOptions, childTerragruntConfig *config.TerragruntConfig, howThesePathsWereFound string) (*Stack, error) {
if len(terragruntConfigPaths) == 0 {
return nil, errors.WithStackTrace(NoTerraformModulesFound)
}
- modules, err := ResolveTerraformModules(terragruntConfigPaths, terragruntOptions, howThesePathsWereFound)
+ modules, err := ResolveTerraformModules(terragruntConfigPaths, terragruntOptions, childTerragruntConfig, howThesePathsWereFound)
if err != nil {
return nil, err
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/configstack/stack_test.go new/terragrunt-0.45.17/configstack/stack_test.go
--- old/terragrunt-0.45.16/configstack/stack_test.go 2023-05-24 21:08:10.000000000 +0200
+++ new/terragrunt-0.45.17/configstack/stack_test.go 2023-05-30 13:50:03.000000000 +0200
@@ -36,7 +36,7 @@
terragruntOptions.WorkingDir = envFolder
- stack, err := FindStackInSubfolders(terragruntOptions)
+ stack, err := FindStackInSubfolders(terragruntOptions, nil)
require.NoError(t, err)
var modulePaths []string
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/base/terragrunt.hcl new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/base/terragrunt.hcl
--- old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/base/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/base/terragrunt.hcl 2023-05-30 13:50:03.000000000 +0200
@@ -0,0 +1,7 @@
+terraform {
+ source = "../../../modules//base"
+}
+
+include {
+ path = find_in_parent_folders()
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/base/tier.hcl new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/base/tier.hcl
--- old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/base/tier.hcl 1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/base/tier.hcl 2023-05-30 13:50:03.000000000 +0200
@@ -0,0 +1,3 @@
+locals {
+ tier = "base"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/cluster/terragrunt.hcl new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/cluster/terragrunt.hcl
--- old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/cluster/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/cluster/terragrunt.hcl 2023-05-30 13:50:03.000000000 +0200
@@ -0,0 +1,15 @@
+terraform {
+ source = "../../../modules//cluster"
+}
+
+include {
+ path = find_in_parent_folders()
+}
+
+dependency "base" {
+ config_path = "../base"
+}
+
+inputs = {
+ some_input = dependency.base.outputs.some_output
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/cluster/tier.hcl new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/cluster/tier.hcl
--- old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/cluster/tier.hcl 1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/cluster/tier.hcl 2023-05-30 13:50:03.000000000 +0200
@@ -0,0 +1,3 @@
+locals {
+ tier = "cluster"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/env.hcl new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/env.hcl
--- old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/env.hcl 1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/dev/env.hcl 2023-05-30 13:50:03.000000000 +0200
@@ -0,0 +1,3 @@
+locals {
+ environment = "dev"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/org.hcl new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/org.hcl
--- old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/org.hcl 1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/org.hcl 2023-05-30 13:50:03.000000000 +0200
@@ -0,0 +1,3 @@
+locals {
+ organization_unit = "test"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/terragrunt.hcl new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/terragrunt.hcl
--- old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/lives/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/lives/terragrunt.hcl 2023-05-30 13:50:03.000000000 +0200
@@ -0,0 +1,27 @@
+locals {
+ org_vars = read_terragrunt_config("${get_parent_terragrunt_dir()}/org.hcl")
+ env_vars = read_terragrunt_config("${get_parent_terragrunt_dir()}/dev/env.hcl")
+ tier_vars = read_terragrunt_config("tier.hcl")
+
+ organization_unit = local.org_vars.locals.organization_unit
+ environment = local.env_vars.locals.environment
+ tier = local.tier_vars.locals.tier
+}
+
+generate "provider" {
+ path = "terraform.tf"
+ if_exists = "overwrite_terragrunt"
+ contents = <<-EOF
+ terraform {
+ backend "local" {
+ path = "${local.environment}-${local.tier}.state"
+ }
+ }
+ EOF
+}
+
+inputs = merge(
+ local.org_vars.locals,
+ local.env_vars.locals,
+ local.tier_vars.locals,
+ )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/modules/base/main.tf new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/modules/base/main.tf
--- old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/modules/base/main.tf 1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/modules/base/main.tf 2023-05-30 13:50:03.000000000 +0200
@@ -0,0 +1,3 @@
+output "some_output" {
+ value = "something"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/modules/cluster/main.tf new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/modules/cluster/main.tf
--- old/terragrunt-0.45.16/test/fixture-get-path/fixture-path_relative_from_include/modules/cluster/main.tf 1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.45.17/test/fixture-get-path/fixture-path_relative_from_include/modules/cluster/main.tf 2023-05-30 13:50:03.000000000 +0200
@@ -0,0 +1,5 @@
+variable "some_input" {}
+
+output "some_output" {
+ value = "${var.some_input} else"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/fixture-modules/module-m/env.hcl new/terragrunt-0.45.17/test/fixture-modules/module-m/env.hcl
--- old/terragrunt-0.45.16/test/fixture-modules/module-m/env.hcl 1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.45.17/test/fixture-modules/module-m/env.hcl 2023-05-30 13:50:03.000000000 +0200
@@ -0,0 +1,3 @@
+locals {
+ environment = "dev"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/fixture-modules/module-m/module-m-child/terragrunt.hcl new/terragrunt-0.45.17/test/fixture-modules/module-m/module-m-child/terragrunt.hcl
--- old/terragrunt-0.45.16/test/fixture-modules/module-m/module-m-child/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.45.17/test/fixture-modules/module-m/module-m-child/terragrunt.hcl 2023-05-30 13:50:03.000000000 +0200
@@ -0,0 +1,3 @@
+include {
+ path = find_in_parent_folders()
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/fixture-modules/module-m/module-m-child/tier.hcl new/terragrunt-0.45.17/test/fixture-modules/module-m/module-m-child/tier.hcl
--- old/terragrunt-0.45.16/test/fixture-modules/module-m/module-m-child/tier.hcl 1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.45.17/test/fixture-modules/module-m/module-m-child/tier.hcl 2023-05-30 13:50:03.000000000 +0200
@@ -0,0 +1,3 @@
+locals {
+ tier = "base"
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/fixture-modules/module-m/terragrunt.hcl new/terragrunt-0.45.17/test/fixture-modules/module-m/terragrunt.hcl
--- old/terragrunt-0.45.16/test/fixture-modules/module-m/terragrunt.hcl 1970-01-01 01:00:00.000000000 +0100
+++ new/terragrunt-0.45.17/test/fixture-modules/module-m/terragrunt.hcl 2023-05-30 13:50:03.000000000 +0200
@@ -0,0 +1,15 @@
+# Configure Terragrunt to automatically store tfstate files in an S3 bucket
+remote_state {
+ backend = "s3"
+ config = {
+ bucket = "bucket"
+ key = "${path_relative_to_include()}/terraform.tfstate"
+ }
+}
+terraform {
+ source = "..."
+}
+locals {
+ env_vars = read_terragrunt_config("${get_parent_terragrunt_dir()}/env.hcl")
+ tier_vars = read_terragrunt_config("tier.hcl")
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/terragrunt-0.45.16/test/integration_test.go new/terragrunt-0.45.17/test/integration_test.go
--- old/terragrunt-0.45.16/test/integration_test.go 2023-05-24 21:08:10.000000000 +0200
+++ new/terragrunt-0.45.17/test/integration_test.go 2023-05-30 13:50:03.000000000 +0200
@@ -115,6 +115,7 @@
TEST_FIXTURE_RELATIVE_INCLUDE_CMD = "fixture-relative-include-cmd"
TEST_FIXTURE_AWS_GET_CALLER_IDENTITY = "fixture-get-aws-caller-identity"
TEST_FIXTURE_GET_REPO_ROOT = "fixture-get-repo-root"
+ TEST_FIXTURE_PATH_RELATIVE_FROM_INCLUDE = "fixture-get-path/fixture-path_relative_from_include"
TEST_FIXTURE_GET_PATH_FROM_REPO_ROOT = "fixture-get-path/fixture-get-path-from-repo-root"
TEST_FIXTURE_GET_PATH_TO_REPO_ROOT = "fixture-get-path/fixture-get-path-to-repo-root"
TEST_FIXTURE_GET_PLATFORM = "fixture-get-platform"
@@ -2946,6 +2947,46 @@
require.Regexp(t, "/tmp/terragrunt-.*/fixture-get-repo-root", repoRoot.Value)
}
+func TestPathRelativeFromInclude(t *testing.T) {
+ t.Parallel()
+
+ cleanupTerraformFolder(t, TEST_FIXTURE_PATH_RELATIVE_FROM_INCLUDE)
+ tmpEnvPath, _ := filepath.EvalSymlinks(copyEnvironment(t, TEST_FIXTURE_PATH_RELATIVE_FROM_INCLUDE))
+ rootPath := util.JoinPath(tmpEnvPath, TEST_FIXTURE_PATH_RELATIVE_FROM_INCLUDE, "lives/dev")
+ basePath := util.JoinPath(rootPath, "base")
+ clusterPath := util.JoinPath(rootPath, "cluster")
+
+ output, err := exec.Command("git", "init", tmpEnvPath).CombinedOutput()
+ if err != nil {
+ t.Fatalf("Error initializing git repo: %v\n%s", err, string(output))
+ }
+
+ runTerragrunt(t, fmt.Sprintf("terragrunt run-all apply -auto-approve --terragrunt-non-interactive --terragrunt-working-dir %s", rootPath))
+
+ // verify expected outputs are not empty
+ stdout := bytes.Buffer{}
+ stderr := bytes.Buffer{}
+
+ err = runTerragruntCommand(t, fmt.Sprintf("terragrunt output -no-color -json --terragrunt-non-interactive --terragrunt-working-dir %s", clusterPath), &stdout, &stderr)
+ assert.NoError(t, err)
+
+ outputs := map[string]TerraformOutput{}
+ require.NoError(t, json.Unmarshal([]byte(stdout.String()), &outputs))
+
+ val, hasVal := outputs["some_output"]
+ require.True(t, hasVal)
+ require.Equal(t, "something else", val.Value)
+
+ // try to destroy module and check if warning is printed in output, also test `get_parent_terragrunt_dir()` func in the parent terragrunt config.
+ stdout = bytes.Buffer{}
+ stderr = bytes.Buffer{}
+
+ err = runTerragruntCommand(t, fmt.Sprintf("terragrunt destroy -auto-approve --terragrunt-non-interactive --terragrunt-working-dir %s", basePath), &stdout, &stderr)
+ assert.NoError(t, err)
+
+ assert.Contains(t, stderr.String(), fmt.Sprintf("Detected dependent modules:\n%s", clusterPath))
+}
+
func TestGetPathFromRepoRoot(t *testing.T) {
t.Parallel()
++++++ terragrunt.obsinfo ++++++
--- /var/tmp/diff_new_pack.TaWqSF/_old 2023-05-31 21:54:34.789034608 +0200
+++ /var/tmp/diff_new_pack.TaWqSF/_new 2023-05-31 21:54:34.789034608 +0200
@@ -1,5 +1,5 @@
name: terragrunt
-version: 0.45.16
-mtime: 1684955290
-commit: e5b394060e8eb5009b99d15195e64688614a768f
+version: 0.45.17
+mtime: 1685447403
+commit: 9154ad0ff23e876c9e2bfe0ad7948e179c2bbdae
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/terragrunt/vendor.tar.gz /work/SRC/openSUSE:Factory/.terragrunt.new.1533/vendor.tar.gz differ: char 5, line 1
1
0