internal/rosa: collection meta-artifact
All checks were successful
Test / Create distribution (push) Successful in 41s
Test / Sandbox (push) Successful in 1m51s
Test / Hakurei (push) Successful in 2m54s
Test / ShareFS (push) Successful in 3m2s
Test / Sandbox (race detector) (push) Successful in 5m5s
Test / Hakurei (race detector) (push) Successful in 6m14s
Test / Flake checks (push) Successful in 1m30s
All checks were successful
Test / Create distribution (push) Successful in 41s
Test / Sandbox (push) Successful in 1m51s
Test / Hakurei (push) Successful in 2m54s
Test / ShareFS (push) Successful in 3m2s
Test / Sandbox (race detector) (push) Successful in 5m5s
Test / Hakurei (race detector) (push) Successful in 6m14s
Test / Flake checks (push) Successful in 1m30s
This is a stub FloodArtifact for concurrently curing multiple artifacts. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -20,6 +20,9 @@ const (
|
||||
|
||||
// kindBusyboxBin is the kind of [pkg.Artifact] of busyboxBin.
|
||||
kindBusyboxBin
|
||||
|
||||
// kindCollection is the kind of [Collect]. It never cures successfully.
|
||||
kindCollection
|
||||
)
|
||||
|
||||
// mustDecode is like [pkg.MustDecode], but replaces the zero value and prints
|
||||
@@ -588,3 +591,29 @@ cd '/usr/src/` + name + `/'
|
||||
})...,
|
||||
)
|
||||
}
|
||||
|
||||
// Collected is returned by [Collect.Cure] to indicate a successful collection.
|
||||
type Collected struct{}
|
||||
|
||||
// Error returns a constant string to satisfy error, but should never be seen
|
||||
// by the user.
|
||||
func (Collected) Error() string { return "artifacts successfully collected" }
|
||||
|
||||
// Collect implements [pkg.FloodArtifact] to concurrently cure multiple
|
||||
// [pkg.Artifact]. It returns [Collected].
|
||||
type Collect []pkg.Artifact
|
||||
|
||||
// Cure returns [Collected].
|
||||
func (*Collect) Cure(*pkg.FContext) error { return Collected{} }
|
||||
|
||||
// Kind returns the hardcoded [pkg.Kind] value.
|
||||
func (*Collect) Kind() pkg.Kind { return kindCollection }
|
||||
|
||||
// Params does not write anything, dependencies are already represented in the header.
|
||||
func (*Collect) Params(*pkg.IContext) {}
|
||||
|
||||
// Dependencies returns [Collect] as is.
|
||||
func (c *Collect) Dependencies() []pkg.Artifact { return *c }
|
||||
|
||||
// IsExclusive returns false: Cure is a noop.
|
||||
func (*Collect) IsExclusive() bool { return false }
|
||||
|
||||
Reference in New Issue
Block a user