Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-flux-local for 
openSUSE:Factory checked in at 2025-07-27 16:26:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-flux-local (Old)
 and      /work/SRC/openSUSE:Factory/.python-flux-local.new.13279 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-flux-local"

Sun Jul 27 16:26:22 2025 rev:8 rq:1295687 version:7.7.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-flux-local/python-flux-local.changes      
2025-07-24 18:55:23.590270704 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-flux-local.new.13279/python-flux-local.changes
   2025-07-27 16:26:26.526180891 +0200
@@ -1,0 +2,9 @@
+Fri Jul 25 06:48:09 UTC 2025 - Johannes Kastl 
<opensuse_buildserv...@ojkastl.de>
+
+- update to 7.7.0:
+  * Improve effectiveness of --skip-invalid-kustomization-paths for
+    more cases by @allenporter in #974
+  * Add flag --skip-invalid-helm-release-paths to ignore invalid
+    external git repos by @allenporter in #975
+
+-------------------------------------------------------------------

Old:
----
  flux_local-7.6.0.tar.gz

New:
----
  flux_local-7.7.0.tar.gz

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

Other differences:
------------------
++++++ python-flux-local.spec ++++++
--- /var/tmp/diff_new_pack.zTWeeR/_old  2025-07-27 16:26:27.290212424 +0200
+++ /var/tmp/diff_new_pack.zTWeeR/_new  2025-07-27 16:26:27.294212589 +0200
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-flux-local
-Version:        7.6.0
+Version:        7.7.0
 Release:        0
 Summary:        Set of tools for managing a flux gitops repository
 License:        Apache-2.0

++++++ flux_local-7.6.0.tar.gz -> flux_local-7.7.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flux_local-7.6.0/PKG-INFO 
new/flux_local-7.7.0/PKG-INFO
--- old/flux_local-7.6.0/PKG-INFO       2025-07-22 05:59:01.474551400 +0200
+++ new/flux_local-7.7.0/PKG-INFO       2025-07-25 07:20:53.507682300 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: flux_local
-Version: 7.6.0
+Version: 7.7.0
 Summary: flux-local is a set of tools and libraries for managing a local flux 
gitops repository focused on validation steps to help improve quality of 
commits, PRs, and general local testing.
 Author-email: Allen Porter <allen.por...@gmail.com>
 License-Expression: Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flux_local-7.6.0/flux_local/git_repo.py 
new/flux_local-7.7.0/flux_local/git_repo.py
--- old/flux_local-7.6.0/flux_local/git_repo.py 2025-07-22 05:58:53.000000000 
+0200
+++ new/flux_local-7.7.0/flux_local/git_repo.py 2025-07-25 07:20:49.000000000 
+0200
@@ -606,7 +606,6 @@
     builder: CachableBuilder,
 ) -> None:
     """Build helm objects for the Kustomization and update state."""
-
     root: Path = selector.path.root
     kustomization_selector: MetadataSelector = selector.kustomization
     helm_repo_selector: MetadataSelector = selector.helm_repo
@@ -778,6 +777,14 @@
                         kustomization.name,
                         kustomization.path,
                     )
