mirror of
https://github.com/odoo/runbot.git
synced 2025-03-16 16:05:42 +07:00

The staging cron turns out to be pretty reasonable to trigger, as we already have a handler on the transition of a batch to `not blocked`, which is exactly when we want to create a staging (that and the completion of the previous staging). The batch transition is in a compute which is not awesome, but on the flip side we also cancel active stagings in that exact scenario (if it applies), so that matches. The only real finesse is that one of the tests wants to observe the instant between the end of a staging (and creation of splits) and the start of the next one, which because the staging cron is triggered by the failure of the previous staging is now "atomic", requiring disabling the staging cron, which means the trigger is skipped entirely. So this requires triggering the staging cron by hand.
80 lines
3.4 KiB
XML
80 lines
3.4 KiB
XML
<odoo>
|
|
<record model="ir.cron" id="merge_cron">
|
|
<field name="name">Check for progress of (and merge) stagings</field>
|
|
<field name="model_id" ref="model_runbot_merge_project"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._check_stagings(True)</field>
|
|
<field name="interval_number">6</field>
|
|
<field name="interval_type">hours</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="doall" eval="False"/>
|
|
<field name="priority">30</field>
|
|
</record>
|
|
<record model="ir.cron" id="staging_cron">
|
|
<field name="name">Check for progress of PRs and create Stagings</field>
|
|
<field name="model_id" ref="model_runbot_merge_project"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._create_stagings(True)</field>
|
|
<field name="interval_number">6</field>
|
|
<field name="interval_type">hours</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="doall" eval="False"/>
|
|
<field name="priority">40</field>
|
|
</record>
|
|
<record model="ir.cron" id="feedback_cron">
|
|
<field name="name">Send feedback to PR</field>
|
|
<field name="model_id" ref="model_runbot_merge_pull_requests_feedback"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._send()</field>
|
|
<field name="interval_number">6</field>
|
|
<field name="interval_type">hours</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="doall" eval="False"/>
|
|
<field name="priority">60</field>
|
|
</record>
|
|
<record model="ir.cron" id="labels_cron">
|
|
<field name="name">Update labels on PR</field>
|
|
<field name="model_id" ref="model_runbot_merge_pull_requests_tagging"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._send()</field>
|
|
<field name="interval_number">10</field>
|
|
<field name="interval_type">minutes</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="doall" eval="False"/>
|
|
<field name="priority">70</field>
|
|
</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_fetch_job"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._check(True)</field>
|
|
<field name="interval_number">6</field>
|
|
<field name="interval_type">hours</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="doall" eval="False"/>
|
|
<field name="priority">10</field>
|
|
</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"/>
|
|
<field name="priority">50</field>
|
|
</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">6</field>
|
|
<field name="interval_type">hours</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="doall" eval="False"/>
|
|
<field name="priority">20</field>
|
|
</record>
|
|
</odoo>
|