grim/convey

7d5217252d93
Parents 1ca9512295a0
Children 69f1af8c771f
Add the docker/remove task back as a wrapper to podman/remove
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/remove.go Mon Oct 11 01:44:17 2021 -0500
@@ -0,0 +1,45 @@
+package docker
+
+import (
+ "fmt"
+
+ log "github.com/sirupsen/logrus"
+
+ "keep.imfreedom.org/grim/convey/environment"
+ "keep.imfreedom.org/grim/convey/podman"
+ "keep.imfreedom.org/grim/convey/runtime"
+ "keep.imfreedom.org/grim/convey/tasks"
+ "keep.imfreedom.org/grim/convey/yaml"
+)
+
+type Remove struct {
+ Image string `yaml:"image"`
+ Images yaml.StringOrSlice `yaml:"images"`
+ Quiet bool `yaml:"quiet"`
+
+ realRemove *podman.Remove
+}
+
+func (r *Remove) Execute(name string, logger *log.Entry, stageEnv environment.Environment, rt *runtime.Runtime) error {
+ return r.realRemove.Execute(name, logger, stageEnv, rt)
+}
+
+func (r *Remove) New() tasks.Task {
+ return &Remove{}
+}
+
+func (r *Remove) Valid() error {
+ if r.Image != "" {
+ r.Images = append([]string{r.Image}, r.Images...)
+ }
+
+ r.realRemove = &podman.Remove{
+ Tags: r.Images,
+ }
+
+ return r.realRemove.Valid()
+}
+
+func (r *Remove) Deprecated() error {
+ return fmt.Errorf("docker/remove has been deprecated in favor of podman/remove since 0.15.0")
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/remove_test.go Mon Oct 11 01:44:17 2021 -0500
@@ -0,0 +1,50 @@
+package docker
+
+import (
+ "testing"
+
+ . "github.com/onsi/gomega"
+
+ "keep.imfreedom.org/grim/convey/podman"
+ "keep.imfreedom.org/grim/convey/yaml"
+)
+
+func TestRemoveImage(t *testing.T) {
+ g := NewGomegaWithT(t)
+
+ r := &Remove{
+ Image: "foo",
+ }
+
+ g.Expect(r.Valid()).To(BeNil())
+}
+
+func TestRemoveImages(t *testing.T) {
+ g := NewGomegaWithT(t)
+
+ r := &Remove{
+ Images: []string{"foo", "bar"},
+ }
+
+ g.Expect(r.Valid()).To(BeNil())
+}
+
+func TestRemoveMerge(t *testing.T) {
+ g := NewGomegaWithT(t)
+
+ r := &Remove{
+ Image: "foo",
+ Images: []string{"bar", "baz"},
+ }
+
+ g.Expect(r.Valid()).To(BeNil())
+ g.Expect(r.Images).To(Equal(yaml.StringOrSlice{"foo", "bar", "baz"}))
+}
+
+func TestRemoveImagesRequired(t *testing.T) {
+ g := NewGomegaWithT(t)
+
+ r := &Remove{}
+
+ g.Expect(r.Valid()).To(MatchError(podman.ErrNoTags))
+}
--- a/docker/tasks.go Mon Oct 11 01:06:54 2021 -0500
+++ b/docker/tasks.go Mon Oct 11 01:44:17 2021 -0500
@@ -13,6 +13,7 @@
"docker/logout": &Logout{},
"docker/pull": &Pull{},
"docker/push": &Push{},
+ "docker/remove": &Remove{},
// "docker/run": &Run{},
}
)