+                    if not await isdir(selector.path.root / 
kustomization.path):
+                        if options.skip_kustomize_path_validation:
+                            _LOGGER.debug(
+                                "Skipping Kustomization '%s' since path does 
not exist: %s",
+                                kustomization.namespaced_name,
+                                selector.path.root / kustomization.path,
+                            )
+                            continue
 
                     if kustomization.postbuild_substitute_from:
                         values.expand_postbuild_substitute_reference(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flux_local-7.6.0/flux_local/helm.py 
new/flux_local-7.7.0/flux_local/helm.py
--- old/flux_local-7.6.0/flux_local/helm.py     2025-07-22 05:58:53.000000000 
+0200
+++ new/flux_local-7.7.0/flux_local/helm.py     2025-07-25 07:20:49.000000000 
+0200
@@ -43,6 +43,7 @@
 from typing import Any
 
 import aiofiles
+from aiofiles.ospath import exists
 import yaml
 
 from . import command
@@ -223,6 +224,9 @@
     registry_config: str | None = None
     """Value of the helm --registry-config flag."""
 
+    skip_invalid_paths: bool = True
+    """Skip HelmReleases with invalid local paths."""
+
     @property
     def base_args(self) -> list[str]:
         """Helm template CLI arguments built from the options."""
@@ -314,6 +318,21 @@
             args.extend(self._flags)
             await command.run(command.Command(args, exc=HelmException))
 
+    async def is_invalid_local_path(
+        self,
+        release: HelmRelease,
+    ) -> bool:
+        """Check if the HelmRelease has an invalid GitRepository path."""
+        repo = next(
+            iter([repo for repo in self._repos if repo.repo_name == 
release.repo_name]),
+            None,
+        )
+        chart_name = _chart_name(release, repo)
+        if release.chart.repo_kind == GIT_REPOSITORY:
+            if not await exists(chart_name):
+                return True
+        return False
+
     async def template(
         self,
         release: HelmRelease,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/flux_local-7.6.0/flux_local/orchestrator/orchestrator.py 
new/flux_local-7.7.0/flux_local/orchestrator/orchestrator.py
--- old/flux_local-7.6.0/flux_local/orchestrator/orchestrator.py        
2025-07-22 05:58:53.000000000 +0200
+++ new/flux_local-7.7.0/flux_local/orchestrator/orchestrator.py        
2025-07-25 07:20:49.000000000 +0200
@@ -209,10 +209,10 @@
             return git_repos[0]
 
         if len(git_repos) > 1:
-
+            names = [repo.name for repo in git_repos]
             raise FluxException(
                 "Multiple GitRepository objects found, specify one with "
-                "'bootstrap_repo_name' option"
+                f"'bootstrap_repo_name' option: {names}"
             )
 
         _LOGGER.info("No GitRepository found; creating a synthetic one")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flux_local-7.6.0/flux_local/tool/selector.py 
new/flux_local-7.7.0/flux_local/tool/selector.py
--- old/flux_local-7.6.0/flux_local/tool/selector.py    2025-07-22 
05:58:53.000000000 +0200
+++ new/flux_local-7.7.0/flux_local/tool/selector.py    2025-07-25 
07:20:49.000000000 +0200
@@ -233,6 +233,13 @@
         "--registry-config",
         help="Path to a helm registry config file",
     )
+    args.add_argument(
+        "--skip-invalid-helm-release-paths",
+        type=bool,
+        default=True,
+        action=BooleanOptionalAction,
+        help="When true, skip helm releases with local paths that do not 
exist",
+    )
 
 
 def build_helm_options(**kwargs) -> helm.Options:  # type: 
ignore[no-untyped-def]
@@ -248,6 +255,7 @@
         kube_version=kwargs.get("kube_version"),
         api_versions=kwargs.get("api_versions"),
         registry_config=kwargs.get("registry_config"),
+        skip_invalid_paths=kwargs.get("skip_invalid_helm_release_paths", True),
     )
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flux_local-7.6.0/flux_local/visitor.py 
new/flux_local-7.7.0/flux_local/visitor.py
--- old/flux_local-7.6.0/flux_local/visitor.py  2025-07-22 05:58:53.000000000 
+0200
+++ new/flux_local-7.7.0/flux_local/visitor.py  2025-07-25 07:20:49.000000000 
+0200
@@ -279,14 +279,22 @@
             if active_repos := self.active_repos:
                 helm.add_repos(active_repos)
                 await helm.update()
-            tasks = [
-                inflate_release(
-                    helm,
-                    release,
-                    visitor,
-                    options,
+            tasks = []
+            for release in self.releases:
+                if options.skip_invalid_paths and 
helm.is_invalid_local_path(release):
+                    _LOGGER.info(
+                        "Skipping HelmRelease %s with invalid path %s",
+                        release.name,
+                        release.chart.repo_full_name,
+                    )
+                    continue
+                tasks.append(
+                    inflate_release(
+                        helm,
+                        release,
+                        visitor,
+                        options,
+                    )
                 )
-                for release in self.releases
-            ]
             _LOGGER.debug("Waiting for inflate tasks to complete")
             await asyncio.gather(*tasks)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flux_local-7.6.0/flux_local.egg-info/PKG-INFO 
new/flux_local-7.7.0/flux_local.egg-info/PKG-INFO
--- old/flux_local-7.6.0/flux_local.egg-info/PKG-INFO   2025-07-22 
05:59:01.000000000 +0200
+++ new/flux_local-7.7.0/flux_local.egg-info/PKG-INFO   2025-07-25 
07:20:53.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.4
 Name: flux_local
-Version: 7.6.0
+Version: 7.7.0
 Summary: flux-local is a set of tools and libraries for managing a local flux 
gitops repository focused on validation steps to help improve quality of 
commits, PRs, and general local testing.
 Author-email: Allen Porter <allen.por...@gmail.com>
 License-Expression: Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/flux_local-7.6.0/pyproject.toml 
new/flux_local-7.7.0/pyproject.toml
--- old/flux_local-7.6.0/pyproject.toml 2025-07-22 05:58:53.000000000 +0200
+++ new/flux_local-7.7.0/pyproject.toml 2025-07-25 07:20:49.000000000 +0200
@@ -4,7 +4,7 @@
 
 [project]
 name = "flux_local"
-version = "7.6.0"
+version = "7.7.0"
 license = "Apache-2.0"
 license-files = ["LICENSE"]
 description = "flux-local is a set of tools and libraries for managing a local 
flux gitops repository focused on validation steps to help improve quality of 
commits, PRs, and general local testing."

Reply via email to