def remote_step
near-v-framework@0.4.0.0 · domain/architecture/system/plan/ops.bend:24
import near-v-framework@0.4.0.0/domain/architecture/system/plan/ops.bend as Ops
import Base
import near-v-framework@0.4.0.0/domain/architecture/system/release/type.bend as Rl
import near-v-framework@0.4.0.0/domain/architecture/system/plan/type.bend as P
24def remote_step(+repo: Rl.Repository, rm: P.Remote) -> P.Step:
25 match repo rm:
26 case Rl.Repository{+name, +public} P.Remote{+origin, +vis, clean, pushed}:
27 Bool.pick(P.Step, String.contains(origin, name),
28 Bool.pick(P.Step, String.eq(vis, visibility(public)),
29 Bool.pick(P.Step, clean,
30 Bool.pick(P.Step, pushed, P.Current{"github " ++ name}, P.Push{name}),
31 P.Blocked{"github " ++ name, "uncommitted changes"}),
32 P.Blocked{"github " ++ name, "GitHub says " ++ Bool.pick(String, String.is_empty(vis), "nothing (unreachable)", vis) ++ ", declared " ++ visibility(public)}),
33 P.Blocked{"github " ++ name, "origin is " ++ origin})