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)