Skip to content
Weave templates

CI/CD pipeline

Pull request → tests → build → registry → staging → manual approve → prod.

Template previewWeave
Rendering…

Make it your own.

{
  "nodes": [
    { "id":"pr","type":"stadium","label":"Pull request","x":40,"y":160,"fill":"#dbeafe","stroke":"#2563eb" },
    { "id":"ln","type":"rect","label":"Lint","x":220,"y":80,"fill":"#ede9fe","stroke":"#6d28d9" },
    { "id":"tt","type":"rect","label":"Unit tests","x":220,"y":160,"fill":"#ede9fe","stroke":"#6d28d9" },
    { "id":"e2e","type":"rect","label":"E2E tests","x":220,"y":240,"fill":"#ede9fe","stroke":"#6d28d9" },
    { "id":"bd","type":"hexagon","label":"Build image","x":420,"y":160,"fill":"#fed7aa","stroke":"#c2410c" },
    { "id":"reg","type":"cylinder","label":"Container registry","x":620,"y":160,"fill":"#fef3c7","stroke":"#a16207" },
    { "id":"st","type":"cloud","label":"Staging","x":820,"y":80,"fill":"#e0f2fe","stroke":"#0369a1" },
    { "id":"ap","type":"diamond","label":"Approve?","x":820,"y":240,"fill":"#fef3c7","stroke":"#a16207" },
    { "id":"pd","type":"cloud","label":"Production","x":1040,"y":160,"fill":"#dcfce7","stroke":"#15803d" },
    { "id":"rb","type":"callout","label":"Rollback if SLO breach","x":1040,"y":340,"fill":"#fef9c3" }
  ],
  "edges": [
    { "id":"e1","source":"pr","target":"ln" },
    { "id":"e2","source":"pr","target":"tt" },
    { "id":"e3","source":"pr","target":"e2e" },
    { "id":"e4","source":"ln","target":"bd" },
    { "id":"e5","source":"tt","target":"bd" },
    { "id":"e6","source":"e2e","target":"bd" },
    { "id":"e7","source":"bd","target":"reg" },
    { "id":"e8","source":"reg","target":"st","label":"deploy" },
    { "id":"e9","source":"st","target":"ap","label":"smoke OK" },
    { "id":"e10","source":"ap","target":"pd","label":"yes" },
    { "id":"e11","source":"rb","target":"pd" }
  ]
}