Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package golang-github-prometheus-promu for 
openSUSE:Factory checked in at 2026-02-19 14:20:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/golang-github-prometheus-promu (Old)
 and      /work/SRC/openSUSE:Factory/.golang-github-prometheus-promu.new.1977 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "golang-github-prometheus-promu"

Thu Feb 19 14:20:00 2026 rev:24 rq:1333724 version:0.18.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/golang-github-prometheus-promu/golang-github-prometheus-promu.changes
    2026-02-06 21:31:04.940066242 +0100
+++ 
/work/SRC/openSUSE:Factory/.golang-github-prometheus-promu.new.1977/golang-github-prometheus-promu.changes
  2026-02-19 14:20:04.298504021 +0100
@@ -1,0 +2,7 @@
+Wed Feb 11 06:03:35 UTC 2026 - Johannes Kastl 
<[email protected]>
+
+- update to 0.18.0:
+  * [FEATURE] add cli flag to use podman instead of docker for
+    crossbuild #360
+
+-------------------------------------------------------------------

Old:
----
  promu-0.17.0.tar.gz

New:
----
  promu-0.18.0.tar.gz

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

Other differences:
------------------
++++++ golang-github-prometheus-promu.spec ++++++
--- /var/tmp/diff_new_pack.EO1y4p/_old  2026-02-19 14:20:05.186540460 +0100
+++ /var/tmp/diff_new_pack.EO1y4p/_new  2026-02-19 14:20:05.190540625 +0100
@@ -25,7 +25,7 @@
 %define shortname promu
 
 Name:           golang-github-prometheus-promu
-Version:        0.17.0
+Version:        0.18.0
 Release:        0
 Summary:        Prometheus Utility Tool
 License:        Apache-2.0
@@ -37,9 +37,9 @@
 Patch2:         extldflags-no-static.patch
 ExcludeArch:    s390
 %if 0%{?rhel}
-BuildRequires:  golang >= 1.21
+BuildRequires:  golang >= 1.24
 %else
-BuildRequires:  golang(API) >= 1.21
+BuildRequires:  golang(API) >= 1.24
 %endif
 
 %description

++++++ promu-0.17.0.tar.gz -> promu-0.18.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/.circleci/config.yml 
new/promu-0.18.0/.circleci/config.yml
--- old/promu-0.17.0/.circleci/config.yml       2024-04-20 12:31:47.000000000 
+0200
+++ new/promu-0.18.0/.circleci/config.yml       2026-02-10 17:19:01.000000000 
+0100
@@ -5,7 +5,7 @@
   # Whenever the Go version is updated here, .promu.yml should also be updated.
   golang:
     docker:
-    - image: cimg/go:1.22
+    - image: cimg/go:1.25
 
 jobs:
   test:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/.github/workflows/golangci-lint.yml 
new/promu-0.18.0/.github/workflows/golangci-lint.yml
--- old/promu-0.17.0/.github/workflows/golangci-lint.yml        2024-04-20 
12:31:47.000000000 +0200
+++ new/promu-0.18.0/.github/workflows/golangci-lint.yml        2026-02-10 
17:19:01.000000000 +0100
@@ -24,15 +24,21 @@
     runs-on: ubuntu-latest
     steps:
       - name: Checkout repository
-        uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # 
v4.1.2
-      - name: install Go
-        uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # 
v5.0.0
+        uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # 
v6.0.1
         with:
-          go-version: 1.22.x
+          persist-credentials: false
+      - name: Install Go
+        uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # 
v6.1.0
+        with:
+          go-version: 1.25.x
       - name: Install snmp_exporter/generator dependencies
         run: sudo apt-get update && sudo apt-get -y install libsnmp-dev
         if: github.repository == 'prometheus/snmp_exporter'
+      - name: Get golangci-lint version
+        id: golangci-lint-version
+        run: echo "version=$(make print-golangci-lint-version)" >> 
$GITHUB_OUTPUT
       - name: Lint
-        uses: 
golangci/golangci-lint-action@3cfe3a4abbb849e10058ce4af15d205b6da42804 # v4.0.0
+        uses: 
golangci/golangci-lint-action@1e7e51e771db61008b38414a730f564565cf7c20 # v9.2.0
         with:
