<mxfile host="Electron" modified="2023-08-07T11:54:49.386Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.6.5 Chrome/114.0.5735.243 Electron/25.3.1 Safari/537.36" etag="U1_Fel33jRlkzOBy2ShG" version="21.6.5" type="device">
  <diagram name="Page-1" id="v7DyD0WKvyn8m50TQ481">
    <mxGraphModel dx="1917" dy="1105" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="PlXE0PQQerAm_YR5ugc--1" value="Commit stage" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="200" y="80" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--2" value="Test stage" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="360" y="80" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--3" value="Build stage" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="520" y="80" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--4" value="Acceptance stage" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="680" y="80" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--5" value="Publish stage" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="360" y="320" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--6" value="Deploy stage" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="200" y="480" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--7" value="PR workflow" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=top;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
          <mxGeometry x="40" y="80" width="120" height="30" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--8" value="Publish workflow" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=top;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
          <mxGeometry x="40" y="320" width="120" height="30" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--9" value="Deploy workflow" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=top;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
          <mxGeometry x="40" y="480" width="120" height="30" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--10" value="(Smoke) Test stage" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="360" y="480" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--11" value="Acceptance stage" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
          <mxGeometry x="200" y="320" width="120" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--13" value="Ephemeral" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
          <mxGeometry x="320" y="680" width="80" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--14" value="Environments" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=top;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
          <mxGeometry x="40" y="680" width="120" height="30" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--15" value="Testing" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
          <mxGeometry x="480" y="680" width="80" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--16" value="Staging" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
          <mxGeometry x="640" y="680" width="80" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--17" value="Live" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
          <mxGeometry x="800" y="680" width="80" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--18" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="PlXE0PQQerAm_YR5ugc--1" target="PlXE0PQQerAm_YR5ugc--2">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="620" y="510" as="sourcePoint" />
            <mxPoint x="670" y="460" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--19" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="PlXE0PQQerAm_YR5ugc--2" target="PlXE0PQQerAm_YR5ugc--3">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="330" y="130" as="sourcePoint" />
            <mxPoint x="370" y="130" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--20" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="PlXE0PQQerAm_YR5ugc--3" target="PlXE0PQQerAm_YR5ugc--4">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="490" y="130" as="sourcePoint" />
            <mxPoint x="530" y="130" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--21" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="PlXE0PQQerAm_YR5ugc--11" target="PlXE0PQQerAm_YR5ugc--5">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="650" y="250" as="sourcePoint" />
            <mxPoint x="690" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--22" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="PlXE0PQQerAm_YR5ugc--6" target="PlXE0PQQerAm_YR5ugc--10">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="330" y="410" as="sourcePoint" />
            <mxPoint x="370" y="410" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--23" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="PlXE0PQQerAm_YR5ugc--13" target="PlXE0PQQerAm_YR5ugc--15">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="450" y="490" as="sourcePoint" />
            <mxPoint x="490" y="490" as="targetPoint" />
            <Array as="points">
              <mxPoint x="440" y="720" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--24" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="PlXE0PQQerAm_YR5ugc--15" target="PlXE0PQQerAm_YR5ugc--16">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="410" y="730" as="sourcePoint" />
            <mxPoint x="490" y="730" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--25" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="PlXE0PQQerAm_YR5ugc--16" target="PlXE0PQQerAm_YR5ugc--17">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="570" y="730" as="sourcePoint" />
            <mxPoint x="650" y="730" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--26" value="scan secrets" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="220" y="180" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--27" value="check format" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="220" y="210" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--28" value="scan dependencies" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="220" y="270" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--29" value="run unit tests" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="380" y="180" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--30" value="build artefact" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="540" y="180" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--31" value="store artefact" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="540" y="240" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--32" value="Local" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
          <mxGeometry x="160" y="680" width="80" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--34" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="PlXE0PQQerAm_YR5ugc--32" target="PlXE0PQQerAm_YR5ugc--13">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="410" y="730" as="sourcePoint" />
            <mxPoint x="490" y="730" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--36" value="run static analisis" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="380" y="210" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--37" value="scan artefacts" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="540" y="210" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--38" value="run static analysis" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="220" y="240" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--39" value="upload static analysis" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="380" y="240" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--40" value="set up environment" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="700" y="180" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--41" value="tear down environment" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="700" y="240" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--42" value="run tests" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="700" y="210" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--43" value="Artefact repository" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="1">
          <mxGeometry x="950" y="370" width="60" height="80" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--44" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="PlXE0PQQerAm_YR5ugc--4" target="PlXE0PQQerAm_YR5ugc--43">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="630" y="630" as="sourcePoint" />
            <mxPoint x="680" y="580" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--45" value="tag as snapshot" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="PlXE0PQQerAm_YR5ugc--44">
          <mxGeometry x="-0.0064" y="1" relative="1" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--46" value="tag artefact" style="rounded=0;whiteSpace=wrap;html=1;fontSize=10;" vertex="1" parent="1">
          <mxGeometry x="380" y="410" width="100" height="20" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--49" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="PlXE0PQQerAm_YR5ugc--5" target="PlXE0PQQerAm_YR5ugc--43">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="810" y="130" as="sourcePoint" />
            <mxPoint x="906" y="410" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--50" value="tag as RC" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="PlXE0PQQerAm_YR5ugc--49">
          <mxGeometry x="-0.0064" y="1" relative="1" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--51" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="PlXE0PQQerAm_YR5ugc--10" target="PlXE0PQQerAm_YR5ugc--43">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="490" y="430" as="sourcePoint" />
            <mxPoint x="890" y="449" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--52" value="tag as deployed to ENV" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="PlXE0PQQerAm_YR5ugc--51">
          <mxGeometry x="-0.0064" y="1" relative="1" as="geometry">
            <mxPoint as="offset" />
          </mxGeometry>
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--53" value="GH workflow" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;fontSize=8;" vertex="1" parent="1">
          <mxGeometry x="40" y="100" width="60" height="10" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--54" value="GH workflow job" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;fontSize=8;" vertex="1" parent="1">
          <mxGeometry x="200" y="70" width="120" height="10" as="geometry" />
        </mxCell>
        <mxCell id="PlXE0PQQerAm_YR5ugc--55" value="GH action" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontColor=#FF0000;fontSize=8;" vertex="1" parent="1">
          <mxGeometry x="220" y="170" width="100" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
