Skip to content

Commit 8677e49

Browse files
committed
Upgrade to switchblade v0.9.2 for CF API v3 compatibility
1 parent e71d465 commit 8677e49

File tree

6 files changed

+37
-13
lines changed

6 files changed

+37
-13
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ require (
66
github.com/Dynatrace/libbuildpack-dynatrace v1.8.0
77
github.com/Masterminds/semver v1.5.0
88
github.com/cloudfoundry/libbuildpack v0.0.0-20251203175254-7be530ec9fef
9-
github.com/cloudfoundry/switchblade v0.9.1
9+
github.com/cloudfoundry/switchblade v0.9.2-0.20251205151235-f452557fbc4b
1010
github.com/golang/mock v1.6.0
1111
github.com/onsi/ginkgo v1.16.5
1212
github.com/onsi/gomega v1.36.2

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -478,8 +478,8 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
478478
github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I=
479479
github.com/cloudfoundry/libbuildpack v0.0.0-20251203175254-7be530ec9fef h1:lrggsL5p4dr3bBK/x1xIu3sn/6PGYV71GQIe/mCNfFw=
480480
github.com/cloudfoundry/libbuildpack v0.0.0-20251203175254-7be530ec9fef/go.mod h1:kn4FHMwI8bTd9gT92wPGjXHzUvGcj8CkPxG8q3AGBAQ=
481-
github.com/cloudfoundry/switchblade v0.9.1 h1:WHEUhSnkoqCJOkqJ1WD3XcmKztpYmagdIWT+GJf6Gfc=
482-
github.com/cloudfoundry/switchblade v0.9.1/go.mod h1:hIEQdGAsuNnzlyQfsD5OIORt38weSBar6Wq5/JX6Omo=
481+
github.com/cloudfoundry/switchblade v0.9.2-0.20251205151235-f452557fbc4b h1:BkOKz3IOwZyq3A3tc9iWiZENPUDyQRD2X5dchveYOEM=
482+
github.com/cloudfoundry/switchblade v0.9.2-0.20251205151235-f452557fbc4b/go.mod h1:hIEQdGAsuNnzlyQfsD5OIORt38weSBar6Wq5/JX6Omo=
483483
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
484484
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
485485
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=

scripts/.util/tools.sh

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,10 +148,17 @@ function util::tools::cf::install() {
148148
exit 1
149149
esac
150150

151+
# Check if cf is already available in PATH (e.g., from system/Docker image)
152+
if command -v cf &> /dev/null; then
153+
util::print::title "CF CLI already installed (using system version)"
154+
cf version
155+
return 0
156+
fi
157+
151158
if [[ ! -f "${dir}/cf" ]]; then
152159
util::print::title "Installing cf"
153160

154-
curl "https://packages.cloudfoundry.org/stable?release=${os}-binary&version=6.49.0&source=github-rel" \
161+
curl "https://packages.cloudfoundry.org/stable?release=${os}-binary&source=github-rel" \
155162
--silent \
156163
--location \
157164
--output /tmp/cf.tar.gz

src/nodejs/integration/override_test.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"github.com/cloudfoundry/switchblade"
88
"github.com/sclevine/spec"
99

10-
. "github.com/cloudfoundry/switchblade/matchers"
1110
. "github.com/onsi/gomega"
1211
)
1312

@@ -23,6 +22,7 @@ func testOverride(platform switchblade.Platform, fixtures string) func(*testing.
2322
var err error
2423
name, err = switchblade.RandomName()
2524
Expect(err).NotTo(HaveOccurred())
25+
println(name)
2626
})
2727

2828
it.After(func() {
@@ -37,13 +37,15 @@ func testOverride(platform switchblade.Platform, fixtures string) func(*testing.
3737
).
3838
Execute(name, filepath.Join(fixtures, "simple"))
3939
Expect(err).To(HaveOccurred())
40-
41-
Expect(logs.String()).To(SatisfyAll(
42-
ContainLines(ContainSubstring("-----> OverrideYML Buildpack")),
43-
ContainLines(ContainSubstring("-----> Installing node")),
44-
ContainLines(MatchRegexp("Copy .*/node.tgz")),
45-
ContainLines(ContainSubstring("Unable to install node: dependency sha256 mismatch: expected sha256 062d906c87839d03b243e2821e10653c89b4c92878bfe2bf995dec231e117bfc, actual sha256 b56b58ac21f9f42d032e1e4b8bf8b8823e69af5411caa15aee2b140bc756962f")),
46-
))
40+
Expect(err).To(MatchError(ContainSubstring("App staging failed")))
41+
42+
// Switchblade now automatically captures staging logs in CF API v3
43+
// by fetching them using 'cf logs --recent' when staging fails
44+
logsStr := logs.String()
45+
Expect(logsStr).To(ContainSubstring("-----> OverrideYML Buildpack"))
46+
Expect(logsStr).To(ContainSubstring("-----> Installing node"))
47+
Expect(logsStr).To(MatchRegexp(`Copy .*/node.tgz`))
48+
Expect(logsStr).To(ContainSubstring("Unable to install node: dependency sha256 mismatch: expected sha256 062d906c87839d03b243e2821e10653c89b4c92878bfe2bf995dec231e117bfc, actual sha256 b56b58ac21f9f42d032e1e4b8bf8b8823e69af5411caa15aee2b140bc756962f"))
4749
})
4850
}
4951
}

vendor/github.com/cloudfoundry/switchblade/internal/cloudfoundry/stage.go

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/modules.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ github.com/cloudfoundry/libbuildpack/cutlass
3030
github.com/cloudfoundry/libbuildpack/cutlass/docker
3131
github.com/cloudfoundry/libbuildpack/cutlass/glow
3232
github.com/cloudfoundry/libbuildpack/packager
33-
# github.com/cloudfoundry/switchblade v0.9.1
33+
# github.com/cloudfoundry/switchblade v0.9.2-0.20251205151235-f452557fbc4b
3434
## explicit; go 1.23.0
3535
github.com/cloudfoundry/switchblade
3636
github.com/cloudfoundry/switchblade/internal/cloudfoundry

0 commit comments

Comments
 (0)