-          version: v1.56.2
+          args: --verbose
+          version: ${{ steps.golangci-lint-version.outputs.version }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/.golangci.yml 
new/promu-0.18.0/.golangci.yml
--- old/promu-0.17.0/.golangci.yml      2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/.golangci.yml      2026-02-10 17:19:01.000000000 +0100
@@ -1,7 +1,14 @@
+formatters:
+  enable:
+    - gofumpt
+    - goimports
+  settings:
+    goimports:
+      local-prefixes:
+        - github.com/prometheus/promu
 issues:
   max-issues-per-linter: 0
   max-same-issues: 0
-
 linters:
   disable:
     - errcheck
@@ -9,18 +16,58 @@
   enable:
     - errorlint
     - gocritic
-    - gofumpt
-    - goimports
-    - govet
     - revive
-    - staticcheck
-
-linters-settings:
-  goimports:
-    local-prefixes: github.com/prometheus/promu
-  revive:
-    rules:
-      # 
https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md#unused-parameter
-      - name: unused-parameter
-        severity: warning
-        disabled: true
+  exclusions:
+    generated: strict
+    presets:
+      - comments
+      - common-false-positives
+      - legacy
+      - std-error-handling
+    warn-unused: true
+  settings:
+    revive:
+      # By default, revive will enable only the linting rules that are named 
in the configuration file.
+      # So, it's needed to explicitly enable all required rules here.
+      rules:
+        # https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md
+        - name: blank-imports
+        - name: comment-spacings
+        - name: context-as-argument
+          arguments:
+            # Allow functions with test or bench signatures.
+            - allowTypesBefore: '*testing.T,testing.TB'
+        - name: context-keys-type
+        - name: dot-imports
+        - name: early-return
+          arguments:
+            - preserveScope
+        # A lot of false positives: incorrectly identifies channel draining as 
"empty code block".
+        # See https://github.com/mgechev/revive/issues/386
+        - name: empty-block
+          disabled: true
+        - name: error-naming
+        - name: error-return
+        - name: error-strings
+        - name: errorf
+        - name: exported
+        - name: increment-decrement
+        - name: indent-error-flow
+          arguments:
+            - preserveScope
+        - name: package-comments
+          # TODO(beorn7): Currently, we have a lot of missing package doc 
comments. Maybe we should have them.
+          disabled: true
+        - name: range
+        - name: receiver-naming
+        - name: redefines-builtin-id
+        - name: superfluous-else
+          arguments:
+            - preserveScope
+        - name: time-naming
+        - name: unexported-return
+        - name: unreachable-code
+        - name: unused-parameter
+        - name: var-declaration
+        - name: var-naming
+version: "2"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/.promu.yml new/promu-0.18.0/.promu.yml
--- old/promu-0.17.0/.promu.yml 2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/.promu.yml 2026-02-10 17:19:01.000000000 +0100
@@ -1,7 +1,7 @@
 go:
     # Whenever the Go version is updated here,
     # .circle/config.yml should also be updated.
-    version: 1.22
+    version: 1.25
 repository:
     path: github.com/prometheus/promu
 build:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/CHANGELOG.md 
new/promu-0.18.0/CHANGELOG.md
--- old/promu-0.17.0/CHANGELOG.md       2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/CHANGELOG.md       2026-02-10 17:19:01.000000000 +0100
@@ -1,3 +1,11 @@
+## 0.18.0 / 2026-02-10
+
+* [FEATURE] add cli flag to use podman instead of docker for crossbuild #360
+
+## 0.17.1 / 2025-04-02
+
+* [BUGFIX] Fix short version print #333
+
 ## 0.17.0 / 2024-04-14
 
 * [FEATURE] Add codesign utility function #284
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/MAINTAINERS.md 
new/promu-0.18.0/MAINTAINERS.md
--- old/promu-0.17.0/MAINTAINERS.md     2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/MAINTAINERS.md     2026-02-10 17:19:01.000000000 +0100
@@ -1 +1 @@
-* Steve Durrheimer <[email protected]>
+* Kemal Akkoyun <[email protected]> @kakkoyun
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/Makefile.common 
new/promu-0.18.0/Makefile.common
--- old/promu-0.17.0/Makefile.common    2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/Makefile.common    2026-02-10 17:19:01.000000000 +0100
@@ -1,4 +1,4 @@
-# Copyright 2018 The Prometheus Authors
+# Copyright The Prometheus Authors
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
@@ -55,13 +55,14 @@
 endif
 endif
 
-PROMU_VERSION ?= 0.15.0
+PROMU_VERSION ?= 0.17.0
 PROMU_URL     := 
https://github.com/prometheus/promu/releases/download/v$(PROMU_VERSION)/promu-$(PROMU_VERSION).$(GO_BUILD_PLATFORM).tar.gz
 
 SKIP_GOLANGCI_LINT :=
 GOLANGCI_LINT :=
 GOLANGCI_LINT_OPTS ?=
-GOLANGCI_LINT_VERSION ?= v1.56.2
+GOLANGCI_LINT_VERSION ?= v2.7.2
+GOLANGCI_FMT_OPTS ?=
 # golangci-lint only supports linux, darwin and windows platforms on 
i386/amd64/arm64.
 # windows isn't included here because of the path separator being different.
 ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin))
@@ -81,11 +82,32 @@
 PREFIX                  ?= $(shell pwd)
 BIN_DIR                 ?= $(shell pwd)
 DOCKER_IMAGE_TAG        ?= $(subst /,-,$(shell git rev-parse --abbrev-ref 
HEAD))
-DOCKERFILE_PATH         ?= ./Dockerfile
 DOCKERBUILD_CONTEXT     ?= ./
 DOCKER_REPO             ?= prom
 
