From 6fcedd2a58568bf6b48cb87de8506fbd9c8fd6f2 Mon Sep 17 00:00:00 2001 From: i343759 Date: Tue, 14 Apr 2026 10:02:05 +0300 Subject: [PATCH] Upgrade switchblade to v0.9.5 Switchblade v0.9.5 fixes multi-stack cf delete-buildpack failures when both cflinuxfs4 and cflinuxfs5 stacks are deployed. --- go.mod | 2 +- go.sum | 4 ++-- .../internal/cloudfoundry/initialize.go | 24 ++++++++++++------- vendor/modules.txt | 2 +- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/go.mod b/go.mod index 20c493317..f738ed950 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.25.4 require ( github.com/Dynatrace/libbuildpack-dynatrace v1.8.0 github.com/cloudfoundry/libbuildpack v0.0.0-20260306121953-8ab9253c8181 - github.com/cloudfoundry/switchblade v0.9.4 + github.com/cloudfoundry/switchblade v0.9.5 github.com/golang/mock v1.6.0 github.com/onsi/ginkgo/v2 v2.27.2 github.com/onsi/gomega v1.38.2 diff --git a/go.sum b/go.sum index 92599afc2..dd3817191 100644 --- a/go.sum +++ b/go.sum @@ -1558,8 +1558,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= github.com/cloudfoundry/libbuildpack v0.0.0-20260306121953-8ab9253c8181 h1:di63teVid/uT+6TAqBSXFqxNM3sAbxk6hssYppZBvbw= github.com/cloudfoundry/libbuildpack v0.0.0-20260306121953-8ab9253c8181/go.mod h1:Qtj1XicpoDn88w2cvVCYtw1Whq+kK3bouin0xNZ9lIU= -github.com/cloudfoundry/switchblade v0.9.4 h1:93O90a/DRRcZ4h50htDh4z7+FMliqy/lQH6IFgVa+mQ= -github.com/cloudfoundry/switchblade v0.9.4/go.mod h1:hIEQdGAsuNnzlyQfsD5OIORt38weSBar6Wq5/JX6Omo= +github.com/cloudfoundry/switchblade v0.9.5 h1:GTga1Uu6kGOL+n1TRTHyZm170N5/B/ou6wU90MiKKys= +github.com/cloudfoundry/switchblade v0.9.5/go.mod h1:hIEQdGAsuNnzlyQfsD5OIORt38weSBar6Wq5/JX6Omo= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= diff --git a/vendor/github.com/cloudfoundry/switchblade/internal/cloudfoundry/initialize.go b/vendor/github.com/cloudfoundry/switchblade/internal/cloudfoundry/initialize.go index dc7f18d00..2db7b291a 100644 --- a/vendor/github.com/cloudfoundry/switchblade/internal/cloudfoundry/initialize.go +++ b/vendor/github.com/cloudfoundry/switchblade/internal/cloudfoundry/initialize.go @@ -43,7 +43,8 @@ func (i Initialize) Run(buildpacks []Buildpack) error { if err == nil { var payload struct { Resources []struct { - Position int `json:"position"` + Position int `json:"position"` + Stack string `json:"stack"` } `json:"resources"` } err = json.NewDecoder(buffer).Decode(&payload) @@ -55,13 +56,20 @@ func (i Initialize) Run(buildpacks []Buildpack) error { position = strconv.Itoa(payload.Resources[0].Position) } - err = i.cli.Execute(pexec.Execution{ - Args: []string{"delete-buildpack", "-f", buildpack.Name}, - Stdout: logs, - Stderr: logs, - }) - if err != nil { - return fmt.Errorf("failed to delete buildpack: %s\n\nOutput:\n%s", err, logs) + for _, resource := range payload.Resources { + args := []string{"delete-buildpack", "-f", buildpack.Name} + if resource.Stack != "" { + args = append(args, "-s", resource.Stack) + } + + err = i.cli.Execute(pexec.Execution{ + Args: args, + Stdout: logs, + Stderr: logs, + }) + if err != nil { + return fmt.Errorf("failed to delete buildpack: %s\n\nOutput:\n%s", err, logs) + } } } diff --git a/vendor/modules.txt b/vendor/modules.txt index 1fd46fc6a..c3b4a041e 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -21,7 +21,7 @@ github.com/cenkalti/backoff/v4 # github.com/cloudfoundry/libbuildpack v0.0.0-20260306121953-8ab9253c8181 ## explicit; go 1.22.5 github.com/cloudfoundry/libbuildpack -# github.com/cloudfoundry/switchblade v0.9.4 +# github.com/cloudfoundry/switchblade v0.9.5 ## explicit; go 1.23.0 github.com/cloudfoundry/switchblade github.com/cloudfoundry/switchblade/internal/cloudfoundry