Skip to content
This repository has been archived by the owner on Sep 27, 2022. It is now read-only.

Support wildcard stack #250

Merged
merged 5 commits into from
Jul 14, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions buildpack.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,4 @@ api = "0.8"
pre-package = "./scripts/build.sh"

[[stacks]]
id = "io.buildpacks.stacks.bionic"

[[stacks]]
id = "io.paketo.stacks.tiny"
id = "*"
1 change: 1 addition & 0 deletions integration.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{
"builders" : ["paketobuildpacks/builder:buildpackless-base", "paketobuildpacks/builder-jammy-buildpackless-base"],
"dep": "github.com/paketo-buildpacks/dep"
}
74 changes: 40 additions & 34 deletions integration/default_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,43 +48,49 @@ func testDefault(t *testing.T, context spec.G, it spec.S) {
Expect(os.RemoveAll(source)).To(Succeed())
})

it("builds successfully", func() {
var err error
source, err = occam.Source(filepath.Join("testdata", "default"))
Expect(err).NotTo(HaveOccurred())
for _, b := range settings.Config.Builders {
builder := b
context(fmt.Sprintf("with %s", builder), func() {
it("builds successfully", func() {
var err error
source, err = occam.Source(filepath.Join("testdata", "default"))
Expect(err).NotTo(HaveOccurred())

var logs fmt.Stringer
image, logs, err = pack.Build.
WithPullPolicy("never").
WithBuildpacks(
settings.Buildpacks.Dep.Online,
settings.Buildpacks.DepEnsure.Online,
).
Execute(name, source)
Expect(err).ToNot(HaveOccurred(), logs.String)
var logs fmt.Stringer
image, logs, err = pack.Build.
WithPullPolicy("never").
WithBuildpacks(
settings.Buildpacks.Dep.Online,
settings.Buildpacks.DepEnsure.Online,
).
WithBuilder(builder).
Execute(name, source)
Expect(err).ToNot(HaveOccurred(), logs.String)

Expect(logs).To(ContainLines(
MatchRegexp(fmt.Sprintf(`%s \d+\.\d+\.\d+`, settings.Buildpack.Name)),
" Executing build process",
" Running 'dep ensure'",
MatchRegexp(` Completed in ([0-9]*(\.[0-9]*)?[a-z]+)+`),
))
Expect(logs).To(ContainLines(
MatchRegexp(fmt.Sprintf(`%s \d+\.\d+\.\d+`, settings.Buildpack.Name)),
" Executing build process",
" Running 'dep ensure'",
MatchRegexp(` Completed in ([0-9]*(\.[0-9]*)?[a-z]+)+`),
))

container, err = docker.Container.Run.
WithCommand("ls -alR /workspace").
Execute(image.ID)
Expect(err).NotTo(HaveOccurred())
container, err = docker.Container.Run.
WithCommand("ls -alR /workspace").
ryanmoran marked this conversation as resolved.
Show resolved Hide resolved
Execute(image.ID)
Expect(err).NotTo(HaveOccurred())

Eventually(func() string {
cLogs, err := docker.Container.Logs.Execute(container.ID)
Expect(err).NotTo(HaveOccurred())
return cLogs.String()
}).Should(
And(
ContainSubstring("Gopkg.lock"),
ContainSubstring("vendor/github.com/ZiCog/shiny-thing"),
),
)
})
Eventually(func() string {
cLogs, err := docker.Container.Logs.Execute(container.ID)
Expect(err).NotTo(HaveOccurred())
return cLogs.String()
}).Should(
And(
ContainSubstring("Gopkg.lock"),
ContainSubstring("vendor/github.com/ZiCog/shiny-thing"),
),
)
})
})
}
})
}
3 changes: 2 additions & 1 deletion integration/init_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ var settings struct {
Name string
}
Config struct {
Dep string `json:"dep"`
Dep string `json:"dep"`
Builders []string `json:"builders"`
}
}

Expand Down