builder: Add support for builder prune

Docker has support for docker builder prune and
docker builder build

This patch will add a hidden command to support scripts using this
syntax. We don't want to encourage this deviation.

Add podman build prune to implement docker builder prune
functionality.

Co-authored-by: Daniel J Walsh <dwalsh@redhat.com>
Signed-off-by: Aditya Rajan <arajan@redhat.com>
This commit is contained in:
Aditya Rajan 2021-10-12 12:41:07 +05:30
parent 2fcec59445
commit ab8fb3876d
No known key found for this signature in database
GPG Key ID: 8E5A8A19DF7C8673
3 changed files with 32 additions and 5 deletions

View File

@ -14,11 +14,12 @@ var (
// If we are adding new buildx features, we will add them by default
// to podman build.
buildxCmd = &cobra.Command{
Use: "buildx",
Short: "Build images",
Long: "Build images",
RunE: validate.SubCommandExists,
Hidden: true,
Use: "buildx",
Aliases: []string{"builder"},
Short: "Build images",
Long: "Build images",
RunE: validate.SubCommandExists,
Hidden: true,
}
)

View File

@ -34,6 +34,11 @@ var (
)
func init() {
registry.Commands = append(registry.Commands, registry.CliCommand{
Command: pruneCmd,
Parent: buildxCmd,
})
registry.Commands = append(registry.Commands, registry.CliCommand{
Command: pruneCmd,
Parent: imageCmd,

View File

@ -446,4 +446,25 @@ RUN > file2
})
It("podman builder prune", func() {
dockerfile := `FROM quay.io/libpod/alpine:latest
RUN > file
`
dockerfile2 := `FROM quay.io/libpod/alpine:latest
RUN > file2
`
podmanTest.BuildImageWithLabel(dockerfile, "foobar.com/workdir:latest", "false", "abc")
podmanTest.BuildImageWithLabel(dockerfile2, "foobar.com/workdir:latest", "false", "xyz")
// --force used to to avoid y/n question
result := podmanTest.Podman([]string{"builder", "prune", "--filter", "label=abc", "--force"})
result.WaitWithDefaultTimeout()
Expect(result).Should(Exit(0))
Expect(len(result.OutputToStringArray())).To(Equal(1))
//check if really abc is removed
result = podmanTest.Podman([]string{"image", "list", "--filter", "label=abc"})
Expect(len(result.OutputToStringArray())).To(Equal(0))
})
})