+# Check if deprecated DOCKERFILE_PATH is set
+ifdef DOCKERFILE_PATH
+$(error DOCKERFILE_PATH is deprecated. Use DOCKERFILE_VARIANTS ?= 
$(DOCKERFILE_PATH) in the Makefile)
+endif
+
 DOCKER_ARCHS            ?= amd64
+DOCKERFILE_VARIANTS     ?= Dockerfile $(wildcard Dockerfile.*)
+
+# Function to extract variant from Dockerfile label.
+# Returns the variant name from io.prometheus.image.variant label, or 
"default" if not found.
+define dockerfile_variant
+$(strip $(or $(shell sed -n 
's/.*io\.prometheus\.image\.variant="\([^"]*\)".*/\1/p' $(1)),default))
+endef
+
+# Check for duplicate variant names (including default for Dockerfiles without 
labels).
+DOCKERFILE_VARIANT_NAMES := $(foreach df,$(DOCKERFILE_VARIANTS),$(call 
dockerfile_variant,$(df)))
+DOCKERFILE_VARIANT_NAMES_SORTED := $(sort $(DOCKERFILE_VARIANT_NAMES))
+ifneq ($(words $(DOCKERFILE_VARIANT_NAMES)),$(words 
$(DOCKERFILE_VARIANT_NAMES_SORTED)))
+$(error Duplicate variant names found. Each Dockerfile must have a unique 
io.prometheus.image.variant label, and only one can be without a label 
(default))
+endif
+
+# Build variant:dockerfile pairs for shell iteration.
+DOCKERFILE_VARIANTS_WITH_NAMES := $(foreach df,$(DOCKERFILE_VARIANTS),$(call 
dockerfile_variant,$(df)):$(df))
 
 BUILD_DOCKER_ARCHS = $(addprefix common-docker-,$(DOCKER_ARCHS))
 PUBLISH_DOCKER_ARCHS = $(addprefix common-docker-publish-,$(DOCKER_ARCHS))
@@ -111,7 +133,7 @@
 .PHONY: common-style
 common-style:
        @echo ">> checking code style"
-       @fmtRes=$$($(GOFMT) -d $$(find . -path ./vendor -prune -o -name '*.go' 
-print)); \
+       @fmtRes=$$($(GOFMT) -d $$(git ls-files '*.go' ':!:vendor/*' || find . 
-path ./vendor -prune -o -name '*.go' -print)); \
        if [ -n "$${fmtRes}" ]; then \
                echo "gofmt checking failed!"; echo "$${fmtRes}"; echo; \
                echo "Please ensure you are using $$($(GO) version) for 
formatting code."; \
@@ -121,13 +143,19 @@
 .PHONY: common-check_license
 common-check_license:
        @echo ">> checking license header"
-       @licRes=$$(for file in $$(find . -type f -iname '*.go' ! -path 
'./vendor/*') ; do \
+       @licRes=$$(for file in $$(git ls-files '*.go' ':!:vendor/*' || find . 
-path ./vendor -prune -o -type f -iname '*.go' -print) ; do \
                awk 'NR<=3' $$file | grep -Eq "(Copyright|generated|GENERATED)" 
|| echo $$file; \
        done); \
        if [ -n "$${licRes}" ]; then \
                echo "license header checking failed:"; echo "$${licRes}"; \
                exit 1; \
        fi
+       @echo ">> checking for copyright years 2026 or later"
+       @futureYearRes=$$(git grep -E 'Copyright (202[6-9]|20[3-9][0-9])' -- 
'*.go' ':!:vendor/*' || true); \
+       if [ -n "$${futureYearRes}" ]; then \
+               echo "Files with copyright year 2026 or later found (should use 
'Copyright The Prometheus Authors'):"; echo "$${futureYearRes}"; \
+               exit 1; \
+       fi
 
 .PHONY: common-deps
 common-deps:
@@ -138,7 +166,7 @@
 update-go-deps:
        @echo ">> updating Go dependencies"
        @for m in $$($(GO) list -mod=readonly -m -f '{{ if and (not .Indirect) 
(not .Main)}}{{.Path}}{{end}}' all); do \
-               $(GO) get -d $$m; \
+               $(GO) get $$m; \
        done
        $(GO) mod tidy
 
@@ -156,9 +184,13 @@
        @mkdir -p $@
 
 .PHONY: common-format
-common-format:
+common-format: $(GOLANGCI_LINT)
        @echo ">> formatting code"
        $(GO) fmt $(pkgs)
+ifdef GOLANGCI_LINT
+       @echo ">> formatting code with golangci-lint"
+       $(GOLANGCI_LINT) fmt $(GOLANGCI_FMT_OPTS)
+endif
 
 .PHONY: common-vet
 common-vet:
@@ -215,28 +247,88 @@
 .PHONY: common-docker $(BUILD_DOCKER_ARCHS)
 common-docker: $(BUILD_DOCKER_ARCHS)
 $(BUILD_DOCKER_ARCHS): common-docker-%:
