Skip to content

bots bots bots

Julia Krüger edited this page Jul 10, 2024 · 14 revisions

Input / Output

flowchart LR
    BOT{bot-bot}
    BOT --> K{bot-keepalive} --> BOT
    C{bot-feedstocks}
    PRS{bot-prs}
    GRAPH{bot-make-graph}
    UPDATE_STATUS{bot-update-status-page}
    MAKE_MIGRATORS{bot-make-migrators}
    VERSIONS{bot-versions}

    PR_JSON(fa:fa-folder pr_json)
    PR_INFO(fa:fa-folder pr_info)
    MIGRATORS(fa:fa-folder migrators)
    NODE_ATTRS(fa:fa-folder node_attrs)
    VERSION_PR_INFO(fa:fa-folder version_pr_info)
    STATUS(fa:fa-folder status)

    FEEDSTOCKS_JSON[fa:fa-file all_feedstocks.json]
    GRAPH_JSON[fa:fa-file graph.json]
   
    BOT -- writes --> PR_JSON
    BOT -- writes --> PR_INFO
    BOT -- writes --> VERSION_PR_INFO
    MIGRATORS -- reads --> BOT
    GRAPH_JSON -- reads --> BOT

    MAKE_MIGRATORS -- writes --> MIGRATORS

    FEEDSTOCKS_JSON -- reads--> C --writes--> FEEDSTOCKS_JSON

    FEEDSTOCKS_JSON -- reads--> GRAPH
   
    GRAPH_JSON -- reads --> PRS -- writes --> PR_JSON
    GRAPH_JSON -- reads --> MAKE_MIGRATORS
    GRAPH_JSON -- reads --> VERSIONS 
    GRAPH -- writes --> GRAPH_JSON
    

    GRAPH -- writes --> PR_INFO
    GRAPH -- writes --> VERSION_PR_INFO
    GRAPH -- writes --> NODE_ATTRS
    
    UPDATE_STATUS -- writes --> STATUS
    PRS -- triggers --> UPDATE_STATUS
Loading

leftover

flowchart LR
    PYPI{bot-pypi-mapping}
    RELOCK{bot-relock}
Loading

runtime

classDiagram
class bot-bot {
    setup
    run migrations: conda-forge-tick auto-tick
    git status
    deploy
    trigger bot-bot()
}
bot-keepalive ..* bot-bot
bot-keepalive : runs 1*/hour
bot-keepalive : conditionally triggers the bot-bot()

bot-feedstocks : runs 1*/hour
bot-feedstocks : conda-forge-tick gather-all-feedstocks()

bot-make-graph : runs every 15 min
bot-make-graph : update-nodes() conda-forge-tick make-graph --job=${BOT_JOB} --n-jobs=3
bot-make-graph : make-graph() conda-forge-tick make-graph --update-nodes-and-edges && retriggers workflow


class bot-prs {
    runs every 15 min
    prs: conda-forge-tick update-prs --n-jobs=4()
    prs-trigger: retriggers prs & trigger update-status-page()
}

bot-prs --> update-status-page
update-status-page: conda-forge-tick make-status-report
Loading
Clone this wiki locally