grim/convey

Merge the redux branch into default.

2021-12-20, Gary Kramlich
6b1dbda836d9
Merge the redux branch into default.

This officials abandons the 0.14.0 release and moves right on to 0.15.0 which
includes replacing docker with podman and simplifying many things.
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 Build struct {
Arguments yaml.StringOrSlice `yaml:"arguments"`
Dockerfile string `yaml:"dockerfile"`
Files yaml.StringOrSlice `yaml:"files"`
Labels yaml.StringOrSlice `yaml:"labels"`
Tag string `yaml:"tag"`
Tags yaml.StringOrSlice `yaml:"tags"`
Target string `yaml:"target"`
realBuild *podman.Build
}
func (b *Build) Execute(name string, logger *log.Entry, stageEnv environment.Environment, rt *runtime.Runtime) error {
return b.realBuild.Execute(name, logger, stageEnv, rt)
}
func (b *Build) New() tasks.Task {
return &Build{}
}
func (b *Build) Valid() error {
if b.Tag != "" {
b.Tags = append([]string{b.Tag}, b.Tags...)
}
b.realBuild = &podman.Build{
Annotations: b.Labels,
Containerfile: b.Dockerfile,
Tags: b.Tags,
Target: b.Target,
}
return b.realBuild.Valid()
}
func (b *Build) Deprecated() error {
return fmt.Errorf("docker/build has been deprecated in favor of podman/build since 0.15.0")
}