-       docker build -t 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" \
-               -f $(DOCKERFILE_PATH) \
-               --build-arg ARCH="$*" \
-               --build-arg OS="linux" \
-               $(DOCKERBUILD_CONTEXT)
+       @for variant in $(DOCKERFILE_VARIANTS_WITH_NAMES); do \
+               dockerfile=$${variant#*:}; \
+               variant_name=$${variant%%:*}; \
+               distroless_arch="$*"; \
+               if [ "$*" = "armv7" ]; then \
+                       distroless_arch="arm"; \
+               fi; \
+               if [ "$$dockerfile" = "Dockerfile" ]; then \
+                       echo "Building default variant ($$variant_name) for 
linux-$* using $$dockerfile"; \
+                       docker build -t 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" \
+                               -f $$dockerfile \
+                               --build-arg ARCH="$*" \
+                               --build-arg OS="linux" \
+                               --build-arg DISTROLESS_ARCH="$$distroless_arch" 
\
+                               $(DOCKERBUILD_CONTEXT); \
+                       if [ "$$variant_name" != "default" ]; then \
+                               echo "Tagging default variant with 
$$variant_name suffix"; \
+                               docker tag 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" \
+                                       
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name";
 \
+                       fi; \
+               else \
+                       echo "Building $$variant_name variant for linux-$* 
using $$dockerfile"; \
+                       docker build -t 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name"
 \
+                               -f $$dockerfile \
+                               --build-arg ARCH="$*" \
+                               --build-arg OS="linux" \
+                               --build-arg DISTROLESS_ARCH="$$distroless_arch" 
\
+                               $(DOCKERBUILD_CONTEXT); \
+               fi; \
+       done
 
 .PHONY: common-docker-publish $(PUBLISH_DOCKER_ARCHS)
 common-docker-publish: $(PUBLISH_DOCKER_ARCHS)
 $(PUBLISH_DOCKER_ARCHS): common-docker-publish-%:
-       docker push 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)"
+       @for variant in $(DOCKERFILE_VARIANTS_WITH_NAMES); do \
+               dockerfile=$${variant#*:}; \
+               variant_name=$${variant%%:*}; \
+               if [ "$$dockerfile" != "Dockerfile" ] || [ "$$variant_name" != 
"default" ]; then \
+                       echo "Pushing $$variant_name variant for linux-$*"; \
+                       docker push 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name";
 \
+               fi; \
+               if [ "$$dockerfile" = "Dockerfile" ]; then \
+                       echo "Pushing default variant ($$variant_name) for 
linux-$*"; \
+                       docker push 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)"; \
+               fi; \
+       done
 
 DOCKER_MAJOR_VERSION_TAG = $(firstword $(subst ., ,$(shell cat VERSION)))
 .PHONY: common-docker-tag-latest $(TAG_DOCKER_ARCHS)
 common-docker-tag-latest: $(TAG_DOCKER_ARCHS)
 $(TAG_DOCKER_ARCHS): common-docker-tag-latest-%:
-       docker tag 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:latest"
-       docker tag 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:v$(DOCKER_MAJOR_VERSION_TAG)"
+       @for variant in $(DOCKERFILE_VARIANTS_WITH_NAMES); do \
+               dockerfile=$${variant#*:}; \
+               variant_name=$${variant%%:*}; \
+               if [ "$$dockerfile" != "Dockerfile" ] || [ "$$variant_name" != 
"default" ]; then \
+                       echo "Tagging $$variant_name variant for linux-$* as 
latest"; \
+                       docker tag 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name"
 "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:latest-$$variant_name"; \
+                       docker tag 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name"
 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:v$(DOCKER_MAJOR_VERSION_TAG)-$$variant_name";
 \
+               fi; \
+               if [ "$$dockerfile" = "Dockerfile" ]; then \
+                       echo "Tagging default variant ($$variant_name) for 
linux-$* as latest"; \
+                       docker tag 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:latest"; \
+                       docker tag 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:$(SANITIZED_DOCKER_IMAGE_TAG)" 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$*:v$(DOCKER_MAJOR_VERSION_TAG)"; \
+               fi; \
+       done
 
 .PHONY: common-docker-manifest
 common-docker-manifest:
-       DOCKER_CLI_EXPERIMENTAL=enabled docker manifest create -a 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(SANITIZED_DOCKER_IMAGE_TAG)" $(foreach 
ARCH,$(DOCKER_ARCHS),$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$(ARCH):$(SANITIZED_DOCKER_IMAGE_TAG))
-       DOCKER_CLI_EXPERIMENTAL=enabled docker manifest push 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(SANITIZED_DOCKER_IMAGE_TAG)"
+       @for variant in $(DOCKERFILE_VARIANTS_WITH_NAMES); do \
+               dockerfile=$${variant#*:}; \
+               variant_name=$${variant%%:*}; \
+               if [ "$$dockerfile" != "Dockerfile" ] || [ "$$variant_name" != 
"default" ]; then \
+                       echo "Creating manifest for $$variant_name variant"; \
+                       DOCKER_CLI_EXPERIMENTAL=enabled docker manifest create 
-a 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name"
 $(foreach 
ARCH,$(DOCKER_ARCHS),$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$(ARCH):$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name);
 \
+                       DOCKER_CLI_EXPERIMENTAL=enabled docker manifest push 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(SANITIZED_DOCKER_IMAGE_TAG)-$$variant_name";
 \
+               fi; \
+               if [ "$$dockerfile" = "Dockerfile" ]; then \
+                       echo "Creating default variant ($$variant_name) 
manifest"; \
+                       DOCKER_CLI_EXPERIMENTAL=enabled docker manifest create 
-a "$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(SANITIZED_DOCKER_IMAGE_TAG)" 
$(foreach 
ARCH,$(DOCKER_ARCHS),$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME)-linux-$(ARCH):$(SANITIZED_DOCKER_IMAGE_TAG));
 \
+                       DOCKER_CLI_EXPERIMENTAL=enabled docker manifest push 
"$(DOCKER_REPO)/$(DOCKER_IMAGE_NAME):$(SANITIZED_DOCKER_IMAGE_TAG)"; \
+               fi; \
+       done
 
 .PHONY: promu
 promu: $(PROMU)
@@ -248,8 +340,8 @@
        cp $(PROMU_TMP)/promu-$(PROMU_VERSION).$(GO_BUILD_PLATFORM)/promu 
$(FIRST_GOPATH)/bin/promu
        rm -r $(PROMU_TMP)
 
-.PHONY: proto
-proto:
+.PHONY: common-proto
+common-proto:
        @echo ">> generating code from proto files"
        @./scripts/genproto.sh
 
@@ -261,6 +353,10 @@
                | sh -s -- -b $(FIRST_GOPATH)/bin $(GOLANGCI_LINT_VERSION)
 endif
 
+.PHONY: common-print-golangci-lint-version
+common-print-golangci-lint-version:
+       @echo $(GOLANGCI_LINT_VERSION)
+
 .PHONY: precheck
 precheck::
 
@@ -275,3 +371,9 @@
                exit 1; \
        fi
 endef
+
+govulncheck: install-govulncheck
+       govulncheck ./...
+
+install-govulncheck:
+       command -v govulncheck > /dev/null || go install 
golang.org/x/vuln/cmd/govulncheck@latest
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/VERSION new/promu-0.18.0/VERSION
--- old/promu-0.17.0/VERSION    2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/VERSION    2026-02-10 17:19:01.000000000 +0100
@@ -1 +1 @@
-0.17.0
+0.18.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/cmd/build.go 
new/promu-0.18.0/cmd/build.go
--- old/promu-0.17.0/cmd/build.go       2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/cmd/build.go       2026-02-10 17:19:01.000000000 +0100
@@ -39,13 +39,13 @@
        buildcmd        = app.Command("build", "Build a Go project")
        buildCgoFlagSet bool
        buildCgoFlag    = buildcmd.Flag("cgo", "Enable CGO").
-                       PreAction(func(c *kingpin.ParseContext) error {
+                       PreAction(func(_ *kingpin.ParseContext) error {
                        buildCgoFlagSet = true
                        return nil
                }).Bool()
        prefixFlagSet bool
        prefixFlag    = buildcmd.Flag("prefix", "Specific dir to store binaries 
(default is .)").
-                       PreAction(func(c *kingpin.ParseContext) error {
+                       PreAction(func(_ *kingpin.ParseContext) error {
                        prefixFlagSet = true
                        return nil
                }).String()
@@ -168,11 +168,11 @@
 
                tmpl, err := 
template.New("ldflags").Funcs(fnMap).Parse(ldflagsTmpl)
                if err != nil {
-                       fatal(fmt.Errorf("Failed to parse ldflags 
text/template: %w", err))
+                       fatal(fmt.Errorf("failed to parse ldflags 
text/template: %w", err))
                }
 
                if err := tmpl.Execute(tmplOutput, info); err != nil {
-                       fatal(fmt.Errorf("Failed to execute ldflags 
text/template: %w", err))
+                       fatal(fmt.Errorf("failed to execute ldflags 
text/template: %w", err))
                }
 
                ldflags = append(ldflags, strings.Split(tmplOutput.String(), 
"\n")...)
@@ -201,7 +201,7 @@
        } else {
                unixBuildDate, err := strconv.ParseInt(sourceDate, 10, 64)
                if err != nil {
-                       fatal(fmt.Errorf("Failed to parse %s: %w", 
sourceDateEpoch, err))
+                       fatal(fmt.Errorf("failed to parse %s: %w", 
sourceDateEpoch, err))
                } else {
                        buildDate = time.Unix(unixBuildDate, 0)
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/cmd/check.go 
new/promu-0.18.0/cmd/check.go
--- old/promu-0.17.0/cmd/check.go       2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/cmd/check.go       2026-02-10 17:19:01.000000000 +0100
@@ -49,7 +49,7 @@
 
        filesMissingHeaders, err := checkLicenses(path, n, extensions)
        if err != nil {
-               fatal(fmt.Errorf("Failed to check files for license header: 
%w", err))
+               fatal(fmt.Errorf("failed to check files for license header: 
%w", err))
        }
 
        for _, file := range filesMissingHeaders {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/cmd/checksum.go 
new/promu-0.18.0/cmd/checksum.go
--- old/promu-0.17.0/cmd/checksum.go    2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/cmd/checksum.go    2026-02-10 17:19:01.000000000 +0100
@@ -35,17 +35,17 @@
 func runChecksum(path string) {
        checksums, err := calculateSHA256s(path)
        if err != nil {
-               fatal(fmt.Errorf("Failed to calculate checksums: %w", err))
+               fatal(fmt.Errorf("failed to calculate checksums: %w", err))
        }
 
        file, err := os.Create(filepath.Join(path, checksumsFilename))
        if err != nil {
-               fatal(fmt.Errorf("Failed to create checksums file: %w", err))
+               fatal(fmt.Errorf("failed to create checksums file: %w", err))
        }
        defer file.Close()
        for _, c := range checksums {
                if _, err := fmt.Fprintf(file, "%x  %s\n", c.checksum, 
c.filename); err != nil {
-                       fatal(fmt.Errorf("Failed to write to checksums file: 
%w", err))
+                       fatal(fmt.Errorf("failed to write to checksums file: 
%w", err))
                }
        }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/cmd/crossbuild.go 
new/promu-0.18.0/cmd/crossbuild.go
--- old/promu-0.17.0/cmd/crossbuild.go  2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/cmd/crossbuild.go  2026-02-10 17:19:01.000000000 +0100
@@ -78,7 +78,7 @@
        crossbuildcmd        = app.Command("crossbuild", "Crossbuild a Go 
project using Golang builder Docker images")
        crossBuildCgoFlagSet bool
        crossBuildCgoFlag    = crossbuildcmd.Flag("cgo", "Enable CGO using 
several docker images with different crossbuild toolchains.").
-                               PreAction(func(c *kingpin.ParseContext) error {
+                               PreAction(func(_ *kingpin.ParseContext) error {
                        crossBuildCgoFlagSet = true
                        return nil
                }).Default("false").Bool()
@@ -86,16 +86,18 @@
        parallelThreadFlag = crossbuildcmd.Flag("parallelism-thread", "Index of 
the parallel build").Default("-1").Int()
        goFlagSet          bool
        goFlag             = crossbuildcmd.Flag("go", "Golang builder version 
to use (e.g. 1.11)").
-                               PreAction(func(c *kingpin.ParseContext) error {
+                               PreAction(func(_ *kingpin.ParseContext) error {
                        goFlagSet = true
                        return nil
                }).String()
        platformsFlagSet bool
        platformsFlag    = crossbuildcmd.Flag("platforms", "Regexp match 
platforms to build, may be used multiple times.").Short('p').
-                               PreAction(func(c *kingpin.ParseContext) error {
+                               PreAction(func(_ *kingpin.ParseContext) error {
                        platformsFlagSet = true
                        return nil
                }).Strings()
+       containerEngine = "docker"
+       podmanFlag      = crossbuildcmd.Flag("podman", "Use podman instead of 
docker for crossbuild containers.").Bool()
        // kingpin doesn't currently support using the crossbuild command and 
the
        // crossbuild tarball subcommand at the same time, so we treat the
        // tarball subcommand as an optional arg
@@ -112,6 +114,12 @@
                return
        }
 
+       if *podmanFlag {
+               containerEngine = "podman"
+       } else {
+               containerEngine = "docker"
+       }
+
        if crossBuildCgoFlagSet {
                config.Go.CGo = *crossBuildCgoFlag
        }
@@ -157,13 +165,13 @@
                // In non-CGO, use the `base` image without any crossbuild 
toolchain.
                pg := &platformGroup{"base", dockerBaseBuilderImage, 
allPlatforms}
                if err := pg.Build(repoPath); err != nil {
-                       fatal(fmt.Errorf("The %s builder docker image exited 
unexpectedly: %w", pg.Name, err))
+                       fatal(fmt.Errorf("the %s builder docker image exited 
unexpectedly: %w", pg.Name, err))
                }
        } else {
                // In CGO, use the `main` image with crossbuild toolchain.
                pg := &platformGroup{"main", dockerMainBuilderImage, 
allPlatforms}
                if err := pg.Build(repoPath); err != nil {
-                       fatal(fmt.Errorf("The %s builder docker image exited 
unexpectedly: %w", pg.Name, err))
+                       fatal(fmt.Errorf("the %s builder docker image exited 
unexpectedly: %w", pg.Name, err))
                }
        }
 }
@@ -178,7 +186,7 @@
        if *parallelThreadFlag != -1 {
                return pg.buildThread(repoPath, *parallelThreadFlag)
        }
-       err := sh.RunCommand("docker", "pull", pg.DockerImage)
+       err := sh.RunCommand(containerEngine, "pull", pg.DockerImage)
        if err != nil {
                return err
        }
@@ -208,7 +216,7 @@
                return nil
        }
 
-       fmt.Printf("> running the %s builder docker image\n", pg.Name)
+       fmt.Printf("> running the %s builder %s image\n", pg.Name, 
containerEngine)
 
        cwd, err := os.Getwd()
        if err != nil {
@@ -216,7 +224,7 @@
        }
 
        ctrName := "promu-crossbuild-" + pg.Name + 
strconv.FormatInt(time.Now().Unix(), 10) + "-" + strconv.Itoa(p)
-       err = sh.RunCommand("docker", "create", "-t",
+       err = sh.RunCommand(containerEngine, "create", "-t",
                "--name", ctrName,
                pg.DockerImage,
                "-i", repoPath,
@@ -225,25 +233,25 @@
                return err
        }
 
-       err = sh.RunCommand("docker", "cp",
+       err = sh.RunCommand(containerEngine, "cp",
                cwd+"/.",
                ctrName+":/app/")
        if err != nil {
                return err
        }
 
-       err = sh.RunCommand("docker", "start", "-a", ctrName)
+       err = sh.RunCommand(containerEngine, "start", "-a", ctrName)
        if err != nil {
                return err
        }
 
-       err = sh.RunCommand("docker", "cp", "-a",
+       err = sh.RunCommand(containerEngine, "cp", "-a",
                ctrName+":/app/.build/.",
                cwd+"/.build")
        if err != nil {
                return err
        }
-       return sh.RunCommand("docker", "rm", "-f", ctrName)
+       return sh.RunCommand(containerEngine, "rm", "-f", ctrName)
 }
 
 func removeDuplicates(strings []string) []string {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/cmd/promu.go 
new/promu-0.18.0/cmd/promu.go
--- old/promu-0.17.0/cmd/promu.go       2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/cmd/promu.go       2026-02-10 17:19:01.000000000 +0100
@@ -24,7 +24,7 @@
        "strings"
 
        kingpin "github.com/alecthomas/kingpin/v2"
-       yaml "gopkg.in/yaml.v2"
+       "go.yaml.in/yaml/v2"
 
        "github.com/prometheus/promu/pkg/repository"
        "github.com/prometheus/promu/util/sh"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/cmd/tarball.go 
new/promu-0.18.0/cmd/tarball.go
--- old/promu-0.17.0/cmd/tarball.go     2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/cmd/tarball.go     2026-02-10 17:19:01.000000000 +0100
@@ -32,7 +32,7 @@
 
        tarballPrefixSet bool
        tarballPrefix    = tarballcmd.Flag("prefix", "Specific dir to store 
tarballs").
-                               PreAction(func(c *kingpin.ParseContext) error {
+                               PreAction(func(_ *kingpin.ParseContext) error {
                        tarballPrefixSet = true
                        return nil
                }).
@@ -64,7 +64,7 @@
        dir := filepath.Join(tmpDir, name)
 
        if err := os.MkdirAll(dir, 0o777); err != nil {
-               fatal(fmt.Errorf("Failed to create directory: %w", err))
+               fatal(fmt.Errorf("failed to create directory: %w", err))
        }
        defer sh.RunCommand("rm", "-rf", tmpDir)
 
@@ -92,7 +92,7 @@
                archive := name + ".zip"
                fmt.Println(" >  ", archive)
                if err := createZIP(filepath.Join(prefix, archive), dir); err 
!= nil {
-                       fatal(fmt.Errorf("Could not create ZIP archive: %w", 
err))
+                       fatal(fmt.Errorf("could not create ZIP archive: %w", 
err))
                }
        }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/cmd/version.go 
new/promu-0.18.0/cmd/version.go
--- old/promu-0.17.0/cmd/version.go     2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/cmd/version.go     2026-02-10 17:19:01.000000000 +0100
@@ -27,7 +27,7 @@
 
 func runVersion() {
        if *short {
-               fmt.Printf(version.Version)
+               fmt.Println(version.Version)
        } else {
                fmt.Println(version.Print("promu"))
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/go.mod new/promu-0.18.0/go.mod
--- old/promu-0.17.0/go.mod     2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/go.mod     2026-02-10 17:19:01.000000000 +0100
@@ -1,19 +1,19 @@
 module github.com/prometheus/promu
 
-go 1.21
+go 1.24.0
 
 require (
-       github.com/Masterminds/semver/v3 v3.2.1
+       github.com/Masterminds/semver/v3 v3.4.0
        github.com/alecthomas/kingpin/v2 v2.4.0
        github.com/google/go-github/v25 v25.1.3
-       github.com/prometheus/common v0.52.3
+       github.com/prometheus/common v0.67.5
        go.uber.org/atomic v1.11.0
-       golang.org/x/oauth2 v0.19.0
-       gopkg.in/yaml.v2 v2.4.0
+       go.yaml.in/yaml/v2 v2.4.3
+       golang.org/x/oauth2 v0.35.0
 )
 
 require (
-       github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // 
indirect
+       github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b // 
indirect
        github.com/google/go-querystring v1.0.0 // indirect
        github.com/kr/pretty v0.3.1 // indirect
        github.com/xhit/go-str2duration/v2 v2.1.0 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/promu-0.17.0/go.sum new/promu-0.18.0/go.sum
--- old/promu-0.17.0/go.sum     2024-04-20 12:31:47.000000000 +0200
+++ new/promu-0.18.0/go.sum     2026-02-10 17:19:01.000000000 +0100
@@ -1,16 +1,14 @@
-github.com/Masterminds/semver/v3 v3.2.1 
h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
-github.com/Masterminds/semver/v3 v3.2.1/go.mod 
h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
+github.com/Masterminds/semver/v3 v3.4.0 
h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0=
+github.com/Masterminds/semver/v3 v3.4.0/go.mod 
h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
 github.com/alecthomas/kingpin/v2 v2.4.0 
h1:f48lwail6p8zpO1bC4TxtqACaGqHYA22qkHjHpqDjYY=
 github.com/alecthomas/kingpin/v2 v2.4.0/go.mod 
h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE=
-github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 
h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc=
-github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod 
h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE=
+github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b 
h1:mimo19zliBX/vSQ6PWWSL9lK8qwHozUj03+zLoEB8O0=
+github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod 
h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs=
 github.com/creack/pty v1.1.9/go.mod 
h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
 github.com/davecgh/go-spew v1.1.0/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 
h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/golang/protobuf v1.2.0/go.mod 
h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
-github.com/google/go-cmp v0.6.0/go.mod 
h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/go-github/v25 v25.1.3 
h1:Ht4YIQgUh4l4lc80fvGnw60khXysXvlgPxPP8uJG3EA=
 github.com/google/go-github/v25 v25.1.3/go.mod 
h1:6z5pC69qHtrPJ0sXPsj4BLnd82b+r6sLB7qcBoRZqpw=
 github.com/google/go-querystring v1.0.0 
h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk=
@@ -22,24 +20,32 @@
 github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod 
h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
 github.com/pmezard/go-difflib v1.0.0 
h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod 
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/prometheus/common v0.52.3 
h1:5f8uj6ZwHSscOGNdIQg6OiZv/ybiK2CO2q2drVZAQSA=
-github.com/prometheus/common v0.52.3/go.mod 
h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U=
+github.com/prometheus/common v0.67.5 
h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTUGI4=
+github.com/prometheus/common v0.67.5/go.mod 
h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw=
 github.com/rogpeppe/go-internal v1.9.0/go.mod 
h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
 github.com/rogpeppe/go-internal v1.10.0 
h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
 github.com/rogpeppe/go-internal v1.10.0/go.mod 
h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
 github.com/stretchr/objx v0.1.0/go.mod 
h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.4.0/go.mod 
h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.8.2 
h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
-github.com/stretchr/testify v1.8.2/go.mod 
h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
+github.com/stretchr/objx v0.4.0/go.mod 
h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
+github.com/stretchr/objx v0.5.0/go.mod 
h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
+github.com/stretchr/objx v0.5.2/go.mod 
h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
+github.com/stretchr/testify v1.7.1/go.mod 
h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.8.0/go.mod 
h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
+github.com/stretchr/testify v1.8.4/go.mod 
h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
+github.com/stretchr/testify v1.9.0/go.mod 
h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
+github.com/stretchr/testify v1.11.1 
h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
+github.com/stretchr/testify v1.11.1/go.mod 
h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
 github.com/xhit/go-str2duration/v2 v2.1.0 
h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc=
 github.com/xhit/go-str2duration/v2 v2.1.0/go.mod 
h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU=
 go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
 go.uber.org/atomic v1.11.0/go.mod 
h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
+go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0=
+go.yaml.in/yaml/v2 v2.4.3/go.mod 
h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8=
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod 
h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod 
h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod 
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.19.0 h1:9+E/EZBCbTLNrbN35fHv/a/d/mOBatymz1zbtQrXpIg=
-golang.org/x/oauth2 v0.19.0/go.mod 
h1:vYi7skDa1x015PmRRYZ7+s1cWyPgrPiSYRe4rnsexc8=
+golang.org/x/oauth2 v0.35.0 h1:Mv2mzuHuZuY2+bkyWXIHMfhNdJAdwW3FuWeCPYN5GVQ=
+golang.org/x/oauth2 v0.35.0/go.mod 
h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
 golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -47,8 +53,6 @@
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c 
h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod 
h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
-gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
-gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod 
h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

++++++ vendor.tar.gz ++++++
++++ 21808 lines of diff (skipped)

Reply via email to