Skip to content

Instantly share code, notes, and snippets.

@paolino
Last active July 26, 2022 17:27
Show Gist options
  • Save paolino/785a599b183053b73a00fec1ff1be52e to your computer and use it in GitHub Desktop.
Save paolino/785a599b183053b73a00fec1ff1be52e to your computer and use it in GitHub Desktop.
Bors Failures Lifecycle
sequenceDiagram
    participant Bors
    participant Hydra
    participant User   
    participant GitHub 
    participant BorsComment
    participant Analyzer
    participant Automation
    participant Slack   
    loop CI Bors Failures
        Bors ->> Hydra: request job
        Bors ->> BorsComment: CI failed , hydra link
        BorsComment -->> User: identify Hydra build
        Hydra -->> User:  collect context for failed build
        alt 
        GitHub -->> User: context matches TicketId 
        User->> BorsComment: append matched TicketId
        else 
        User ->> BorsComment: append hydra-taken context
        end
    end
    loop Sprintly lucky analyzer, forall unclassified
        BorsComment -->> Analyzer: collect unclassified comment
        
        alt hello
            Analyzer ->> GitHub: new classifying ticket for the comment
            GitHub -->> Analyzer: new TicketId
        else
            GitHub ->> Analyzer: collect correct TicketId to classify comment
        end
        Analyzer ->> BorsComment: swap unclassified comments with TicketId
    end     
    loop Daily bell, forall last 2 sprints comments
        Automation -->> BorsComment: collect comments and classify by TicketId
        Automation ->> Slack: report top-ten and unclassified  
    end 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment