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-09-21 12:08:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/digger-cli (Old) and /work/SRC/openSUSE:Factory/.digger-cli.new.383539 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "digger-cli" Mon Sep 21 12:08:43 2026 rev:55 rq:1379178 version:0.6.151 Changes: -------- --- /work/SRC/openSUSE:Factory/digger-cli/digger-cli.changes 2026-08-12 16:14:01.910335178 +0200 +++ /work/SRC/openSUSE:Factory/.digger-cli.new.383539/digger-cli.changes 2026-09-21 12:08:55.518450865 +0200 @@ -1,0 +2,10 @@ +Sun Sep 20 06:00:22 UTC 2026 - Johannes Kastl <[email protected]> + +- Update to version 0.6.151: + * fix: replace unmaintained terragrunt and tfenv setup actions + with shell steps (#2709) +- Update to version 0.6.150: + * feat: make git clone timeout configurable via digger.yml + (#2706) + +------------------------------------------------------------------- Old: ---- digger-cli-0.6.149.obscpio New: ---- digger-cli-0.6.151.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ digger-cli.spec ++++++ --- /var/tmp/diff_new_pack.lFzRN9/_old 2026-09-21 12:08:58.294566880 +0200 +++ /var/tmp/diff_new_pack.lFzRN9/_new 2026-09-21 12:08:58.296566963 +0200 @@ -19,7 +19,7 @@ %define executable_name digger Name: digger-cli -Version: 0.6.149 +Version: 0.6.151 Release: 0 Summary: CLI for the digger open source IaC orchestration tool License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.lFzRN9/_old 2026-09-21 12:08:58.328568294 +0200 +++ /var/tmp/diff_new_pack.lFzRN9/_new 2026-09-21 12:08:58.330568378 +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.149</param> - <param name="match-tag">v0.6.149</param> + <param name="revision">refs/tags/v0.6.151</param> + <param name="match-tag">v0.6.151</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.lFzRN9/_old 2026-09-21 12:08:58.357569501 +0200 +++ /var/tmp/diff_new_pack.lFzRN9/_new 2026-09-21 12:08:58.360569626 +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">3053cda26247aa3cb94dcd4b8a253ee3cbc78243</param></service></servicedata> + <param name="changesrevision">85cd59db7caa3d8bf6cefe303a62c12812b0bc48</param></service></servicedata> (No newline at EOF) ++++++ digger-cli-0.6.149.obscpio -> digger-cli-0.6.151.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/digger-cli-0.6.149/action.yml new/digger-cli-0.6.151/action.yml --- old/digger-cli-0.6.149/action.yml 2026-07-21 06:37:17.000000000 +0200 +++ new/digger-cli-0.6.151/action.yml 2026-09-13 11:13:52.000000000 +0200 @@ -315,23 +315,23 @@ exit 1 shell: bash if: inputs.setup-google-cloud == 'true' - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 with: clean: false ref: refs/pull/${{ github.event.issue.number }}/merge if: ${{ github.event_name == 'issue_comment' && inputs.configure-checkout == 'true' }} - - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 + - uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 with: clean: false if: ${{ github.event_name != 'issue_comment' && inputs.configure-checkout == 'true' }} - name: Set up Google Auth Using A Service Account Key - uses: google-github-actions/auth@c200f3691d83b41bf9bbd8638997a462592937ed # v2.1.13 + uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0 with: credentials_json: "${{ inputs.google-auth-credentials }}" if: ${{ inputs.setup-google-cloud == 'true' && inputs.google-auth-credentials != '' }} - name: Set up Google Auth Using Workload Identity Federation - uses: google-github-actions/auth@c200f3691d83b41bf9bbd8638997a462592937ed # v2.1.13 + uses: google-github-actions/auth@7c6bc770dae815cd3e89ee6cdf493a5fab2cc093 # v3.0.0 with: token_format: access_token service_account: ${{ inputs.google-service-account }} @@ -340,11 +340,11 @@ if: ${{ inputs.setup-google-cloud == 'true' && inputs.google-workload-identity-provider != '' }} - name: Set up Cloud SDK - uses: google-github-actions/setup-gcloud@e427ad8a34f8676edf47cf7d7925499adf3eb74f # v2.2.1 + uses: google-github-actions/setup-gcloud@aa5489c8933f4cc7a4f7d45035b3b1440c9c10db # v3.0.1 if: inputs.setup-google-cloud == 'true' - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1 + uses: aws-actions/configure-aws-credentials@cbe3b392738ccf3f987d68400dafcf4b0624a56c # v6.2.4 with: aws-access-key-id: ${{ inputs.aws-access-key-id }} aws-secret-access-key: ${{ inputs.aws-secret-access-key }} @@ -353,7 +353,7 @@ if: ${{ inputs.setup-aws == 'true' && inputs.aws-role-to-assume == '' }} - name: Configure OIDC AWS credentials - uses: aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1 + uses: aws-actions/configure-aws-credentials@cbe3b392738ccf3f987d68400dafcf4b0624a56c # v6.2.4 with: role-to-assume: ${{ inputs.aws-role-to-assume }} aws-region: ${{ inputs.aws-region }} @@ -362,7 +362,7 @@ if: ${{ inputs.setup-aws == 'true' && inputs.aws-role-to-assume != '' }} - name: Configure OIDC Azure credentials - uses: azure/login@a65d910e8af852a8061c627c456678983e180302 # v2.2.0 + uses: azure/login@a641126d1b8aa4d1fa005f4f92df94a3a4c4c906 # v3.1.0 with: client-id: ${{ inputs.azure-client-id }} tenant-id: ${{ inputs.azure-tenant-id }} @@ -384,7 +384,7 @@ echo "TG_PROVIDER_CACHE_DIR=$CACHE_DIR" >> $GITHUB_ENV echo "TERRAGRUNT_PROVIDER_CACHE_DIR=$CACHE_DIR" >> $GITHUB_ENV - - uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + - uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 id: restore_cache name: restore_cache with: @@ -414,7 +414,7 @@ # Then terraform setup happens... - name: Setup Terraform - uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2 + uses: hashicorp/setup-terraform@dfe3c3f87815947d99a8997f908cb6525fc44e9e # v4.0.1 with: terraform_version: ${{ inputs.terraform-version }} terraform_wrapper: false @@ -422,18 +422,62 @@ cli_config_credentials_hostname: ${{ inputs.terraform-tfe-hostname || 'otaco.app' }} if: inputs.setup-terraform == 'true' + # rhythmictech/actions-setup-tfenv is unmaintained and still declares node16, + # which GitHub removes from runners on 2026-09-23. This reproduces what it did. - name: Setup tfenv - uses: rhythmictech/actions-setup-tfenv@ef1296cdbec243306d3a3d31909582ca1eeb4627 # v0.1.2 + shell: bash + run: | + TFENV_DIR="${HOME:-/opt}/.tfenv" + if [ ! -d "$TFENV_DIR" ]; then + git clone --depth 1 https://github.com/tfutils/tfenv.git "$TFENV_DIR" + fi + echo "$TFENV_DIR/bin" >> "$GITHUB_PATH" if: inputs.setup-tfenv == 'true' + # autero1/action-terragrunt is unmaintained and still declares node20, + # which GitHub removes from runners on 2026-09-23. This reproduces what it did: + # accepts "0.73.7", "v0.73.7" or "latest"; supports linux/darwin/windows on amd64/arm64/386. - name: Setup Terragrunt - uses: autero1/action-terragrunt@aefb0a43c4f5503a91fefb307745c4d51c26ed0e # v3.0.2 - with: - terragrunt-version: ${{ inputs.terragrunt-version }} + shell: bash + env: + TG_VERSION: ${{ inputs.terragrunt-version }} + GH_TOKEN: ${{ github.token }} + run: | + set -euo pipefail + if [ "$(echo "$TG_VERSION" | tr '[:upper:]' '[:lower:]')" = "latest" ]; then + TG_VERSION=$(curl -fsSL -H "Authorization: Bearer $GH_TOKEN" \ + https://api.github.com/repos/gruntwork-io/terragrunt/releases/latest | \ + sed -n 's/.*"tag_name": *"\([^"]*\)".*/\1/p') + echo "Latest Terragrunt version: $TG_VERSION" + fi + case "$TG_VERSION" in v*) ;; *) TG_VERSION="v$TG_VERSION";; esac + + case "$(uname -s)" in + Linux) OS=linux ;; + Darwin) OS=darwin ;; + MINGW*|MSYS*|CYGWIN*|Windows_NT) OS=windows ;; + *) echo "Unsupported OS: $(uname -s)"; exit 1 ;; + esac + case "$(uname -m)" in + x86_64|amd64) ARCH=amd64 ;; + aarch64|arm64) ARCH=arm64 ;; + i386|i686) ARCH=386 ;; + *) echo "Unsupported architecture: $(uname -m)"; exit 1 ;; + esac + + BIN_DIR="$RUNNER_TEMP/terragrunt-bin" + mkdir -p "$BIN_DIR" + EXT=""; [ "$OS" = "windows" ] && EXT=".exe" + URL="https://github.com/gruntwork-io/terragrunt/releases/download/${TG_VERSION}/terragrunt_${OS}_${ARCH}${EXT}" + echo "Downloading Terragrunt ${TG_VERSION} from ${URL}" + curl -fsSL -o "$BIN_DIR/terragrunt${EXT}" "$URL" + chmod +x "$BIN_DIR/terragrunt${EXT}" + echo "$BIN_DIR" >> "$GITHUB_PATH" + "$BIN_DIR/terragrunt${EXT}" --version if: inputs.setup-terragrunt == 'true' - name: Setup OpenTofu - uses: opentofu/setup-opentofu@592200bd4b9bbf4772ace78f887668b1aee8f716 # v1.0.5 + uses: opentofu/setup-opentofu@a1320f892987e89d278cc92dc5adc984fb93aca4 # v2.0.2 with: tofu_version: ${{ inputs.opentofu-version }} tofu_wrapper: false @@ -442,7 +486,7 @@ if: inputs.setup-opentofu == 'true' - name: Setup Pulumi - uses: pulumi/actions@a3f382e1242b69ab33854c253c3b580f1226348e # v4.5.1 + uses: pulumi/actions@8e5e406f4007fca908480587cb9893c07090f58d # v7.0.0 with: tofu_version: ${{ inputs.pulumi-version }} if: inputs.setup-pulumi == 'true' @@ -458,7 +502,7 @@ if: inputs.setup-checkov == 'true' - name: setup go - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0 + uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 with: go-version-file: "${{ github.action_path }}/cli/go.mod" cache: false @@ -485,7 +529,7 @@ if: ${{ steps.determine-binary-mode.outputs.binary-mode != 'prebuilt' }} - name: Adding required env vars for next step - uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1.0 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 env: github-token: $GITHUB_TOKEN with: @@ -705,7 +749,7 @@ $BIN echo "✅ digger completed" - - uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 + - uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 name: cache-save if: ${{ always() && inputs.cache-dependencies == 'true' && steps.restore_cache.outputs.cache-hit != 'true' }} with: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/digger-cli-0.6.149/docs/ce/reference/digger.yml.mdx new/digger-cli-0.6.151/docs/ce/reference/digger.yml.mdx --- old/digger-cli-0.6.149/docs/ce/reference/digger.yml.mdx 2026-07-21 06:37:17.000000000 +0200 +++ new/digger-cli-0.6.151/docs/ce/reference/digger.yml.mdx 2026-09-13 11:13:52.000000000 +0200 @@ -215,6 +215,10 @@ Include Terraform outputs in the PR comment after apply. </ParamField> +<ParamField path="git_timeout" type="integer" default="30"> + Timeout in seconds for each git command (clone, checkout) Digger runs when it clones a repository. Increase this for large repositories that take longer than 30 seconds to clone. +</ParamField> + <ParamField path="projects" type="array"> List of projects to manage. See [Project Configuration](#project-configuration). </ParamField> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/digger-cli-0.6.149/libs/digger_config/config.go new/digger-cli-0.6.151/libs/digger_config/config.go --- old/digger-cli-0.6.149/libs/digger_config/config.go 2026-07-21 06:37:17.000000000 +0200 +++ new/digger-cli-0.6.151/libs/digger_config/config.go 2026-09-13 11:13:52.000000000 +0200 @@ -11,6 +11,9 @@ const DefaultBranchName = "__default__" +// DefaultGitTimeoutSeconds is the default per-command git timeout used when git_timeout is not set in digger.yml +const DefaultGitTimeoutSeconds = 30 + type DiggerConfig struct { ApplyAfterMerge bool AllowDraftPRs bool @@ -31,6 +34,7 @@ TraverseToNestedProjects bool Reporting ReporterConfig ReportTerraformOutputs bool + GitTimeout int // seconds, per git command when cloning DriftExcludePatterns []string DriftIncludePatterns []string DriftTerragruntParallelism *int diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/digger-cli-0.6.149/libs/digger_config/converters.go new/digger-cli-0.6.151/libs/digger_config/converters.go --- old/digger-cli-0.6.149/libs/digger_config/converters.go 2026-07-21 06:37:17.000000000 +0200 +++ new/digger-cli-0.6.151/libs/digger_config/converters.go 2026-09-13 11:13:52.000000000 +0200 @@ -241,6 +241,12 @@ diggerConfig.ReportTerraformOutputs = true } + if diggerYaml.GitTimeout != nil && *diggerYaml.GitTimeout > 0 { + diggerConfig.GitTimeout = *diggerYaml.GitTimeout + } else { + diggerConfig.GitTimeout = DefaultGitTimeoutSeconds + } + diggerConfig.Reporting = copyReporterConfig(diggerYaml.Reporting) if diggerYaml.AutoMerge != nil { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/digger-cli-0.6.149/libs/digger_config/yaml.go new/digger-cli-0.6.151/libs/digger_config/yaml.go --- old/digger-cli-0.6.149/libs/digger_config/yaml.go 2026-07-21 06:37:17.000000000 +0200 +++ new/digger-cli-0.6.151/libs/digger_config/yaml.go 2026-09-13 11:13:52.000000000 +0200 @@ -27,6 +27,7 @@ TraverseToNestedProjects *bool `yaml:"traverse_to_nested_projects"` MentionDriftedProjectsInPR *bool `yaml:"mention_drifted_projects_in_pr"` ReportTerraformOutputs *bool `yaml:"report_terraform_outputs"` + GitTimeout *int `yaml:"git_timeout,omitempty"` Reporting *ReportingConfigYaml `yaml:"reporting"` } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/digger-cli-0.6.149/libs/git_utils/clone_utils.go new/digger-cli-0.6.151/libs/git_utils/clone_utils.go --- old/digger-cli-0.6.149/libs/git_utils/clone_utils.go 2026-07-21 06:37:17.000000000 +0200 +++ new/digger-cli-0.6.151/libs/git_utils/clone_utils.go 2026-09-13 11:13:52.000000000 +0200 @@ -23,7 +23,14 @@ type action func(string) error +const defaultGitTimeout = 30 * time.Second + func CloneGitRepoAndDoAction(repoUrl string, branch string, commitHash string, token string, tokenUsername string, action action) error { + return CloneGitRepoAndDoActionWithTimeout(repoUrl, branch, commitHash, token, tokenUsername, defaultGitTimeout, action) +} + +// CloneGitRepoAndDoActionWithTimeout is CloneGitRepoAndDoAction with a per-git-command timeout (digger.yml git_timeout, in seconds) +func CloneGitRepoAndDoActionWithTimeout(repoUrl string, branch string, commitHash string, token string, tokenUsername string, timeout time.Duration, action action) error { dir, err := createTempDir() if err != nil { slog.Error("Failed to create temporary directory", "error", err) @@ -38,6 +45,9 @@ ) git := NewGitShellWithTokenAuth(dir, token, tokenUsername) + if timeout > 0 { + git.timeout = timeout + } err = git.Clone(repoUrl, branch) if err != nil { slog.Error("Failed to clone repository", @@ -101,7 +111,7 @@ return &GitShell{ workDir: workDir, - timeout: 30 * time.Second, + timeout: defaultGitTimeout, environment: env, auth: auth, } ++++++ digger-cli.obsinfo ++++++ --- /var/tmp/diff_new_pack.lFzRN9/_old 2026-09-21 12:08:59.420613732 +0200 +++ /var/tmp/diff_new_pack.lFzRN9/_new 2026-09-21 12:08:59.426613981 +0200 @@ -1,5 +1,5 @@ name: digger-cli -version: 0.6.149 -mtime: 1784608637 -commit: 3053cda26247aa3cb94dcd4b8a253ee3cbc78243 +version: 0.6.151 +mtime: 1789290832 +commit: 85cd59db7caa3d8bf6cefe303a62c12812b0bc48 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/digger-cli/vendor.tar.gz /work/SRC/openSUSE:Factory/.digger-cli.new.383539/vendor.tar.gz differ: char 32, line 2
