From 2335453c84558a7df888f21dadbcfb84225521c6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 08:29:16 -0700 Subject: [PATCH 1/5] chore: bump github.com/docker/buildx from 0.15.0 to 0.15.1 (#673) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index d1b860332..a3ab1cb8d 100644 --- a/go.mod +++ b/go.mod @@ -10,14 +10,14 @@ require ( github.com/cpuguy83/dockercfg v0.3.1 github.com/cpuguy83/go-docker v0.3.0 github.com/distribution/reference v0.6.0 - github.com/docker/buildx v0.15.0 + github.com/docker/buildx v0.15.1 github.com/docker/cli v26.1.4+incompatible github.com/google/go-containerregistry v0.19.1 github.com/hashicorp/go-multierror v1.1.1 github.com/knqyf263/go-apk-version v0.0.0-20200609155635-041fdbb8563f github.com/knqyf263/go-deb-version v0.0.0-20230223133812-3ed183d23422 github.com/knqyf263/go-rpm-version v0.0.0-20220614171824-631e686d1075 - github.com/moby/buildkit v0.14.0 + github.com/moby/buildkit v0.14.1 github.com/opencontainers/go-digest v1.0.0 github.com/opencontainers/image-spec v1.1.0 github.com/openvex/go-vex v0.2.5 diff --git a/go.sum b/go.sum index 6eb3cb06f..c0dd76c24 100644 --- a/go.sum +++ b/go.sum @@ -112,8 +112,8 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8Yc github.com/denisenkom/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -github.com/docker/buildx v0.15.0 h1:PVq4IMnTvw1Sx0RKDWbfi2eTGawFd9CMBYnz9xat93Y= -github.com/docker/buildx v0.15.0/go.mod h1:AdkB1RIcU4rfZ6mpw2PA2pOi1ppI9yvFXkVEpq5EmS4= +github.com/docker/buildx v0.15.1 h1:1cO6JIc0rOoC8tlxfXoh1HH1uxaNvYH1q7J7kv5enhw= +github.com/docker/buildx v0.15.1/go.mod h1:16DQgJqoggmadc1UhLaUTPqKtR+PlByN/kyXFdkhFCo= github.com/docker/cli v26.1.4+incompatible h1:I8PHdc0MtxEADqYJZvhBrW9bo8gawKwwenxRM7/rLu8= github.com/docker/cli v26.1.4+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= @@ -307,8 +307,8 @@ github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WT github.com/mitchellh/mapstructure v0.0.0-20150613213606-2caf8efc9366/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/buildkit v0.14.0 h1:mHv2lFS8znLDRc4SMyM2B9tPjxWh2blMvr0H7ARquNM= -github.com/moby/buildkit v0.14.0/go.mod h1:1XssG7cAqv5Bz1xcGMxJL123iCv5TYN4Z/qf647gfuk= +github.com/moby/buildkit v0.14.1 h1:2epLCZTkn4CikdImtsLtIa++7DzCimrrZCT1sway+oI= +github.com/moby/buildkit v0.14.1/go.mod h1:1XssG7cAqv5Bz1xcGMxJL123iCv5TYN4Z/qf647gfuk= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= From 962b773450f8b21f1803fe1bda4995a57c1678c1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 25 Jun 2024 10:02:41 -0700 Subject: [PATCH 2/5] chore: bump github.com/google/go-containerregistry from 0.19.1 to 0.19.2 (#675) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a3ab1cb8d..738e58692 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/distribution/reference v0.6.0 github.com/docker/buildx v0.15.1 github.com/docker/cli v26.1.4+incompatible - github.com/google/go-containerregistry v0.19.1 + github.com/google/go-containerregistry v0.19.2 github.com/hashicorp/go-multierror v1.1.1 github.com/knqyf263/go-apk-version v0.0.0-20200609155635-041fdbb8563f github.com/knqyf263/go-deb-version v0.0.0-20230223133812-3ed183d23422 diff --git a/go.sum b/go.sum index c0dd76c24..ef17093b7 100644 --- a/go.sum +++ b/go.sum @@ -200,8 +200,8 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= 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-containerregistry v0.19.1 h1:yMQ62Al6/V0Z7CqIrrS1iYoA5/oQCm88DeNujc7C1KY= -github.com/google/go-containerregistry v0.19.1/go.mod h1:YCMFNQeeXeLF+dnhhWkqDItx/JSkH01j1Kis4PsjzFI= +github.com/google/go-containerregistry v0.19.2 h1:TannFKE1QSajsP6hPWb5oJNgKe1IKjHukIKDUmvsV6w= +github.com/google/go-containerregistry v0.19.2/go.mod h1:YCMFNQeeXeLF+dnhhWkqDItx/JSkH01j1Kis4PsjzFI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= From 938c98b42b9b827e6639f0fac30940ca402a2bdb Mon Sep 17 00:00:00 2001 From: Ashna Mehrotra Date: Wed, 26 Jun 2024 16:23:01 -0700 Subject: [PATCH 3/5] feat: Add error validation for update all (#618) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ashnamehrotra Co-authored-by: Sertaç Özercan <852750+sozercan@users.noreply.github.com> --- pkg/buildkit/buildkit.go | 4 ++++ pkg/pkgmgr/apk.go | 15 ++++++++++----- pkg/pkgmgr/dpkg.go | 39 ++++++++++++++++++++++++++++----------- pkg/pkgmgr/rpm.go | 36 +++++++++++++++++++++++++++--------- 4 files changed, 69 insertions(+), 25 deletions(-) diff --git a/pkg/buildkit/buildkit.go b/pkg/buildkit/buildkit.go index 0555d6946..9cd809900 100644 --- a/pkg/buildkit/buildkit.go +++ b/pkg/buildkit/buildkit.go @@ -90,6 +90,10 @@ func ExtractFileFromState(ctx context.Context, c gwclient.Client, st *llb.State, }) } +func Sh(cmd string) llb.RunOption { + return llb.Args([]string{"/bin/sh", "-c", cmd}) +} + func ArrayFile(input []string) []byte { var b bytes.Buffer for _, s := range input { diff --git a/pkg/pkgmgr/apk.go b/pkg/pkgmgr/apk.go index b53f94d9e..314bd2c6a 100644 --- a/pkg/pkgmgr/apk.go +++ b/pkg/pkgmgr/apk.go @@ -120,7 +120,7 @@ func validateAPKPackageVersions(updates unversioned.UpdatePackages, cmp VersionC func (am *apkManager) InstallUpdates(ctx context.Context, manifest *unversioned.UpdateManifest, ignoreErrors bool) (*llb.State, []string, error) { // If manifest is nil, update all packages if manifest == nil { - updatedImageState, _, err := am.upgradePackages(ctx, nil) + updatedImageState, _, err := am.upgradePackages(ctx, nil, ignoreErrors) if err != nil { return updatedImageState, nil, err } @@ -140,7 +140,7 @@ func (am *apkManager) InstallUpdates(ctx context.Context, manifest *unversioned. } log.Debugf("latest unique APKs: %v", updates) - updatedImageState, resultsBytes, err := am.upgradePackages(ctx, updates) + updatedImageState, resultsBytes, err := am.upgradePackages(ctx, updates, ignoreErrors) if err != nil { return nil, nil, err } @@ -161,7 +161,7 @@ func (am *apkManager) InstallUpdates(ctx context.Context, manifest *unversioned. // TODO: support "distroless" Alpine images (e.g. APKO images) // Still assumes that APK exists in the target image and is pathed, which can be addressed by // mounting a copy of apk-tools-static into the image and invoking apk-static directly. -func (am *apkManager) upgradePackages(ctx context.Context, updates unversioned.UpdatePackages) (*llb.State, []byte, error) { +func (am *apkManager) upgradePackages(ctx context.Context, updates unversioned.UpdatePackages, ignoreErrors bool) (*llb.State, []byte, error) { // TODO: Add support for custom APK config apkUpdated := am.config.ImageState.Run(llb.Shlex("apk update"), llb.WithProxy(utils.GetProxy()), llb.IgnoreCache).Root() @@ -200,8 +200,13 @@ func (am *apkManager) upgradePackages(ctx context.Context, updates unversioned.U } } else { // if updates is not specified, update all packages - installCmd := `apk upgrade --no-cache` - apkInstalled = apkUpdated.Run(llb.Shlex(installCmd), llb.WithProxy(utils.GetProxy())).Root() + installCmd := `output=$(apk upgrade --no-cache 2>&1); if [ $? -ne 0 ]; then echo "$output" >>error_log.txt; fi` + apkInstalled = apkUpdated.Run(buildkit.Sh(installCmd), llb.WithProxy(utils.GetProxy())).Root() + + // Validate no errors were encountered if updating all + if !ignoreErrors { + apkInstalled = apkInstalled.Run(buildkit.Sh("if [ -s error_log.txt ]; then cat error_log.txt; exit 1; fi")).Root() + } } // Diff the installed updates and merge that into the target image diff --git a/pkg/pkgmgr/dpkg.go b/pkg/pkgmgr/dpkg.go index 2784c91ef..29ff1d92f 100644 --- a/pkg/pkgmgr/dpkg.go +++ b/pkg/pkgmgr/dpkg.go @@ -122,19 +122,17 @@ func (dm *dpkgManager) InstallUpdates(ctx context.Context, manifest *unversioned // If manifest nil, update all packages if manifest == nil { if dm.isDistroless { - updatedImageState, _, err := dm.unpackAndMergeUpdates(ctx, nil, toolImageName) + updatedImageState, _, err := dm.unpackAndMergeUpdates(ctx, nil, toolImageName, ignoreErrors) if err != nil { return updatedImageState, nil, err } - // add validation in the future return updatedImageState, nil, nil } - updatedImageState, _, err := dm.installUpdates(ctx, nil) + updatedImageState, _, err := dm.installUpdates(ctx, nil, ignoreErrors) if err != nil { return updatedImageState, nil, err } - // add validation in the future return updatedImageState, nil, nil } @@ -153,12 +151,12 @@ func (dm *dpkgManager) InstallUpdates(ctx context.Context, manifest *unversioned var updatedImageState *llb.State var resultManifestBytes []byte if dm.isDistroless { - updatedImageState, resultManifestBytes, err = dm.unpackAndMergeUpdates(ctx, updates, toolImageName) + updatedImageState, resultManifestBytes, err = dm.unpackAndMergeUpdates(ctx, updates, toolImageName, ignoreErrors) if err != nil { return nil, nil, err } } else { - updatedImageState, resultManifestBytes, err = dm.installUpdates(ctx, updates) + updatedImageState, resultManifestBytes, err = dm.installUpdates(ctx, updates, ignoreErrors) if err != nil { return nil, nil, err } @@ -304,7 +302,7 @@ func GetPackageInfo(file string) (string, string, error) { // // TODO: Support Debian images with valid dpkg status but missing tools. No current examples exist in test set // i.e. extra RunOption to mount a copy of busybox-static or full apt install into the image and invoking that. -func (dm *dpkgManager) installUpdates(ctx context.Context, updates unversioned.UpdatePackages) (*llb.State, []byte, error) { +func (dm *dpkgManager) installUpdates(ctx context.Context, updates unversioned.UpdatePackages, ignoreErrors bool) (*llb.State, []byte, error) { // TODO: Add support for custom APT config and gpg key injection // Since this takes place in the target container, it can interfere with install actions // such as the installation of the updated debian-archive-keyring package, so it's probably best @@ -330,11 +328,16 @@ func (dm *dpkgManager) installUpdates(ctx context.Context, updates unversioned.U installCmd = fmt.Sprintf(aptInstallTemplate, strings.Join(pkgStrings, " ")) } else { // if updates is not specified, update all packages - installCmd = `sh -c "apt upgrade -y && apt clean -y && apt autoremove"` + installCmd = `sh -c "output=$(apt upgrade -y && apt clean -y && apt autoremove 2>&1); if [ $? -ne 0 ]; then echo "$output" >>error_log.txt; fi"` } aptInstalled := aptUpdated.Run(llb.Shlex(installCmd), llb.WithProxy(utils.GetProxy())).Root() + // Validate no errors were encountered if updating all + if updates == nil && !ignoreErrors { + aptInstalled = aptInstalled.Run(buildkit.Sh("if [ -s error_log.txt ]; then cat error_log.txt; exit 1; fi")).Root() + } + // Write results.manifest to host for post-patch validation const outputResultsTemplate = `sh -c 'grep "^Package:\|^Version:" "%s" >> "%s"'` outputResultsCmd := fmt.Sprintf(outputResultsTemplate, dpkgStatusPath, resultManifest) @@ -352,7 +355,7 @@ func (dm *dpkgManager) installUpdates(ctx context.Context, updates unversioned.U return &patchMerge, resultsBytes, nil } -func (dm *dpkgManager) unpackAndMergeUpdates(ctx context.Context, updates unversioned.UpdatePackages, toolImage string) (*llb.State, []byte, error) { +func (dm *dpkgManager) unpackAndMergeUpdates(ctx context.Context, updates unversioned.UpdatePackages, toolImage string, ignoreErrors bool) (*llb.State, []byte, error) { imagePlatform, err := dm.config.ImageState.GetPlatform(ctx) if err != nil { return nil, nil, fmt.Errorf("unable to get image platform %w", err) @@ -415,11 +418,25 @@ func (dm *dpkgManager) unpackAndMergeUpdates(ctx context.Context, updates unvers } downloadCmd = fmt.Sprintf(aptDownloadTemplate, strings.Join(pkgStrings, " ")) } else { - // only updated the outdated pacakges from packages.txt - downloadCmd = "xargs -a packages.txt -n 1 apt download --no-install-recommends" + // only update the outdated pacakges from packages.txt + downloadCmd = ` + packages=$(&1) + if [ $? -ne 0 ]; then + echo "$output" >>error_log.txt + fi + done + ` } downloaded := updated.Dir(dpkgDownloadPath).Run(llb.Args([]string{"bash", "-c", downloadCmd}), llb.WithProxy(utils.GetProxy())).Root() + + // Validate no errors were encountered if updating all + if updates == nil && !ignoreErrors { + downloaded = downloaded.Run(buildkit.Sh("if [ -s error_log.txt ]; then cat error_log.txt; exit 1; fi")).Root() + } + diffState := llb.Diff(updated, downloaded) // Scripted enumeration and dpkg unpack of all downloaded packages [layer to merge with target] diff --git a/pkg/pkgmgr/rpm.go b/pkg/pkgmgr/rpm.go index 7a18cab88..32e1a1967 100644 --- a/pkg/pkgmgr/rpm.go +++ b/pkg/pkgmgr/rpm.go @@ -211,12 +211,12 @@ func (rm *rpmManager) InstallUpdates(ctx context.Context, manifest *unversioned. var updatedImageState *llb.State var resultManifestBytes []byte if rm.isDistroless { - updatedImageState, resultManifestBytes, err = rm.unpackAndMergeUpdates(ctx, updates, toolImageName) + updatedImageState, resultManifestBytes, err = rm.unpackAndMergeUpdates(ctx, updates, toolImageName, ignoreErrors) if err != nil { return nil, nil, err } } else { - updatedImageState, resultManifestBytes, err = rm.installUpdates(ctx, updates) + updatedImageState, resultManifestBytes, err = rm.installUpdates(ctx, updates, ignoreErrors) if err != nil { return nil, nil, err } @@ -383,7 +383,7 @@ func parseManifestFile(file string) (map[string]string, error) { // // TODO: Support RPM-based images with valid rpm status but missing tools. (e.g. calico images > v3.21.0) // i.e. extra RunOption to mount a copy of rpm tools installed into the image and invoking that. -func (rm *rpmManager) installUpdates(ctx context.Context, updates unversioned.UpdatePackages) (*llb.State, []byte, error) { +func (rm *rpmManager) installUpdates(ctx context.Context, updates unversioned.UpdatePackages, ignoreErrors bool) (*llb.State, []byte, error) { pkgs := "" // If specific updates, provided, parse into pkg names, else will update all @@ -400,13 +400,13 @@ func (rm *rpmManager) installUpdates(ctx context.Context, updates unversioned.Up var installCmd string switch { case rm.rpmTools["dnf"] != "": - const dnfInstallTemplate = `sh -c '%[1]s upgrade %[2]s -y && %[1]s clean all'` + const dnfInstallTemplate = `sh -c 'output=$(%[1]s upgrade %[2]s -y && %[1]s clean all 2>&1); if [ $? -ne 0 ]; then echo "$output" >>error_log.txt; fi'` installCmd = fmt.Sprintf(dnfInstallTemplate, rm.rpmTools["dnf"], pkgs) case rm.rpmTools["yum"] != "": - const yumInstallTemplate = `sh -c '%[1]s upgrade %[2]s -y && %[1]s clean all'` + const yumInstallTemplate = `sh -c 'output=$(%[1]s upgrade %[2]s -y && %[1]s clean all 2>&1); if [ $? -ne 0 ]; then echo "$output" >>error_log.txt; fi'` installCmd = fmt.Sprintf(yumInstallTemplate, rm.rpmTools["yum"], pkgs) case rm.rpmTools["microdnf"] != "": - const microdnfInstallTemplate = `sh -c '%[1]s update %[2]s && %[1]s clean all'` + const microdnfInstallTemplate = `sh -c 'output=$(%[1]s update %[2]s && %[1]s clean all 2>&1); if [ $? -ne 0 ]; then echo "$output" >>error_log.txt; fi'` installCmd = fmt.Sprintf(microdnfInstallTemplate, rm.rpmTools["microdnf"], pkgs) default: err := errors.New("unexpected: no package manager tools were found for patching") @@ -414,6 +414,11 @@ func (rm *rpmManager) installUpdates(ctx context.Context, updates unversioned.Up } installed := rm.config.ImageState.Run(llb.Shlex(installCmd), llb.WithProxy(utils.GetProxy())).Root() + // Validate no errors were encountered if updating all + if updates == nil && !ignoreErrors { + installed = installed.Run(buildkit.Sh("if [ -s error_log.txt ]; then cat error_log.txt; exit 1; fi")).Root() + } + // Write results.manifest to host for post-patch validation var resultBytes []byte var err error @@ -434,7 +439,7 @@ func (rm *rpmManager) installUpdates(ctx context.Context, updates unversioned.Up return &patchMerge, resultBytes, nil } -func (rm *rpmManager) unpackAndMergeUpdates(ctx context.Context, updates unversioned.UpdatePackages, toolImage string) (*llb.State, []byte, error) { +func (rm *rpmManager) unpackAndMergeUpdates(ctx context.Context, updates unversioned.UpdatePackages, toolImage string, ignoreErrors bool) (*llb.State, []byte, error) { // Spin up a build tooling container to fetch and unpack packages to create patch layer. // Pull family:version -> need to create version to base image map toolingBase := llb.Image(toolImage, @@ -489,10 +494,23 @@ func (rm *rpmManager) unpackAndMergeUpdates(ctx context.Context, updates unversi downloadCmd = fmt.Sprintf(rpmDownloadTemplate, strings.Join(pkgStrings, " ")) } else { // only updated the outdated pacakges from packages.txt - downloadCmd = `xargs -a packages.txt -n 1 yumdownloader --downloadonly --downloaddir=. --best -y` + downloadCmd = ` + packages=$(&1) + if [ $? -ne 0 ]; then + echo "$output" >>error_log.txt + fi + done + ` } - downloaded := busyboxCopied.Run(llb.Shlex(downloadCmd), llb.WithProxy(utils.GetProxy())).Root() + downloaded := busyboxCopied.Run(buildkit.Sh(downloadCmd), llb.WithProxy(utils.GetProxy())).Root() + + // Validate no errors were encountered if updating all + if updates == nil && !ignoreErrors { + downloaded = downloaded.Run(buildkit.Sh("if [ -s error_log.txt ]; then cat error_log.txt; exit 1; fi")).Root() + } // Scripted enumeration and rpm install of all downloaded packages under the download folder as root const extractTemplate = `sh -c 'for f in %[1]s/*.rpm ; do rpm2cpio "$f" | cpio -idmv -D %[1]s ; done'` From 2366c37580a1ef59457e8c6dd006d7a8ff849c93 Mon Sep 17 00:00:00 2001 From: Ashna Mehrotra Date: Wed, 26 Jun 2024 16:25:05 -0700 Subject: [PATCH 4/5] feat: allow change to BINS_OUT_DIR in makefile (#678) Signed-off-by: ashnamehrotra --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index af681c77a..557e42336 100644 --- a/Makefile +++ b/Makefile @@ -43,7 +43,7 @@ endif # Build output variables CLI_BINARY := copa OUT_DIR := ./dist -BINS_OUT_DIR := $(OUT_DIR)/$(GOOS)_$(GOARCH)/$(BUILDTYPE_DIR) +BINS_OUT_DIR ?= $(OUT_DIR)/$(GOOS)_$(GOARCH)/$(BUILDTYPE_DIR) ################################################################################ # Target: build (default action) # From 8d7125a64fbb0c84f059fa748d18166c94c98a48 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Jun 2024 16:33:16 -0700 Subject: [PATCH 5/5] chore: bump peter-evans/create-pull-request from 6.0.5 to 6.1.0 in the all group (#676) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ashna Mehrotra --- .github/workflows/release-docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-docs.yml b/.github/workflows/release-docs.yml index 07997448b..873b0daf1 100644 --- a/.github/workflows/release-docs.yml +++ b/.github/workflows/release-docs.yml @@ -34,7 +34,7 @@ jobs: run: make version-docs - name: Create release pull request - uses: peter-evans/create-pull-request@6d6857d36972b65feb161a90e484f2984215f83e # v6.0.5 + uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0 with: commit-message: "chore: Generate ${{ env.NEWVERSION }} docs" title: "chore: Generate ${{ env.NEWVERSION }} docs"