Agent Release
The primary Agent release procedure and checklist are stored in Confluence: https://fastly.atlassian.net/l/c/ufYjAMm7 This flowchart visually documents the release workflow and should be considered a supplement to the primary documentation in Confluence.
Green boxes indicate steps that can be prepared in parallel or out of order.
flowchart LR
CorePrep[Prep <code>sigsci-agent-core</code> changes]:::parallel
CorePR[<code>sigsci-agent-core</code> Pull Request]:::parallel
ReleaseCore[Create <code>sigsci-agent-core</code><br> GitHub Release + Tag]
AgentPrep[Prep <code>sigsci-agent</code> changes]:::parallel
VendorCore[Vendor <code>sigsci-agent-core</code>]
AgentPR[Pull Request]
AgentMerge[Merge Pull Request]
ReleaseAgent[Create <code>sigsci-agent</code><br> GitHub release + Tag]
SigsciVendor[Vendor <code>sigsci-agent</code>]
SigsciPR[Pull Request]
SigsciTeamwork[/Might need to coordinate<br> simultaneous PR changes for<br> rules tests in some cases/]
SigsciDeploy[Merge + Deploy sigsci Repo]
Voltron[Release Agent in Voltron]
Monitor[Monitor dashboards and metrics for issues]
subgraph detail[<b>sigsci-agent Repo Detailed Steps</b>]
direction TB
D1[Update VERSION]:::parallel
D2[Update README]:::parallel
D3[Upgrade GeoIP]:::parallel
D4[Verify with other teams]:::parallel
D5[Update TLS Certs]:::parallel
DVendor[Vendor <code>sigsci-agent-core</code>]
DUpdateReadme[Update README with any External<br> entries from <code>sigsci-agent-core</code>]
DRulelang[Update rulelang docs]
DUpdateBOM["Update Bill of Materials (BOM)"]
DTest[Run <code>make build</code><br> and <code>make test</code><br> and <code>make test-sanity</code>]
DSmoke[Launch the agent and<br> verify it runs as expected]
DIntegration[Run <code>sigsci</code> Integration Test]
DPR[Create Pull Request]
DMerge[Merge Pull Request]
DRelease[Create <code>sigsci-agent</code><br> GitHub release + Tag]
D1 & D2 & D3 & D4 & D5 --> DVendor
DVendor --> DUpdateReadme --> DRulelang --> DUpdateBOM --> DTest --> DSmoke--> DIntegration --> DPR --> DMerge --> DRelease
end
subgraph general[<b>General Release Flow</b>]
direction TB
subgraph core[<b>sigsci-agent-core Repo</b>]
direction TB
CorePrep --> CorePR --> ReleaseCore
end
subgraph agent[<b>sigsci-agent Repo</b>]
direction TB
AgentPrep --> VendorCore --> AgentPR --> AgentMerge --> ReleaseAgent
end
core --> VendorCore
subgraph sigsci[<b>sigsci Repo</b>]
direction TB
SigsciVendor --> SigsciPR --> SigsciTeamwork--> SigsciDeploy
end
agent --> sigsci
subgraph voltron[<b>Voltron Release</b>]
direction TB
Voltron --> Monitor
end
sigsci --> voltron
end
style general fill:white,stroke:#000;
classDef parallel fill:#BFC;