Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package digger-cli for openSUSE:Factory 
checked in at 2026-10-08 11:59:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/digger-cli (Old)
 and      /work/SRC/openSUSE:Factory/.digger-cli.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "digger-cli"

Thu Oct  8 11:59:18 2026 rev:57 rq:1383167 version:0.6.154

Changes:
--------
--- /work/SRC/openSUSE:Factory/digger-cli/digger-cli.changes    2026-10-01 
16:49:37.184511891 +0200
+++ /work/SRC/openSUSE:Factory/.digger-cli.new.3698736/digger-cli.changes       
2026-10-08 12:00:08.109840058 +0200
@@ -1,0 +2,9 @@
+Thu Oct 08 05:19:08 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- Update to version 0.6.154:
+  * fix: carry git_timeout in the job spec so policy repo clones
+    honor it (#2740)
+- Update to version 0.6.153:
+  * fix: respect git_timeout in drift policy checks (#2739)
+
+-------------------------------------------------------------------

Old:
----
  digger-cli-0.6.152.obscpio

New:
----
  digger-cli-0.6.154.obscpio

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

Other differences:
------------------
++++++ digger-cli.spec ++++++
--- /var/tmp/diff_new_pack.CKKJEA/_old  2026-10-08 12:00:10.062921865 +0200
+++ /var/tmp/diff_new_pack.CKKJEA/_new  2026-10-08 12:00:10.067922075 +0200
@@ -19,7 +19,7 @@
 %define executable_name digger
 
 Name:           digger-cli
-Version:        0.6.152
+Version:        0.6.154
 Release:        0
 Summary:        CLI for the digger open source IaC orchestration tool
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.CKKJEA/_old  2026-10-08 12:00:10.152925635 +0200
+++ /var/tmp/diff_new_pack.CKKJEA/_new  2026-10-08 12:00:10.159925929 +0200
@@ -6,8 +6,8 @@
     <param name="exclude">go.mod</param>
     <param name="exclude">go.work</param>
     <param name="exclude">go.work.sum</param>
-    <param name="revision">refs/tags/v0.6.152</param>
-    <param name="match-tag">v0.6.152</param>
+    <param name="revision">refs/tags/v0.6.154</param>
+    <param name="match-tag">v0.6.154</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.CKKJEA/_old  2026-10-08 12:00:10.196927478 +0200
+++ /var/tmp/diff_new_pack.CKKJEA/_new  2026-10-08 12:00:10.199927604 +0200
@@ -5,6 +5,6 @@
                 <param 
name="url">https://github.com/johanneskastl/digger</param>
               <param 
name="changesrevision">8fe377068e53e2050ff4c745388d8428d2b13bb0</param></service><service
 name="tar_scm">
                 <param 
name="url">https://github.com/diggerhq/digger.git</param>
-              <param 
name="changesrevision">9ac4e2237b7b8afa455f422b92737bfe106d495c</param></service></servicedata>
+              <param 
name="changesrevision">853f6abf3f7ad9d2fa20b8956e5a758441ddca1e</param></service></servicedata>
 (No newline at EOF)
 

++++++ digger-cli-0.6.152.obscpio -> digger-cli-0.6.154.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/digger-cli-0.6.152/backend/services/spec.go 
new/digger-cli-0.6.154/backend/services/spec.go
--- old/digger-cli-0.6.152/backend/services/spec.go     2026-09-30 
18:56:09.000000000 +0200
+++ new/digger-cli-0.6.154/backend/services/spec.go     2026-10-07 
15:26:17.000000000 +0200
@@ -147,6 +147,23 @@
        return variablesSpec
 }
 
+// gitTimeoutFromBatch returns git_timeout (seconds) from the digger.yml 
stored on the batch,
+// or 0 when it is absent or unreadable so the CLI keeps its default.
+func gitTimeoutFromBatch(batch *models.DiggerBatch) int {
+       if batch == nil || batch.DiggerConfig == "" {
+               return 0
+       }
+       configYaml, err := 
digger_config.LoadDiggerConfigYamlFromString(batch.DiggerConfig)
+       if err != nil {
+               slog.Warn("Could not read git_timeout from batch digger 
config", "batchId", batch.ID, "error", err)
+               return 0
+       }
+       if configYaml.GitTimeout == nil {
+               return 0
+       }
+       return *configYaml.GitTimeout
+}
+
 func GetSpecFromJob(job models.DiggerJob) (*spec.Spec, error) {
        var jobSpec scheduler.JobJson
        err := json.Unmarshal([]byte(job.SerializedJobSpec), &jobSpec)
@@ -212,6 +229,7 @@
                Variables: variablesSpec,
                Policy: spec.PolicySpec{
                        PolicyType: "http",
+                       GitTimeout: gitTimeoutFromBatch(batch),
                },
                CommentUpdater: spec.CommentUpdaterSpec{
                        CommentUpdaterType: 
digger_config.CommentRenderModeBasic,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/digger-cli-0.6.152/backend/services/spec_test.go 
new/digger-cli-0.6.154/backend/services/spec_test.go
--- old/digger-cli-0.6.152/backend/services/spec_test.go        1970-01-01 
01:00:00.000000000 +0100
+++ new/digger-cli-0.6.154/backend/services/spec_test.go        2026-10-07 
15:26:17.000000000 +0200
@@ -0,0 +1,16 @@
+package services
+
+import (
+       "testing"
+
+       "github.com/diggerhq/digger/backend/models"
+       "github.com/stretchr/testify/assert"
+)
+
+func TestGitTimeoutFromBatch(t *testing.T) {
+       assert.Equal(t, 0, gitTimeoutFromBatch(nil))
+       assert.Equal(t, 0, gitTimeoutFromBatch(&models.DiggerBatch{}))
+       assert.Equal(t, 0, 
gitTimeoutFromBatch(&models.DiggerBatch{DiggerConfig: "projects: []\n"}))
+       assert.Equal(t, 0, 
gitTimeoutFromBatch(&models.DiggerBatch{DiggerConfig: "git_timeout: [\n"}))
+       assert.Equal(t, 300, 
gitTimeoutFromBatch(&models.DiggerBatch{DiggerConfig: "git_timeout: 
300\nprojects: []\n"}))
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/digger-cli-0.6.152/cli/pkg/github/github.go 
new/digger-cli-0.6.154/cli/pkg/github/github.go
--- old/digger-cli-0.6.152/cli/pkg/github/github.go     2026-09-30 
18:56:09.000000000 +0200
+++ new/digger-cli-0.6.154/cli/pkg/github/github.go     2026-10-07 
15:26:17.000000000 +0200
@@ -6,6 +6,7 @@
        "log/slog"
        "os"
        "strings"
+       "time"
 
        "github.com/diggerhq/digger/cli/pkg/digger"
        "github.com/diggerhq/digger/cli/pkg/drift"
@@ -56,7 +57,6 @@
        hostName := os.Getenv("DIGGER_HOSTNAME")
        token := os.Getenv("DIGGER_TOKEN")
        orgName := os.Getenv("DIGGER_ORGANISATION")
-       var policyChecker, _ = policyCheckerProvider.Get(hostName, token, 
orgName)
 
        ghToken := os.Getenv("GITHUB_TOKEN")
        if ghToken == "" {
@@ -114,6 +114,16 @@
        }
        slog.Info("Digger digger_config read successfully")
 
+       var policyChecker core_policy.Checker
+       if provider, ok := 
policyCheckerProvider.(core_policy.GitTimeoutPolicyCheckerProvider); ok {
+               policyChecker, err = provider.GetWithGitTimeout(hostName, 
orgName, token, time.Duration(diggerConfig.GitTimeout)*time.Second)
+       } else {
+               policyChecker, err = policyCheckerProvider.Get(hostName, 
orgName, token)
+       }
+       if err != nil {
+               usage.ReportErrorAndExit(githubActor, fmt.Sprintf("Failed to 
initialize policy checker. %s", err), 4)
+       }
+
        if diggerConfig.PrLocks == false {
                slog.Info("Using noop lock as configured in digger.yml")
                lock = core_locking.NoOpLock{}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/digger-cli-0.6.152/docs/ce/reference/digger.yml.mdx 
new/digger-cli-0.6.154/docs/ce/reference/digger.yml.mdx
--- old/digger-cli-0.6.152/docs/ce/reference/digger.yml.mdx     2026-09-30 
18:56:09.000000000 +0200
+++ new/digger-cli-0.6.154/docs/ce/reference/digger.yml.mdx     2026-10-07 
15:26:17.000000000 +0200
@@ -216,7 +216,7 @@
 </ParamField>
 
 <ParamField path="git_timeout" type="integer" default="30">
-  Timeout in seconds for each git command (clone, checkout) Digger runs when 
loading repository configuration. Increase this for large repositories, for 
example `git_timeout: 120`. Digger reads this setting through the Git provider 
API before cloning, using the requested branch or commit. It checks 
`digger.yml` first, then `digger.yaml`. An omitted, zero, or negative value 
uses the 30-second default. The initial API lookup has its own 30-second 
timeout.
+  Timeout in seconds for each git command (clone, checkout) Digger runs when 
loading repository configuration. Increase this for large repositories, for 
example `git_timeout: 120`. Digger reads this setting through the Git provider 
API before cloning, using the requested branch or commit. It checks 
`digger.yml` first, then `digger.yaml`. An omitted, zero, or negative value 
uses the 30-second default. The initial API lookup has its own 30-second 
timeout. The same value applies when a job clones the policy management 
repository (`DIGGER_MANAGEMENT_REPO`), including drift runs, so increase it if 
that repository is large.
 </ParamField>
 
 <ParamField path="projects" type="array">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/digger-cli-0.6.152/drift/controllers/drift.go 
new/digger-cli-0.6.154/drift/controllers/drift.go
--- old/digger-cli-0.6.152/drift/controllers/drift.go   2026-09-30 
18:56:09.000000000 +0200
+++ new/digger-cli-0.6.154/drift/controllers/drift.go   2026-10-07 
15:26:17.000000000 +0200
@@ -148,6 +148,7 @@
                Variables: make([]spec.VariableSpec, 0),
                Policy: spec.PolicySpec{
                        PolicyType: "http",
+                       GitTimeout: config.GitTimeout,
                },
                CommentUpdater: spec.CommentUpdaterSpec{
                        CommentUpdaterType: "noop",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/digger-cli-0.6.152/ee/backend/controllers/spec.go 
new/digger-cli-0.6.154/ee/backend/controllers/spec.go
--- old/digger-cli-0.6.152/ee/backend/controllers/spec.go       2026-09-30 
18:56:09.000000000 +0200
+++ new/digger-cli-0.6.154/ee/backend/controllers/spec.go       2026-10-07 
15:26:17.000000000 +0200
@@ -108,6 +108,7 @@
                },
                Policy: spec.PolicySpec{
                        PolicyType: "http",
+                       GitTimeout: config.GitTimeout,
                },
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/digger-cli-0.6.152/ee/cli/pkg/policy/policy.go 
new/digger-cli-0.6.154/ee/cli/pkg/policy/policy.go
--- old/digger-cli-0.6.152/ee/cli/pkg/policy/policy.go  2026-09-30 
18:56:09.000000000 +0200
+++ new/digger-cli-0.6.154/ee/cli/pkg/policy/policy.go  2026-10-07 
15:26:17.000000000 +0200
@@ -1,6 +1,8 @@
 package policy
 
 import (
+       "time"
+
        "github.com/diggerhq/digger/libs/git_utils"
        "github.com/samber/lo"
        "log/slog"
@@ -20,6 +22,7 @@
 type DiggerRepoPolicyProvider struct {
        ManagementRepoUrl string
        GitToken          string
+       GitTimeout        time.Duration
 }
 
 func getContents(filePath string) (string, error) {
@@ -63,7 +66,7 @@
 
 func (p DiggerRepoPolicyProvider) getPolicyFileContents(repo string, 
projectName string, projectDir string, fileName string) (string, error) {
        var contents string
-       err := git_utils.CloneGitRepoAndDoAction(p.ManagementRepoUrl, "main", 
"", p.GitToken, "", func(basePath string) error {
+       err := 
git_utils.CloneGitRepoAndDoActionWithTimeout(p.ManagementRepoUrl, "main", "", 
p.GitToken, "", p.gitTimeout(), func(basePath string) error {
                // we start with the project directory path prefixes as the 
highest priority
                prefixes := GetPrefixesForPath(path.Join(basePath, projectDir), 
fileName)
 
@@ -96,6 +99,13 @@
        return contents, nil
 }
 
+func (p DiggerRepoPolicyProvider) gitTimeout() time.Duration {
+       if p.GitTimeout <= 0 {
+               return 30 * time.Second
+       }
+       return p.GitTimeout
+}
+
 // GetPolicy fetches policy for particular project,  if not found then it will 
fallback to org level policy
 func (p DiggerRepoPolicyProvider) GetAccessPolicy(organisation string, repo 
string, projectName string, projectDir string) (string, error) {
        policy, err := p.getPolicyFileContents(repo, projectName, projectDir, 
"access.rego")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/digger-cli-0.6.152/ee/cli/pkg/policy/providers.go 
new/digger-cli-0.6.154/ee/cli/pkg/policy/providers.go
--- old/digger-cli-0.6.152/ee/cli/pkg/policy/providers.go       2026-09-30 
18:56:09.000000000 +0200
+++ new/digger-cli-0.6.154/ee/cli/pkg/policy/providers.go       2026-10-07 
15:26:17.000000000 +0200
@@ -6,6 +6,7 @@
        lib_spec "github.com/diggerhq/digger/libs/spec"
        "log"
        "os"
+       "time"
 )
 
 type AdvancedPolicyProvider struct{}
@@ -35,6 +36,7 @@
                        PolicyProvider: DiggerRepoPolicyProvider{
                                ManagementRepoUrl: managementRepo,
                                GitToken:          token,
+                               GitTimeout:        
time.Duration(policySpec.GitTimeout) * time.Second,
                        },
                }, nil
        }
@@ -46,6 +48,10 @@
 type PolicyCheckerProviderAdvanced struct{}
 
 func (p PolicyCheckerProviderAdvanced) Get(hostname string, organisationName 
string, authToken string) (policy.Checker, error) {
+       return p.GetWithGitTimeout(hostname, organisationName, authToken, 0)
+}
+
+func (p PolicyCheckerProviderAdvanced) GetWithGitTimeout(hostname string, 
organisationName string, authToken string, gitTimeout time.Duration) 
(policy.Checker, error) {
        managementRepo := os.Getenv("DIGGER_MANAGEMENT_REPO")
        if managementRepo != "" {
                token := os.Getenv("GITHUB_TOKEN")
@@ -56,6 +62,7 @@
                        PolicyProvider: DiggerRepoPolicyProvider{
                                ManagementRepoUrl: managementRepo,
                                GitToken:          token,
+                               GitTimeout:        gitTimeout,
                        },
                }, nil
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/digger-cli-0.6.152/ee/cli/pkg/policy/providers_test.go 
new/digger-cli-0.6.154/ee/cli/pkg/policy/providers_test.go
--- old/digger-cli-0.6.152/ee/cli/pkg/policy/providers_test.go  1970-01-01 
01:00:00.000000000 +0100
+++ new/digger-cli-0.6.154/ee/cli/pkg/policy/providers_test.go  2026-10-07 
15:26:17.000000000 +0200
@@ -0,0 +1,26 @@
+package policy
+
+import (
+       "testing"
+       "time"
+
+       "github.com/diggerhq/digger/libs/policy"
+       lib_spec "github.com/diggerhq/digger/libs/spec"
+       "github.com/stretchr/testify/assert"
+)
+
+func TestGetPolicyProviderPassesSpecGitTimeoutToManagementRepo(t *testing.T) {
+       t.Setenv("DIGGER_MANAGEMENT_REPO", 
"https://github.com/example/policies";)
+       t.Setenv("GITHUB_TOKEN", "test-token")
+
+       checker, err := 
AdvancedPolicyProvider{}.GetPolicyProvider(lib_spec.PolicySpec{PolicyType: 
"http", GitTimeout: 300}, "", "", "", "noop")
+       assert.NoError(t, err)
+       provider := 
checker.(policy.DiggerPolicyChecker).PolicyProvider.(DiggerRepoPolicyProvider)
+       assert.Equal(t, "https://github.com/example/policies";, 
provider.ManagementRepoUrl)
+       assert.Equal(t, 300*time.Second, provider.gitTimeout())
+
+       // a spec without git_timeout (older backend) keeps the 30 second 
default
+       checker, err = 
AdvancedPolicyProvider{}.GetPolicyProvider(lib_spec.PolicySpec{PolicyType: 
"http"}, "", "", "", "noop")
+       assert.NoError(t, err)
+       assert.Equal(t, 30*time.Second, 
checker.(policy.DiggerPolicyChecker).PolicyProvider.(DiggerRepoPolicyProvider).gitTimeout())
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/digger-cli-0.6.152/libs/policy/core.go 
new/digger-cli-0.6.154/libs/policy/core.go
--- old/digger-cli-0.6.152/libs/policy/core.go  2026-09-30 18:56:09.000000000 
+0200
+++ new/digger-cli-0.6.154/libs/policy/core.go  2026-10-07 15:26:17.000000000 
+0200
@@ -1,5 +1,7 @@
 package policy
 
+import "time"
+
 type Provider interface {
        GetAccessPolicy(organisation string, repository string, projectname 
string, projectDir string) (string, error)
        GetPlanPolicy(organisation string, repository string, projectname 
string, projectDir string) (string, error)
@@ -20,6 +22,10 @@
        Get(hostname string, organisationName string, authToken string) 
(Checker, error)
 }
 
+type GitTimeoutPolicyCheckerProvider interface {
+       GetWithGitTimeout(hostname string, organisationName string, authToken 
string, gitTimeout time.Duration) (Checker, error)
+}
+
 type AccessPolicyContext struct {
        SCMOrganisation  string
        SCMrepository    string
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/digger-cli-0.6.152/libs/spec/models.go 
new/digger-cli-0.6.154/libs/spec/models.go
--- old/digger-cli-0.6.152/libs/spec/models.go  2026-09-30 18:56:09.000000000 
+0200
+++ new/digger-cli-0.6.154/libs/spec/models.go  2026-10-07 15:26:17.000000000 
+0200
@@ -38,6 +38,9 @@
 
 type PolicySpec struct {
        PolicyType string `json:"policy_type"`
+       // GitTimeout is digger.yml git_timeout in seconds. The CLI applies it 
to each git
+       // command when the policy provider clones DIGGER_MANAGEMENT_REPO. Zero 
means the default.
+       GitTimeout int `json:"git_timeout,omitempty"`
 }
 
 type VariableSpec struct {

++++++ digger-cli.obsinfo ++++++
--- /var/tmp/diff_new_pack.CKKJEA/_old  2026-10-08 12:00:12.406020009 +0200
+++ /var/tmp/diff_new_pack.CKKJEA/_new  2026-10-08 12:00:12.417020470 +0200
@@ -1,5 +1,5 @@
 name: digger-cli
-version: 0.6.152
-mtime: 1790787369
-commit: 9ac4e2237b7b8afa455f422b92737bfe106d495c
+version: 0.6.154
+mtime: 1791379577
+commit: 853f6abf3f7ad9d2fa20b8956e5a758441ddca1e
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/digger-cli/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.digger-cli.new.3698736/vendor.tar.gz differ: char 
15, line 1

Reply via email to