154 lines
3.6 KiB
Text
154 lines
3.6 KiB
Text
|
|
let C = import "../nickel/workflows/contracts.ncl" in
|
||
|
|
|
||
|
|
{
|
||
|
|
engine | C.EngineConfig = {
|
||
|
|
max_parallel_tasks = 10,
|
||
|
|
workflow_timeout = 3600,
|
||
|
|
approval_gates_enabled = true,
|
||
|
|
},
|
||
|
|
|
||
|
|
workflows = [
|
||
|
|
{
|
||
|
|
name = "feature_development",
|
||
|
|
trigger = "manual",
|
||
|
|
stages | Array C.StageConfig = [
|
||
|
|
{
|
||
|
|
name = "architecture_design",
|
||
|
|
agents = ["architect"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = false,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "implementation",
|
||
|
|
agents = ["developer", "developer"],
|
||
|
|
parallel = true,
|
||
|
|
max_parallel = 2,
|
||
|
|
approval_required = false,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "testing",
|
||
|
|
agents = ["tester"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = false,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "code_review",
|
||
|
|
agents = ["reviewer"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = true,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "deployment",
|
||
|
|
agents = ["devops"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = true,
|
||
|
|
},
|
||
|
|
],
|
||
|
|
notifications = {
|
||
|
|
on_completed = [],
|
||
|
|
on_failed = [],
|
||
|
|
on_approval_required = [],
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "bugfix",
|
||
|
|
trigger = "manual",
|
||
|
|
stages | Array C.StageConfig = [
|
||
|
|
{
|
||
|
|
name = "investigation",
|
||
|
|
agents = ["developer"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = false,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "fix_implementation",
|
||
|
|
agents = ["developer"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = false,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "testing",
|
||
|
|
agents = ["tester"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = false,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "deployment",
|
||
|
|
agents = ["devops"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = false,
|
||
|
|
},
|
||
|
|
],
|
||
|
|
notifications = {
|
||
|
|
on_completed = [],
|
||
|
|
on_failed = [],
|
||
|
|
on_approval_required = [],
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "documentation_update",
|
||
|
|
trigger = "manual",
|
||
|
|
stages | Array C.StageConfig = [
|
||
|
|
{
|
||
|
|
name = "content_creation",
|
||
|
|
agents = ["technical_writer"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = false,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "review",
|
||
|
|
agents = ["reviewer"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = true,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "publish",
|
||
|
|
agents = ["devops"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = false,
|
||
|
|
},
|
||
|
|
],
|
||
|
|
notifications = {
|
||
|
|
on_completed = [],
|
||
|
|
on_failed = [],
|
||
|
|
on_approval_required = [],
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "security_audit",
|
||
|
|
trigger = "manual",
|
||
|
|
stages | Array C.StageConfig = [
|
||
|
|
{
|
||
|
|
name = "code_analysis",
|
||
|
|
agents = ["security_engineer"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = false,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "penetration_testing",
|
||
|
|
agents = ["security_engineer"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = false,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "remediation",
|
||
|
|
agents = ["developer"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = false,
|
||
|
|
},
|
||
|
|
{
|
||
|
|
name = "verification",
|
||
|
|
agents = ["security_engineer"],
|
||
|
|
parallel = false,
|
||
|
|
approval_required = true,
|
||
|
|
},
|
||
|
|
],
|
||
|
|
notifications = {
|
||
|
|
on_completed = [],
|
||
|
|
on_failed = [],
|
||
|
|
on_approval_required = [],
|
||
|
|
},
|
||
|
|
},
|
||
|
|
],
|
||
|
|
}
|