mirror of
https://github.com/odoo/runbot.git
synced 2025-03-19 09:25:46 +07:00

Before this, impacting a commit's statuses on the relevant PR or staging would be performed immediatly / inline with its consumption. This, however, is problematic if we want to implement additional processing like #87 (and possibly though probably not #52): webhook handlers should be kept short and fast, feeding back into github would not be acceptable. - flag commits as needing processing instead of processing them immediately, this uses a partial index as it looks like the recommended / proper way to index a boolean column in which one of the values is searched much more than the other (todo: eventually check if that actually does anythnig) - add a new cron for commits processing - alter tests so they use this new cron (mostly by migrating them to `run_crons` though not solely as some still need more detailed management to properly check intermediate steps) Fix an issue with closing a staged PR while at it (the "merging" tag would potentially never be removed).
53 lines
2.2 KiB
XML
53 lines
2.2 KiB
XML
<odoo>
|
|
<record model="ir.cron" id="merge_cron">
|
|
<field name="name">Check for progress of PRs & Stagings</field>
|
|
<field name="model_id" ref="model_runbot_merge_project"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._check_progress(True)</field>
|
|
<field name="interval_number">1</field>
|
|
<field name="interval_type">minutes</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="doall" eval="False"/>
|
|
</record>
|
|
<record model="ir.cron" id="feedback_cron">
|
|
<field name="name">Send feedback to PR</field>
|
|
<field name="model_id" ref="model_runbot_merge_project"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._send_feedback()</field>
|
|
<field name="interval_number">1</field>
|
|
<field name="interval_type">minutes</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="doall" eval="False"/>
|
|
</record>
|
|
<record model="ir.cron" id="fetch_prs_cron">
|
|
<field name="name">Check for PRs to fetch</field>
|
|
<field name="model_id" ref="model_runbot_merge_project"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._check_fetch(True)</field>
|
|
<field name="interval_number">1</field>
|
|
<field name="interval_type">minutes</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="doall" eval="False"/>
|
|
</record>
|
|
<record model="ir.cron" id="check_linked_prs_status">
|
|
<field name="name">Warn on linked PRs where only one is ready</field>
|
|
<field name="model_id" ref="model_runbot_merge_pull_requests"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._check_linked_prs_statuses(True)</field>
|
|
<field name="interval_number">1</field>
|
|
<field name="interval_type">hours</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="doall" eval="False"/>
|
|
</record>
|
|
<record model="ir.cron" id="process_updated_commits">
|
|
<field name="name">Impact commit statuses on PRs and stagings</field>
|
|
<field name="model_id" ref="model_runbot_merge_commit"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._notify()</field>
|
|
<field name="interval_number">1</field>
|
|
<field name="interval_type">minutes</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="doall" eval="False"/>
|
|
</record>
|
|
</odoo>
|