Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package melange for openSUSE:Factory checked 
in at 2024-11-19 22:20:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/melange (Old)
 and      /work/SRC/openSUSE:Factory/.melange.new.28523 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "melange"

Tue Nov 19 22:20:17 2024 rev:44 rq:1225013 version:0.15.11

Changes:
--------
--- /work/SRC/openSUSE:Factory/melange/melange.changes  2024-11-15 
15:43:58.304254831 +0100
+++ /work/SRC/openSUSE:Factory/.melange.new.28523/melange.changes       
2024-11-19 22:21:24.895711597 +0100
@@ -1,0 +2,25 @@
+Tue Nov 19 08:38:41 UTC 2024 - [email protected]
+
+- Update to version 0.15.11:
+  * build(deps): bump cloud.google.com/go/storage from 1.46.0 to
+    1.47.0
+
+-------------------------------------------------------------------
+Tue Nov 19 08:35:58 UTC 2024 - [email protected]
+
+- Update to version 0.15.10:
+  * release: check for both tag and release
+
+-------------------------------------------------------------------
+Tue Nov 19 08:31:33 UTC 2024 - [email protected]
+
+- Update to version 0.15.9:
+  * change release frequency to weekly
+  * review feedback
+  * docs(release): update release.md based on new workflow design
+  * fix(releases): more reliable releases
+  * Bump apko to v0.20.0
+  * Clean up workspace dir from inside runner to avoid permission
+    errors. (#1648)
+
+-------------------------------------------------------------------

Old:
----
  melange-0.15.8.obscpio

New:
----
  melange-0.15.11.obscpio

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

Other differences:
------------------
++++++ melange.spec ++++++
--- /var/tmp/diff_new_pack.JSFPq2/_old  2024-11-19 22:21:25.771748023 +0100
+++ /var/tmp/diff_new_pack.JSFPq2/_new  2024-11-19 22:21:25.771748023 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           melange
-Version:        0.15.8
+Version:        0.15.11
 Release:        0
 Summary:        Build APKs from source code
 License:        Apache-2.0

++++++ _service ++++++
--- /var/tmp/diff_new_pack.JSFPq2/_old  2024-11-19 22:21:25.811749687 +0100
+++ /var/tmp/diff_new_pack.JSFPq2/_new  2024-11-19 22:21:25.815749853 +0100
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/chainguard-dev/melange</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">v0.15.8</param>
+    <param name="revision">v0.15.11</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.JSFPq2/_old  2024-11-19 22:21:25.843751017 +0100
+++ /var/tmp/diff_new_pack.JSFPq2/_new  2024-11-19 22:21:25.847751183 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/chainguard-dev/melange</param>
-              <param 
name="changesrevision">70bbb7dc9a3194e3a542ecc25400cfee1ddc6348</param></service></servicedata>
+              <param 
name="changesrevision">d05832dc5a9540123f705215dfd0e41b2b934567</param></service></servicedata>
 (No newline at EOF)
 

++++++ melange-0.15.8.obscpio -> melange-0.15.11.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/melange-0.15.8/.github/workflows/release-scheduled.yaml 
new/melange-0.15.11/.github/workflows/release-scheduled.yaml
--- old/melange-0.15.8/.github/workflows/release-scheduled.yaml 2024-11-14 
23:01:26.000000000 +0100
+++ new/melange-0.15.11/.github/workflows/release-scheduled.yaml        
1970-01-01 01:00:00.000000000 +0100
@@ -1,41 +0,0 @@
-name: release
-
-on:
-  schedule:
-    - cron: '0 0 * * *' # daily at 00:00
-  workflow_dispatch:
-
-permissions:
-  contents: read
-
-jobs:
-  release:
-    name: release
-    runs-on: ubuntu-latest
-
-    permissions:
-      contents: write
-
-    steps:
-      - name: Harden Runner
-        uses: 
step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
-        with:
-          egress-policy: audit
-
-      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 
v4.2.2
-      - name: Check if any changes since last tag
-        id: check
-        run: |
-          git fetch --tags
-          if [ -z "$(git tag --points-at HEAD)" ]; then
-            echo "Nothing points at HEAD, bump a new tag"
-            echo "bump=yes" >> $GITHUB_OUTPUT
-          else
-            echo "A tag already points to head, don't bump"
-            echo "bump=no" >> $GITHUB_OUTPUT
-          fi
-      - name: Bump patch version and push tag
-        uses: 
mathieudutour/github-tag-action@a22cf08638b34d5badda920f9daf6e72c477b07b # v6.2
-        if: steps.check.outputs.bump == 'yes'
-        with:
-          github_token: ${{ secrets.GITHUB_TOKEN }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/melange-0.15.8/.github/workflows/release.yaml 
new/melange-0.15.11/.github/workflows/release.yaml
--- old/melange-0.15.8/.github/workflows/release.yaml   2024-11-14 
23:01:26.000000000 +0100
+++ new/melange-0.15.11/.github/workflows/release.yaml  2024-11-18 
20:47:30.000000000 +0100
@@ -1,13 +1,13 @@
-name: Create Release
+name: Release
 
 on:
-  push:
-    tags:
-      - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
+  schedule:
+    - cron: '0 0 * * 1' # every Monday at 00:00 UTC
+  workflow_dispatch:
 
 jobs:
-  cli:
-    name: Release the CLI
+  release:
+    name: Release
     runs-on: ubuntu-latest
 
     # https://docs.github.com/en/actions/reference/authentication-in-a-workflow
@@ -22,69 +22,68 @@
 
       - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 
v4.2.2
 
+      - name: Check if any changes since last release
+        id: check
+        env:
+          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: |
+          git fetch --tags
+          TAG=$(git tag --points-at HEAD)
+          if [ -z "$TAG" ]; then
+            echo "No tag points at HEAD, so we need a new tag and then a new 
release."
+            echo "need_release=yes" >> $GITHUB_OUTPUT
+          else
+            RELEASE=$(gh release view "$TAG" --json tagName --jq '.tagName' || 
echo "none")
+            if [ "$RELEASE" == "$TAG" ]; then
+              echo "A release exists for tag $TAG, which has the latest 
changes, so no need for a new tag or release."
+              echo "need_release=no" >> $GITHUB_OUTPUT
+            else
+              echo "Tag $TAG exists, but no release is associated. Need a new 
release."
+              echo "need_release=yes" >> $GITHUB_OUTPUT
+              echo "existing_tag=$TAG" >> $GITHUB_OUTPUT
+            fi
+          fi
+
+      - name: Bump version and push tag
+        id: create_tag
+        uses: 
mathieudutour/github-tag-action@a22cf08638b34d5badda920f9daf6e72c477b07b # v6.2
+        if: steps.check.outputs.need_release == 'yes' && 
steps.check.outputs.existing_tag == ''
+        with:
+          github_token: ${{ secrets.GITHUB_TOKEN }}
+
+      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 
v4.2.2
+        if: steps.check.outputs.need_release == 'yes'
+        with:
+          ref: ${{ steps.check.outputs.existing_tag || 
steps.create_tag.outputs.new_tag }}
+
       - uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # 
v5.1.0
+        if: steps.check.outputs.need_release == 'yes'
         with:
           go-version-file: './go.mod'
           check-latest: true
 
+      # Cosign is used by goreleaser to sign release artifacts.
       - uses: 
sigstore/cosign-installer@dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da # v3.7.0
+        if: steps.check.outputs.need_release == 'yes'
 
       - uses: 
goreleaser/goreleaser-action@9ed2f89a662bf1735a48bc8557fd212fa902bebf # v6.1.0
+        if: steps.check.outputs.need_release == 'yes'
         with:
           version: latest
           install-only: true
 
       # Federate to create a token to authenticate with the homebrew-tap 
repository.
       - uses: octo-sts/action@6177b4481c00308b3839969c3eca88c96a91775f # v1.0.0
+        if: steps.check.outputs.need_release == 'yes'
         id: octo-sts
         with:
           scope: chainguard-dev/homebrew-tap
           identity: melange
 
       - name: Release
+        if: steps.check.outputs.need_release == 'yes'
         run: make release
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
           HOMEBREW_TAP_GITHUB_TOKEN: ${{ steps.octo-sts.outputs.token }}
-
-  ko-build:
-    name: Release melange image
-    runs-on: ubuntu-latest
-    needs:
-      - cli
-
-    # https://docs.github.com/en/actions/reference/authentication-in-a-workflow
-    permissions:
-      id-token: write
-      packages: write
-      contents: read
-
-    env:
-      KO_DOCKER_REPO: ghcr.io/${{ github.repository }}
-      COSIGN_YES: "true"
-
-    steps:
-      - uses: 
step-security/harden-runner@91182cccc01eb5e619899d80e4e971d6181294a7 # v2.10.1
-        with:
-          egress-policy: audit
-
-      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 
v4.2.2
-
-      - uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # 
v5.1.0
-        with:
-          go-version-file: './go.mod'
-          check-latest: true
-
-      - uses: ko-build/setup-ko@3aebd0597dc1e9d1a26bcfdb7cbeb19c131d3037 # v0.7
-
-      - uses: 
sigstore/cosign-installer@dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da # v3.7.0
-
-      - uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # 
v3.3.0
-        with:
-          registry: ghcr.io
-          username: ${{ github.repository_owner }}
-          password: ${{ github.token }}
-
-      - name: Publish/Sign melange image
-        run: |
-          make sign-image
+          TAG: ${{ steps.check.outputs.existing_tag || 
steps.create_tag.outputs.new_tag }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/melange-0.15.8/go.mod new/melange-0.15.11/go.mod
--- old/melange-0.15.8/go.mod   2024-11-14 23:01:26.000000000 +0100
+++ new/melange-0.15.11/go.mod  2024-11-18 20:47:30.000000000 +0100
@@ -3,8 +3,8 @@
 go 1.23.2
 
 require (
-       chainguard.dev/apko v0.19.9
-       cloud.google.com/go/storage v1.46.0
+       chainguard.dev/apko v0.20.0
+       cloud.google.com/go/storage v1.47.0
        dagger.io/dagger v0.14.0
        github.com/chainguard-dev/clog v1.5.1-0.20240811185937-4c523ae4593f
        github.com/chainguard-dev/go-pkgconfig 
v0.0.0-20240404163941-6351b37b2a10
@@ -38,13 +38,13 @@
        go.opentelemetry.io/otel v1.32.0
        go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0
        go.opentelemetry.io/otel/sdk v1.32.0
-       golang.org/x/crypto v0.28.0
-       golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c
+       golang.org/x/crypto v0.29.0
+       golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f
        golang.org/x/sync v0.9.0
        golang.org/x/sys v0.27.0
        golang.org/x/text v0.20.0
        golang.org/x/time v0.8.0
-       google.golang.org/api v0.205.0
+       google.golang.org/api v0.206.0
        gopkg.in/ini.v1 v1.67.0
        gopkg.in/yaml.v3 v3.0.1
        k8s.io/kube-openapi v0.0.0-20240430033511-f0e62f92d13f
@@ -59,14 +59,14 @@
 
 require (
        cel.dev/expr v0.16.1 // indirect
-       chainguard.dev/go-grpc-kit v0.17.6 // indirect
+       chainguard.dev/go-grpc-kit v0.17.7 // indirect
        chainguard.dev/sdk v0.1.28 // indirect
        cloud.google.com/go v0.116.0 // indirect
-       cloud.google.com/go/auth v0.10.1 // indirect
+       cloud.google.com/go/auth v0.10.2 // indirect
        cloud.google.com/go/auth/oauth2adapt v0.2.5 // indirect
        cloud.google.com/go/compute/metadata v0.5.2 // indirect
-       cloud.google.com/go/iam v1.2.1 // indirect
-       cloud.google.com/go/monitoring v1.21.1 // indirect
+       cloud.google.com/go/iam v1.2.2 // indirect
+       cloud.google.com/go/monitoring v1.21.2 // indirect
        filippo.io/edwards25519 v1.1.0 // indirect
        github.com/99designs/gqlgen v0.17.55 // indirect
        github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // 
indirect
@@ -75,7 +75,7 @@
        
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping
 v0.48.1 // indirect
        github.com/Khan/genqlient v0.7.0 // indirect
        github.com/Microsoft/go-winio v0.6.2 // indirect
-       github.com/ProtonMail/go-crypto v1.0.0 // indirect
+       github.com/ProtonMail/go-crypto v1.1.2 // indirect
        github.com/adrg/xdg v0.5.1 // indirect
        github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // 
indirect
        github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
@@ -87,12 +87,12 @@
        github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect
        github.com/cespare/xxhash/v2 v2.3.0 // indirect
        github.com/chainguard-dev/git-urls v1.0.2 // indirect
-       github.com/charmbracelet/lipgloss v0.13.1 // indirect
-       github.com/charmbracelet/x/ansi v0.3.2 // indirect
+       github.com/charmbracelet/lipgloss v1.0.0 // indirect
+       github.com/charmbracelet/x/ansi v0.4.5 // indirect
        github.com/cloudflare/circl v1.5.0 // indirect
        github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 // indirect
        github.com/common-nighthawk/go-figure 
v0.0.0-20210622060536-734e95fb86be // indirect
-       github.com/containerd/stargz-snapshotter/estargz v0.15.1 // indirect
+       github.com/containerd/stargz-snapshotter/estargz v0.16.1 // indirect
        github.com/cpuguy83/go-md2man/v2 v2.0.5 // indirect
        github.com/cyberphone/json-canonicalization 
v0.0.0-20231217050601-ba74d44ecf5f // indirect
        github.com/cyphar/filepath-securejoin v0.3.4 // indirect
@@ -132,10 +132,10 @@
        github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
        github.com/google/uuid v1.6.0 // indirect
        github.com/googleapis/enterprise-certificate-proxy v0.3.4 // indirect
-       github.com/googleapis/gax-go/v2 v2.13.0 // indirect
+       github.com/googleapis/gax-go/v2 v2.14.0 // indirect
        github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
        github.com/grpc-ecosystem/go-grpc-prometheus 
v1.2.1-0.20210315223345-82c243799c99 // indirect
-       github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect
+       github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0 // indirect
        github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
        github.com/hashicorp/go-retryablehttp v0.7.7 // indirect
        github.com/inconshreveable/mousetrap v1.1.0 // indirect
@@ -144,7 +144,7 @@
        github.com/josharian/intern v1.0.0 // indirect
        github.com/kelseyhightower/envconfig v1.4.0 // indirect
        github.com/kevinburke/ssh_config v1.2.0 // indirect
-       github.com/letsencrypt/boulder v0.0.0-20241023221324-e5edb7077fc1 // 
indirect
+       github.com/letsencrypt/boulder v0.0.0-20241114230438-0d70b12a75e8 // 
indirect
        github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
        github.com/mailru/easyjson v0.7.7 // indirect
        github.com/mattn/go-isatty v0.0.20 // indirect
@@ -164,7 +164,7 @@
        github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // 
indirect
        github.com/prometheus/client_golang v1.20.5 // indirect
        github.com/prometheus/client_model v0.6.1 // indirect
-       github.com/prometheus/common v0.60.0 // indirect
+       github.com/prometheus/common v0.60.1 // indirect
        github.com/prometheus/procfs v0.15.1 // indirect
        github.com/rivo/uniseg v0.4.7 // indirect
        github.com/russross/blackfriday/v2 v2.1.0 // indirect
@@ -192,14 +192,14 @@
        go.mongodb.org/mongo-driver v1.17.1 // indirect
        go.opencensus.io v0.24.0 // indirect
        go.opentelemetry.io/contrib/detectors/gcp v1.29.0 // indirect
-       
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc 
v0.56.0 // indirect
-       go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 
// indirect
+       
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc 
v0.57.0 // indirect
+       go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.57.0 
// indirect
        go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc 
v0.0.0-20240518090000-14441aefdf88 // indirect
        go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.3.0 // 
indirect
        go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc 
v1.27.0 // indirect
        go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp 
v1.27.0 // indirect
-       go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 // indirect
-       go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0 
// indirect
+       go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0 // indirect
+       go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0 
// indirect
        go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0 
// indirect
        go.opentelemetry.io/otel/log v0.3.0 // indirect
        go.opentelemetry.io/otel/metric v1.32.0 // indirect
@@ -207,19 +207,19 @@
        go.opentelemetry.io/otel/sdk/metric v1.29.0 // indirect
        go.opentelemetry.io/otel/trace v1.32.0 // indirect
        go.opentelemetry.io/proto/otlp v1.3.1 // indirect
-       go.step.sm/crypto v0.54.0 // indirect
+       go.step.sm/crypto v0.54.2 // indirect
        go.uber.org/multierr v1.11.0 // indirect
        go.uber.org/zap v1.27.0 // indirect
-       golang.org/x/mod v0.21.0 // indirect
-       golang.org/x/net v0.30.0 // indirect
-       golang.org/x/oauth2 v0.23.0 // indirect
-       golang.org/x/term v0.25.0 // indirect
-       google.golang.org/genproto v0.0.0-20241021214115-324edc3d5d38 // 
indirect
-       google.golang.org/genproto/googleapis/api 
v0.0.0-20241021214115-324edc3d5d38 // indirect
-       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20241021214115-324edc3d5d38 // indirect
-       google.golang.org/grpc v1.67.1 // indirect
+       golang.org/x/mod v0.22.0 // indirect
+       golang.org/x/net v0.31.0 // indirect
+       golang.org/x/oauth2 v0.24.0 // indirect
+       golang.org/x/term v0.26.0 // indirect
+       google.golang.org/genproto v0.0.0-20241104194629-dd2ea8efbc28 // 
indirect
+       google.golang.org/genproto/googleapis/api 
v0.0.0-20241113202542-65e8d215514f // indirect
+       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20241113202542-65e8d215514f // indirect
+       google.golang.org/grpc v1.68.0 // indirect
        google.golang.org/grpc/stats/opentelemetry 
v0.0.0-20240907200651-3ffb98b2c93a // indirect
-       google.golang.org/protobuf v1.35.1 // indirect
+       google.golang.org/protobuf v1.35.2 // indirect
        gopkg.in/warnings.v0 v0.1.2 // indirect
        k8s.io/apimachinery v0.31.2 // indirect
        k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/melange-0.15.8/go.sum new/melange-0.15.11/go.sum
--- old/melange-0.15.8/go.sum   2024-11-14 23:01:26.000000000 +0100
+++ new/melange-0.15.11/go.sum  2024-11-18 20:47:30.000000000 +0100
@@ -1,32 +1,32 @@
 cel.dev/expr v0.16.1 h1:NR0+oFYzR1CqLFhTAqg3ql59G9VfN8fKq1TCHJ6gq1g=
 cel.dev/expr v0.16.1/go.mod h1:AsGA5zb3WruAEQeQng1RZdGEXmBj0jvMWh6l5SnNuC8=
-chainguard.dev/apko v0.19.9 h1:WDfluorfIb+adj+4C/LZxeeoyE22/b88eYUDS/6FfwY=
-chainguard.dev/apko v0.19.9/go.mod 
h1:8LqyoqrdBeWUoJ+kIl32CJdK5Ut1tM+OKww9nhIwgl8=
-chainguard.dev/go-grpc-kit v0.17.6 
h1:lwIs9LmSnm8jwrH1QmigCwMP6MYkIBENq/0xGduYZss=
-chainguard.dev/go-grpc-kit v0.17.6/go.mod 
h1:ZNaXn2KEO++2u2WveHs65krYiHmAEGjYLeEtfaQaOWU=
+chainguard.dev/apko v0.20.0 h1:9ZZnhlgCw5kXZRRIKlRPy09e/YpP5XRoM1C85G/qjtg=
+chainguard.dev/apko v0.20.0/go.mod 
h1:2Q0DTccFj92gJuJzjYXD56HDhY7sjEJTuantQd9OfbU=
+chainguard.dev/go-grpc-kit v0.17.7 
h1:TqHua7er5k8m6WM96y0Tm7IoLLkuZ5vh3+5SR1gruKg=
+chainguard.dev/go-grpc-kit v0.17.7/go.mod 
h1:JroMzTY9mdhKe/bvtyChgfECaNh80+bMZH3HS+TGXHw=
 chainguard.dev/sdk v0.1.28 h1:xLQv0JxiGhqVKOL059DmTReTjrKFhUsP5U1W6cgr+jQ=
 chainguard.dev/sdk v0.1.28/go.mod 
h1:9EvGI9GY5UPDbZ5AhGbMO8865ixNu36afQYCZ5M95NM=
 cloud.google.com/go v0.26.0/go.mod 
h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
 cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE=
 cloud.google.com/go v0.116.0/go.mod 
h1:cEPSRWPzZEswwdr9BxE6ChEn01dWlTaF05LiC2Xs70U=
-cloud.google.com/go/auth v0.10.1 
h1:TnK46qldSfHWt2a0b/hciaiVJsmDXWy9FqyUan0uYiI=
-cloud.google.com/go/auth v0.10.1/go.mod 
h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNOr38tI=
+cloud.google.com/go/auth v0.10.2 
h1:oKF7rgBfSHdp/kuhXtqU/tNDr0mZqhYbEh+6SiqzkKo=
+cloud.google.com/go/auth v0.10.2/go.mod 
h1:xxA5AqpDrvS+Gkmo9RqrGGRh6WSNKKOXhY3zNOr38tI=
 cloud.google.com/go/auth/oauth2adapt v0.2.5 
h1:2p29+dePqsCHPP1bqDJcKj4qxRyYCcbzKpFyKGt3MTk=
 cloud.google.com/go/auth/oauth2adapt v0.2.5/go.mod 
h1:AlmsELtlEBnaNTL7jCj8VQFLy6mbZv0s4Q7NGBeQ5E8=
 cloud.google.com/go/compute/metadata v0.5.2 
h1:UxK4uu/Tn+I3p2dYWTfiX4wva7aYlKixAHn3fyqngqo=
 cloud.google.com/go/compute/metadata v0.5.2/go.mod 
h1:C66sj2AluDcIqakBq/M8lw8/ybHgOZqin2obFxa/E5k=
-cloud.google.com/go/iam v1.2.1 h1:QFct02HRb7H12J/3utj0qf5tobFh9V4vR6h9eX5EBRU=
-cloud.google.com/go/iam v1.2.1/go.mod 
h1:3VUIJDPpwT6p/amXRC5GY8fCCh70lxPygguVtI0Z4/g=
+cloud.google.com/go/iam v1.2.2 h1:ozUSofHUGf/F4tCNy/mu9tHLTaxZFLOUiKzjcgWHGIA=
+cloud.google.com/go/iam v1.2.2/go.mod 
h1:0Ys8ccaZHdI1dEUilwzqng/6ps2YB6vRsjIe00/+6JY=
 cloud.google.com/go/logging v1.12.0 
h1:ex1igYcGFd4S/RZWOCU51StlIEuey5bjqwH9ZYjHibk=
 cloud.google.com/go/logging v1.12.0/go.mod 
h1:wwYBt5HlYP1InnrtYI0wtwttpVU1rifnMT7RejksUAM=
-cloud.google.com/go/longrunning v0.6.1 
h1:lOLTFxYpr8hcRtcwWir5ITh1PAKUD/sG2lKrTSYjyMc=
-cloud.google.com/go/longrunning v0.6.1/go.mod 
h1:nHISoOZpBcmlwbJmiVk5oDRz0qG/ZxPynEGs1iZ79s0=
-cloud.google.com/go/monitoring v1.21.1 
h1:zWtbIoBMnU5LP9A/fz8LmWMGHpk4skdfeiaa66QdFGc=
-cloud.google.com/go/monitoring v1.21.1/go.mod 
h1:Rj++LKrlht9uBi8+Eb530dIrzG/cU/lB8mt+lbeFK1c=
-cloud.google.com/go/storage v1.46.0 
h1:OTXISBpFd8KaA2ClT3K3oRk8UGOcTHtrZ1bW88xKiic=
-cloud.google.com/go/storage v1.46.0/go.mod 
h1:lM+gMAW91EfXIeMTBmixRsKL/XCxysytoAgduVikjMk=
-cloud.google.com/go/trace v1.11.1 
h1:UNqdP+HYYtnm6lb91aNA5JQ0X14GnxkABGlfz2PzPew=
-cloud.google.com/go/trace v1.11.1/go.mod 
h1:IQKNQuBzH72EGaXEodKlNJrWykGZxet2zgjtS60OtjA=
+cloud.google.com/go/longrunning v0.6.2 
h1:xjDfh1pQcWPEvnfjZmwjKQEcHnpz6lHjfy7Fo0MK+hc=
+cloud.google.com/go/longrunning v0.6.2/go.mod 
h1:k/vIs83RN4bE3YCswdXC5PFfWVILjm3hpEUlSko4PiI=
+cloud.google.com/go/monitoring v1.21.2 
h1:FChwVtClH19E7pJ+e0xUhJPGksctZNVOk2UhMmblmdU=
+cloud.google.com/go/monitoring v1.21.2/go.mod 
h1:hS3pXvaG8KgWTSz+dAdyzPrGUYmi2Q+WFX8g2hqVEZU=
+cloud.google.com/go/storage v1.47.0 
h1:ajqgt30fnOMmLfWfu1PWcb+V9Dxz6n+9WKjdNg5R4HM=
+cloud.google.com/go/storage v1.47.0/go.mod 
h1:Ks0vP374w0PW6jOUameJbapbQKXqkjGd/OJRp2fb9IQ=
+cloud.google.com/go/trace v1.11.2 
h1:4ZmaBdL8Ng/ajrgKqY5jfvzqMXbrDcBsUGXOT9aqTtI=
+cloud.google.com/go/trace v1.11.2/go.mod 
h1:bn7OwXd4pd5rFuAnTrzBuoZ4ax2XQeG3qNgYmfCy0Io=
 dagger.io/dagger v0.14.0 h1:Ld19wPlbIkeMnOlxS0K1Cq4PHbXEQyUWuJnmlBtNo+g=
 dagger.io/dagger v0.14.0/go.mod h1:YCNpoHLR3fiqE7a0yZs06rqD4+oXI9r/u7l6om1w0pI=
 dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
@@ -53,8 +53,8 @@
 github.com/Microsoft/go-winio v0.5.2/go.mod 
h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY=
 github.com/Microsoft/go-winio v0.6.2 
h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY=
 github.com/Microsoft/go-winio v0.6.2/go.mod 
h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU=
-github.com/ProtonMail/go-crypto v1.0.0 
h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78=
-github.com/ProtonMail/go-crypto v1.0.0/go.mod 
h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
+github.com/ProtonMail/go-crypto v1.1.2 
h1:A7JbD57ThNqh7XjmHE+PXpQ3Dqt3BrSAC0AL0Go3KS0=
+github.com/ProtonMail/go-crypto v1.1.2/go.mod 
h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
 github.com/adrg/xdg v0.5.1 h1:Im8iDbEFARltY09yOJlSGu4Asjk2vF85+3Dyru8uJ0U=
 github.com/adrg/xdg v0.5.1/go.mod 
h1:nlTsY+NNiCBGCK2tpm09vRqfVzrc2fLmXGpBLF0zlTQ=
 github.com/anchore/go-struct-converter 
v0.0.0-20221118182256-c68fdcfa2092/go.mod 
h1:rYqSE9HbjzpHTI74vwPvae4ZVYZd1lue2ta6xHPdblA=
@@ -78,7 +78,6 @@
 github.com/blang/semver v3.5.1+incompatible/go.mod 
h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
 github.com/buger/jsonparser v1.1.1 
h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs=
 github.com/buger/jsonparser v1.1.1/go.mod 
h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
-github.com/bwesterb/go-ristretto v1.2.3/go.mod 
h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
 github.com/cenkalti/backoff/v4 v4.3.0 
h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
 github.com/cenkalti/backoff/v4 v4.3.0/go.mod 
h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod 
h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
@@ -94,17 +93,16 @@
 github.com/chainguard-dev/go-pkgconfig 
v0.0.0-20240404163941-6351b37b2a10/go.mod 
h1:1p6+MesLcjKeON5BRWa7I87mvAY0QmKjgginIM3w6BI=
 github.com/chainguard-dev/yam v0.2.3 
h1:6CGnYngNDC+xfJb6LtNdBHhdEEyo63aMuDY1z9tgEuQ=
 github.com/chainguard-dev/yam v0.2.3/go.mod 
h1:4iLVguWfrVj3HWyNoed3B5l1GhoctDRwdLbav/Upe/U=
-github.com/charmbracelet/lipgloss v0.13.1 
h1:Oik/oqDTMVA01GetT4JdEC033dNzWoQHdWnHnQmXE2A=
-github.com/charmbracelet/lipgloss v0.13.1/go.mod 
h1:zaYVJ2xKSKEnTEEbX6uAHabh2d975RJ+0yfkFpRBz5U=
+github.com/charmbracelet/lipgloss v1.0.0 
h1:O7VkGDvqEdGi93X+DeqsQ7PKHDgtQfF8j8/O2qFMQNg=
+github.com/charmbracelet/lipgloss v1.0.0/go.mod 
h1:U5fy9Z+C38obMs+T+tJqst9VGzlOYGj4ri9reL3qUlo=
 github.com/charmbracelet/log v0.4.0 
h1:G9bQAcx8rWA2T3pWvx7YtPTPwgqpk7D68BX21IRW8ZM=
 github.com/charmbracelet/log v0.4.0/go.mod 
h1:63bXt/djrizTec0l11H20t8FDSvA4CRZJ1KH22MdptM=
-github.com/charmbracelet/x/ansi v0.3.2 
h1:wsEwgAN+C9U06l9dCVMX0/L3x7ptvY1qmjMwyfE6USY=
-github.com/charmbracelet/x/ansi v0.3.2/go.mod 
h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw=
+github.com/charmbracelet/x/ansi v0.4.5 
h1:LqK4vwBNaXw2AyGIICa5/29Sbdq58GbGdFngSexTdRM=
+github.com/charmbracelet/x/ansi v0.4.5/go.mod 
h1:dk73KoMTT5AX5BsX0KrqhsTqAnhZZoCBjs7dGWp4Ktw=
 github.com/chzyer/logex v1.1.10/go.mod 
h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
 github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod 
h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
 github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod 
h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
 github.com/client9/misspell v0.3.4/go.mod 
h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/cloudflare/circl v1.3.3/go.mod 
h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
 github.com/cloudflare/circl v1.5.0 
h1:hxIWksrX6XN5a1L2TI/h53AGPhNHoUBo+TD1ms9+pys=
 github.com/cloudflare/circl v1.5.0/go.mod 
h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs=
 github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod 
h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
@@ -114,8 +112,8 @@
 github.com/common-nighthawk/go-figure 
v0.0.0-20210622060536-734e95fb86be/go.mod 
h1:mk5IQ+Y0ZeO87b858TlA645sVcEcbiX6YqP98kt+7+w=
 github.com/containerd/log v0.1.0 
h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I=
 github.com/containerd/log v0.1.0/go.mod 
h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo=
-github.com/containerd/stargz-snapshotter/estargz v0.15.1 
h1:eXJjw9RbkLFgioVaTG+G/ZW/0kEe2oEKCdS/ZxIyoCU=
-github.com/containerd/stargz-snapshotter/estargz v0.15.1/go.mod 
h1:gr2RNwukQ/S9Nv33Lt6UC7xEx58C+LHRdoqbEKjz1Kk=
+github.com/containerd/stargz-snapshotter/estargz v0.16.1 
h1:7YswwU6746cJBN3p3l65JRk3+NZL7bap9Y6E3YeYowk=
+github.com/containerd/stargz-snapshotter/estargz v0.16.1/go.mod 
h1:uyr4BfYfOj3G9WBVE8cOlQmXAbPN9VEQpBBeJIuOipU=
 github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod 
h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 github.com/cpuguy83/go-md2man/v2 v2.0.5 
h1:ZtcqGrnekaHpVLArFSe4HK5DoKx1T0rq2DwVB0alcyc=
 github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod 
h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
@@ -276,14 +274,14 @@
 github.com/google/uuid v1.6.0/go.mod 
h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/googleapis/enterprise-certificate-proxy v0.3.4 
h1:XYIDZApgAnrN1c855gTgghdIA6Stxb52D5RnLI1SLyw=
 github.com/googleapis/enterprise-certificate-proxy v0.3.4/go.mod 
h1:YKe7cfqYXjKGpGvmSg28/fFvhNzinZQm8DGnaburhGA=
-github.com/googleapis/gax-go/v2 v2.13.0 
h1:yitjD5f7jQHhyDsnhKEBU52NdvvdSeGzlAnDPT0hH1s=
-github.com/googleapis/gax-go/v2 v2.13.0/go.mod 
h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A=
+github.com/googleapis/gax-go/v2 v2.14.0 
h1:f+jMrjBPl+DL9nI4IQzLUxMq7XrAqFYB7hBPqMNIe8o=
+github.com/googleapis/gax-go/v2 v2.14.0/go.mod 
h1:lhBCnjdLrWRaPvLWhmc8IS24m9mr07qSYnHncrgo+zk=
 github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 
h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI=
 github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod 
h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8=
 github.com/grpc-ecosystem/go-grpc-prometheus 
v1.2.1-0.20210315223345-82c243799c99 
h1:JYghRBlGCZyCF2wNUJ8W0cwaQdtpcssJ4CgC406g+WU=
 github.com/grpc-ecosystem/go-grpc-prometheus 
v1.2.1-0.20210315223345-82c243799c99/go.mod 
h1:3bDW6wMZJB7tiONtC/1Xpicra6Wp5GgbTbQWCbI5fkc=
-github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 
h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys=
-github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod 
h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0 
h1:ad0vkEBuk23VJzZR9nkLVG0YAoN9coASF1GusYX6AlU=
+github.com/grpc-ecosystem/grpc-gateway/v2 v2.23.0/go.mod 
h1:igFoXX2ELCW06bol23DWPB5BEWfZISOzSP5K2sbLea0=
 github.com/hashicorp/go-cleanhttp v0.5.2 
h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
 github.com/hashicorp/go-cleanhttp v0.5.2/go.mod 
h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
 github.com/hashicorp/go-hclog v1.6.3 
h1:Qr2kF+eVWjTiYmU7Y31tYlP1h0q/X3Nl3tPGdaB11/k=
@@ -332,8 +330,8 @@
 github.com/kubescape/go-git-url v0.0.30/go.mod 
h1:3ddc1HEflms1vMhD9owt/3FBES070UaYTUarcjx8jDk=
 github.com/kylelemons/godebug v1.1.0 
h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
 github.com/kylelemons/godebug v1.1.0/go.mod 
h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
-github.com/letsencrypt/boulder v0.0.0-20241023221324-e5edb7077fc1 
h1:d7tOyKmOJGOkFkRKp4fBORYFCLNFC8o9CyQCtQ+s2y8=
-github.com/letsencrypt/boulder v0.0.0-20241023221324-e5edb7077fc1/go.mod 
h1:UQQzuebeGqBJqA5Stf1Ng77rw1BjxV697QU0CEI/eSk=
+github.com/letsencrypt/boulder v0.0.0-20241114230438-0d70b12a75e8 
h1:VlKnBlY0fMPRDhUJ4CUMPNzOKoRHgpA3YW9O8BMOnBg=
+github.com/letsencrypt/boulder v0.0.0-20241114230438-0d70b12a75e8/go.mod 
h1:UQQzuebeGqBJqA5Stf1Ng77rw1BjxV697QU0CEI/eSk=
 github.com/lucasb-eyer/go-colorful v1.2.0 
h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
 github.com/lucasb-eyer/go-colorful v1.2.0/go.mod 
h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
 github.com/mailru/easyjson v0.7.7 
h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
@@ -405,8 +403,8 @@
 github.com/prometheus/client_model v0.6.1 
h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
 github.com/prometheus/client_model v0.6.1/go.mod 
h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
 github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod 
h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
-github.com/prometheus/common v0.60.0 
h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA=
-github.com/prometheus/common v0.60.0/go.mod 
h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw=
+github.com/prometheus/common v0.60.1 
h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc=
+github.com/prometheus/common v0.60.1/go.mod 
h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw=
 github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/go.mod 
h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
 github.com/prometheus/procfs v0.15.1 
h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
 github.com/prometheus/procfs v0.15.1/go.mod 
h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
@@ -415,8 +413,8 @@
 github.com/rivo/uniseg v0.2.0/go.mod 
h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
 github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
 github.com/rivo/uniseg v0.4.7/go.mod 
h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
-github.com/rogpeppe/go-internal v1.12.0 
h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
-github.com/rogpeppe/go-internal v1.12.0/go.mod 
h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
+github.com/rogpeppe/go-internal v1.13.1 
h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
+github.com/rogpeppe/go-internal v1.13.1/go.mod 
h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
 github.com/russross/blackfriday/v2 v2.1.0 
h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
 github.com/russross/blackfriday/v2 v2.1.0/go.mod 
h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/sassoftware/relic v7.2.1+incompatible 
h1:Pwyh1F3I0r4clFJXkSI8bOyJINGqpgjJU3DYAZeI05A=
@@ -502,10 +500,10 @@
 go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
 go.opentelemetry.io/contrib/detectors/gcp v1.29.0 
h1:TiaiXB4DpGD3sdzNlYQxruQngn5Apwzi1X0DRhuGvDQ=
 go.opentelemetry.io/contrib/detectors/gcp v1.29.0/go.mod 
h1:GW2aWZNwR2ZxDLdv8OyC2G8zkRoQBuURgV7RPQgcPoU=
-go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc 
v0.56.0 h1:yMkBS9yViCc7U7yeLzJPM2XizlfdVvBRSmsQDWu6qc0=
-go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc 
v0.56.0/go.mod h1:n8MR6/liuGB5EmTETUBeU5ZgqMOlqKRxUaqPQBOANZ8=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 
h1:UP6IpuHFkUgOQL9FFQFrZ+5LiwhhYRbi7VZSIx6Nj5s=
-go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0/go.mod 
h1:qxuZLtbq5QDtdeSHsS7bcf6EH6uO6jUAgk764zd3rhM=
+go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc 
v0.57.0 h1:qtFISDHKolvIxzSs0gIaiPUPR0Cucb0F2coHC7ZLdps=
+go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc 
v0.57.0/go.mod h1:Y+Pop1Q6hCOnETWTW4NROK/q1hv50hM7yDaUTjG8lp8=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.57.0 
h1:DheMAlT6POBP+gh8RUH19EOTnQIor5QE0uSRPtzCpSw=
+go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.57.0/go.mod 
h1:wZcGmeVO9nzP67aYSLDqXNWK87EZWhi7JWj1v7ZXf94=
 go.opentelemetry.io/otel v1.32.0 
h1:WnBN+Xjcteh0zdk01SVqV55d/m62NJLJdIyb4y/WO5U=
 go.opentelemetry.io/otel v1.32.0/go.mod 
h1:00DCVSB0RQcnzlwyTfqtxSm+DRr9hpYrHjNGiBHVQIg=
 go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc 
v0.0.0-20240518090000-14441aefdf88 
h1:oM0GTNKGlc5qHctWeIGTVyda4iFFalOzMZ3Ehj5rwB4=
@@ -516,12 +514,14 @@
 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc 
v1.27.0/go.mod h1:xJntEd2KL6Qdg5lwp97HMLQDVeAhrYxmzFseAMDPQ8I=
 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.27.0 
h1:CIHWikMsN3wO+wq1Tp5VGdVRTcON+DmOJSfDjXypKOc=
 go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp 
v1.27.0/go.mod h1:TNupZ6cxqyFEpLXAZW7On+mLFL0/g0TE3unIYL91xWc=
-go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 
h1:lsInsfvhVIfOI6qHVyysXMNDnjO9Npvl7tlDPJFBVd4=
-go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0/go.mod 
h1:KQsVNh4OjgjTG0G6EiNi1jVpnaeeKsKMRwbLN+f1+8M=
-go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0 
h1:m0yTiGDLUvVYaTFbAvCkVYIYcvwKt3G7OLoN77NUs/8=
-go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0/go.mod 
h1:wBQbT4UekBfegL2nx0Xk1vBcnzyBPsIVm9hRG4fYcr4=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0 
h1:IJFEoHiytixx8cMiVAO+GmHR6Frwu+u5Ur8njpFO6Ac=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0/go.mod 
h1:3rHrKNtLIoS0oZwkY2vxi+oJcwFRWdtUyRII+so45p8=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0 
h1:9kV11HXBHZAvuPUZxmMWrH8hZn/6UnHX4K0mu36vNsU=
+go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0/go.mod 
h1:JyA0FHXe22E1NeNiHmVp7kFHglnexDQ7uRWDiiJ1hKQ=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0 
h1:j9+03ymgYhPKmeXGk5Zu+cIZOlVzd9Zv7QIiyItjFBU=
 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.28.0/go.mod 
h1:Y5+XiUG4Emn1hTfciPzGPJaSI+RpDts6BnCIir0SLqk=
+go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0 
h1:WDdP9acbMYjbKIyJUhTvtzj601sVJOqgWdUxSdR/Ysc=
+go.opentelemetry.io/otel/exporters/stdout/stdoutmetric v1.29.0/go.mod 
h1:BLbf7zbNIONBLPwvFnwNHGj4zge8uTCM/UPIVW1Mq2I=
 go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0 
h1:cC2yDI3IQd0Udsux7Qmq8ToKAx1XCilTQECZ0KDZyTw=
 go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.32.0/go.mod 
h1:2PD5Ex6z8CFzDbTdOlwyNIUywRr1DN0ospafJM1wJ+s=
 go.opentelemetry.io/otel/log v0.3.0 
h1:kJRFkpUFYtny37NQzL386WbznUByZx186DpEMKhEGZs=
@@ -538,8 +538,8 @@
 go.opentelemetry.io/otel/trace v1.32.0/go.mod 
h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8=
 go.opentelemetry.io/proto/otlp v1.3.1 
h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0=
 go.opentelemetry.io/proto/otlp v1.3.1/go.mod 
h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8=
-go.step.sm/crypto v0.54.0 h1:V8p+12Ld0NRA/RBMYoKXA0dWmVKZSdCwP56IwzweT9g=
-go.step.sm/crypto v0.54.0/go.mod 
h1:vQJyTngfZDW+UyZdFzOMCY/txWDAmcwViEUC7Gn4YfU=
+go.step.sm/crypto v0.54.2 h1:3LSA5nYDQvcd484OSx7xsS3XDqQ7/WZjVqvq0+a0fWc=
+go.step.sm/crypto v0.54.2/go.mod 
h1:1+OjUozd5aA3TkBJfr5Aobd6vNt9F70n1DagcoBh3Pc=
 go.uber.org/atomic v1.7.0/go.mod 
h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
 go.uber.org/goleak v1.1.10/go.mod 
h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A=
 go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
@@ -555,14 +555,12 @@
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod 
h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod 
h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod 
h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
-golang.org/x/crypto v0.7.0/go.mod 
h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
 golang.org/x/crypto v0.19.0/go.mod 
h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
-golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw=
-golang.org/x/crypto v0.28.0/go.mod 
h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U=
+golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ=
+golang.org/x/crypto v0.29.0/go.mod 
h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c 
h1:7dEasQXItcW1xKJ2+gg5VOiBnqWrJc+rq0DPKyvvdbY=
-golang.org/x/exp v0.0.0-20241009180824-f66d83c29e7c/go.mod 
h1:NQtJDoLvd6faHhE7m4T/1IY708gDefGGjR/iUW8yQQ8=
+golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f 
h1:XdNn9LlyWAhLVp6P/i8QYBW+hlyhrhei9uErw2B5GJo=
+golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f/go.mod 
h1:D5SMRVC3C2/4+F/DB1wZsLRnSNimn2Sp/NPsCrsv8ak=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod 
h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod 
h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
 golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod 
h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
@@ -571,8 +569,8 @@
 golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod 
h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
-golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
+golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4=
+golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -590,15 +588,13 @@
 golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod 
h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
 golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod 
h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
 golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod 
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
 golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
-golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
 golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
-golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
-golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
+golang.org/x/net v0.31.0 h1:68CPQngjLL0r2AlUKiSxtQFKvzRVbnzLwMUn5SzcLHo=
+golang.org/x/net v0.31.0/go.mod h1:P4fl1q7dY2hnZFxEk4pPSkDHF+QqjitcnDjUQyMM+pM=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod 
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs=
-golang.org/x/oauth2 v0.23.0/go.mod 
h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
+golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE=
+golang.org/x/oauth2 v0.24.0/go.mod 
h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
 golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -631,8 +627,6 @@
 golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -641,20 +635,16 @@
 golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
 golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
-golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
 golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
 golang.org/x/term v0.17.0/go.mod 
h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
-golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24=
-golang.org/x/term v0.25.0/go.mod 
h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M=
+golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU=
+golang.org/x/term v0.26.0/go.mod 
h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
-golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
 golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
 golang.org/x/text v0.14.0/go.mod 
h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
 golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug=
@@ -678,20 +668,20 @@
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/api v0.205.0 h1:LFaxkAIpDb/GsrWV20dMMo5MR0h8UARTbn24LmD+0Pg=
-google.golang.org/api v0.205.0/go.mod 
h1:NrK1EMqO8Xk6l6QwRAmrXXg2v6dzukhlOyvkYtnvUuc=
+google.golang.org/api v0.206.0 h1:A27GClesCSheW5P2BymVHjpEeQ2XHH8DI8Srs2HI2L8=
+google.golang.org/api v0.206.0/go.mod 
h1:BtB8bfjTYIrai3d8UyvPmV9REGgox7coh+ZRwm0b+W8=
 google.golang.org/appengine v1.1.0/go.mod 
h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
 google.golang.org/appengine v1.4.0/go.mod 
h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
 google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod 
h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
 google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod 
h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
 google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod 
h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
 google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod 
h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto v0.0.0-20241021214115-324edc3d5d38 
h1:Q3nlH8iSQSRUwOskjbcSMcF2jiYMNiQYZ0c2KEJLKKU=
-google.golang.org/genproto v0.0.0-20241021214115-324edc3d5d38/go.mod 
h1:xBI+tzfqGGN2JBeSebfKXFSdBpWVQ7sLW40PTupVRm4=
-google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38 
h1:2oV8dfuIkM1Ti7DwXc0BJfnwr9csz4TDXI9EmiI+Rbw=
-google.golang.org/genproto/googleapis/api 
v0.0.0-20241021214115-324edc3d5d38/go.mod 
h1:vuAjtvlwkDKF6L1GQ0SokiRLCGFfeBUXWr/aFFkHACc=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38 
h1:zciRKQ4kBpFgpfC5QQCVtnnNAcLIqweL7plyZRQHVpI=
-google.golang.org/genproto/googleapis/rpc 
v0.0.0-20241021214115-324edc3d5d38/go.mod 
h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI=
+google.golang.org/genproto v0.0.0-20241104194629-dd2ea8efbc28 
h1:KJjNNclfpIkVqrZlTWcgOOaVQ00LdBnoEaRfkUx760s=
+google.golang.org/genproto v0.0.0-20241104194629-dd2ea8efbc28/go.mod 
h1:mt9/MofW7AWQ+Gy179ChOnvmJatV8YHUmrcedo9CIFI=
+google.golang.org/genproto/googleapis/api v0.0.0-20241113202542-65e8d215514f 
h1:M65LEviCfuZTfrfzwwEoxVtgvfkFkBUbFnRbxCXuXhU=
+google.golang.org/genproto/googleapis/api 
v0.0.0-20241113202542-65e8d215514f/go.mod 
h1:Yo94eF2nj7igQt+TiJ49KxjIH8ndLYPZMIRSiRcEbg0=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241113202542-65e8d215514f 
h1:C1QccEa9kUwvMgEUORqQD9S17QesQijxjZ84sO82mfo=
+google.golang.org/genproto/googleapis/rpc 
v0.0.0-20241113202542-65e8d215514f/go.mod 
h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI=
 google.golang.org/grpc v1.18.0/go.mod 
h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs=
 google.golang.org/grpc v1.19.0/go.mod 
h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.23.0/go.mod 
h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
@@ -699,8 +689,8 @@
 google.golang.org/grpc v1.27.0/go.mod 
h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
 google.golang.org/grpc v1.29.1/go.mod 
h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
 google.golang.org/grpc v1.33.2/go.mod 
h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E=
-google.golang.org/grpc v1.67.1/go.mod 
h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA=
+google.golang.org/grpc v1.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0=
+google.golang.org/grpc v1.68.0/go.mod 
h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA=
 google.golang.org/grpc/stats/opentelemetry v0.0.0-20240907200651-3ffb98b2c93a 
h1:UIpYSuWdWHSzjwcAFRLjKcPXFZVVLXGEM23W+NWqipw=
 google.golang.org/grpc/stats/opentelemetry 
v0.0.0-20240907200651-3ffb98b2c93a/go.mod 
h1:9i1T9n4ZinTUZGgzENMi8MDDgbGC5mqTS75JAv6xN3A=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod 
h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
@@ -714,8 +704,8 @@
 google.golang.org/protobuf v1.25.0/go.mod 
h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
 google.golang.org/protobuf v1.26.0-rc.1/go.mod 
h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
 google.golang.org/protobuf v1.26.0/go.mod 
h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.35.1 
h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
-google.golang.org/protobuf v1.35.1/go.mod 
h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+google.golang.org/protobuf v1.35.2 
h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io=
+google.golang.org/protobuf v1.35.2/go.mod 
h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/melange-0.15.8/pkg/build/build.go 
new/melange-0.15.11/pkg/build/build.go
--- old/melange-0.15.8/pkg/build/build.go       2024-11-14 23:01:26.000000000 
+0100
+++ new/melange-0.15.11/pkg/build/build.go      2024-11-18 20:47:30.000000000 
+0100
@@ -58,6 +58,22 @@
 
 const melangeOutputDirName = "melange-out"
 
+var shellEmptyDir = []string{
+       "sh", "-c",
+       `d="$1";
+[ $# -eq 1 ] || { echo "must provide dir. got $# args."; exit 1; }
+cd "$d" || { echo "failed cd '$d'"; exit 1; }
+set --
+for e in * .*; do
+  [ "$e" = "." -o "$e" = ".." -o "$e" = "*" ] && continue
+  set -- "$@" "$e"
+done
+[ $# -gt 0 ] || { echo "nothing to cleanup. $d was empty."; exit 0; }
+echo "cleaning Workspace by removing $# file/directories in $d"
+rm -Rf "$@"`,
+       "shellEmptyDir",
+}
+
 var ErrSkipThisArch = errors.New("error: skip this arch")
 
 type Build struct {
@@ -947,6 +963,17 @@
                }
        }
 
+       // clean build environment
+       log.Debugf("cleaning workspacedir")
+       cleanEnv := map[string]string{}
+       if err := pr.runner.Run(ctx, pr.config, cleanEnv, append(shellEmptyDir, 
WorkDir)...); err != nil {
+               log.Warnf("unable to clean workspace: %s", err)
+       }
+       // if the Runner used WorkspaceDir as WorkDir, then this will be empty 
already.
+       if err := os.RemoveAll(b.WorkspaceDir); err != nil {
+               log.Warnf("unable to clean workspace: %s", err)
+       }
+
        if !b.isBuildLess() {
                // clean build guest container
                if err := os.RemoveAll(b.GuestDir); err != nil {
@@ -954,14 +981,6 @@
                }
        }
 
-       // clean build environment
-       // TODO(epsilon-phase): implement a way to clean up files that are not 
owned by the user
-       // that is running melange. files created inside the build not owned by 
the build user are
-       // not be possible to delete with this strategy.
-       if err := os.RemoveAll(b.WorkspaceDir); err != nil {
-               log.Warnf("unable to clean workspace: %s", err)
-       }
-
        // generate APKINDEX.tar.gz and sign it
        if b.GenerateIndex {
                packageDir := filepath.Join(b.OutDir, b.Arch.ToAPK())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/melange-0.15.8/pkg/build/pipeline.go 
new/melange-0.15.11/pkg/build/pipeline.go
--- old/melange-0.15.8/pkg/build/pipeline.go    2024-11-14 23:01:26.000000000 
+0100
+++ new/melange-0.15.11/pkg/build/pipeline.go   2024-11-18 20:47:30.000000000 
+0100
@@ -34,6 +34,8 @@
        "github.com/chainguard-dev/clog"
 )
 
+const WorkDir = "/home/build"
+
 func (sm *SubstitutionMap) MutateWith(with map[string]string) 
(map[string]string, error) {
        nw := maps.Clone(sm.Substitutions)
 
@@ -187,7 +189,7 @@
                envOverride[k] = v
        }
 
-       workdir := "/home/build"
+       workdir := WorkDir
        if pipeline.WorkDir != "" {
                workdir = pipeline.WorkDir
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/melange-0.15.8/release.md 
new/melange-0.15.11/release.md
--- old/melange-0.15.8/release.md       2024-11-14 23:01:26.000000000 +0100
+++ new/melange-0.15.11/release.md      2024-11-18 20:47:30.000000000 +0100
@@ -1,45 +1,19 @@
 # Melange Release Process
 
-## Patch releases
-
-The most common type of release of Melange is a patch release. Generally we 
should aim to do these as often as necessary to release _backward compatible_ 
changes, especially to release updated dependencies to fix vulnerabilities.
-
 To cut a release:
-- go to https://github.com/chainguard-dev/melange/releases/new
-- click "Choose a tag" then "Find or create a new tag"
-- type a new patch version tag for the latest minor version
-  - for example, if the latest version is `v0.5.5`, create a patch release 
`v0.5.6`
-- click "Create new tag: v0.X.Y on publish"
-  - you can leave the release title empty
-- click "Generate release notes"
-  - make any editorial changes to the release notes you think are relevant
-- make sure "Set as the latest release" is checked
-- click **"Publish release"**
-
-### Monitor the release automation
-
-Once the tag is pushed, the [`Create Release` 
action](https://github.com/chainguard-dev/melange/actions/workflows/release.yaml)
-will attach the appropriate release artifacts and update release notes.
-
-At the time of this writing, the release job takes 20 to 30 minutes to execute.
-
-Make any editorial changes to the release notes you think are necessary.
-You may want to highlight certain changes or remove items that aren't 
interesting.
-
-Once the `Release` action has been completed successfully, find your release on
-the [releases page](https://github.com/chainguard-dev/melange/releases)
 
-## Minor releases
+1. Go to 
https://github.com/chainguard-dev/melange/actions/workflows/release.yaml.
+2. Click on the `Run workflow` button.
+3. In the dropdown, ensure that the `main` branch is selected.
+4. In the dropdown, click on the `Run workflow` button.
+5. Wait for the workflow to complete successfully.
 
-Occasionally there are large or breaking changes to Melange that we want to 
highlight with a new minor release.
-A minor release should be cut shortly after a breaking change is made, so that 
regular patch releases don't release breaking changes.
+### Useful things to know
 
-The process for cutting a release is exactly the same as above, except that 
you should pick a new minor version.
+#### Detecting whether a new release is needed
 
-For example, if the latest version is `v0.5.5`, create a minor release 
`v0.6.0`.
+The release workflow checks to see if there are any changes since the last 
release. If there are no changes, the workflow will end execution early and not 
create a new release.
 
-## Homebrew
+#### Automatic triggering
 
-Our release pipeline automate the process to update our [homebrew 
tap](https://github.com/chainguard-dev/homebrew-tap/blob/main/Formula/melange.rb),
-but it does not update the [Homebrew-core upstream 
repository](https://github.com/Homebrew/homebrew-core/blob/master/Formula/m/melange.rb)
 for that one
-we need to open a manual Pull Request.
+In addition to being triggerable manually (as described at the top of this 
document), the workflow also runs automatically every night. Just like with 
manual triggering, if there are no new changes since the last release, the 
workflow will end early without creating a new release.

++++++ melange.obsinfo ++++++
--- /var/tmp/diff_new_pack.JSFPq2/_old  2024-11-19 22:21:26.179764989 +0100
+++ /var/tmp/diff_new_pack.JSFPq2/_new  2024-11-19 22:21:26.183765155 +0100
@@ -1,5 +1,5 @@
 name: melange
-version: 0.15.8
-mtime: 1731621686
-commit: 70bbb7dc9a3194e3a542ecc25400cfee1ddc6348
+version: 0.15.11
+mtime: 1731959250
+commit: d05832dc5a9540123f705215dfd0e41b2b934567
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/melange/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.melange.new.28523/vendor.tar.gz differ: char 5, 
line 1

Reply via email to