grim/convey
Clone
Summary
Browse
Changes
Graph
Update to Go 1.21 and use some new helpers
5 months ago, Elliott Sales de Andrade
adb6eb2a7d21
Update to Go 1.21 and use some new helpers
`strings.Cut` was added in 1.18, and `maps`/`slices` in 1.21.
Testing Done:
Ran `go test ./...`
Reviewed at https://reviews.imfreedom.org/r/2870/
package
podman
import
(
log
"github.com/sirupsen/logrus"
"keep.imfreedom.org/grim/convey/environment"
"keep.imfreedom.org/grim/convey/exec"
"keep.imfreedom.org/grim/convey/runtime"
"keep.imfreedom.org/grim/convey/yaml"
)
type
Tag
struct
{
Image
string
`yaml:"image"`
Targets
yaml
.
StringOrSlice
`yaml:"targets"`
}
func
(
t
*
Tag
)
Execute
(
name
string
,
logger
*
log
.
Entry
,
stageEnv
environment
.
Environment
,
rt
*
runtime
.
Runtime
)
error
{
env
:=
stageEnv
.
Copy
().
Merge
(
rt
.
Environment
)
generator
:=
exec
.
NewGenerator
(
"podman"
,
"tag"
,
t
.
Image
,
)
generator
.
Appendv
(
env
.
Expandv
(
t
.
Targets
))
return
exec
.
Run
(
name
,
generator
.
Command
(),
rt
.
Timeout
)
}
func
(
t
*
Tag
)
New
()
runtime
.
Task
{
return
&
Tag
{}
}
func
(
t
*
Tag
)
Valid
()
error
{
if
t
.
Image
==
""
{
return
ErrNoImage
}
if
len
(
t
.
Targets
)
==
0
{
return
ErrNoTargets
}
return
nil
}
func
(
t
*
Tag
)
Deprecated
()
error
{
return
nil
}