mirror of
https://github.com/odoo/runbot.git
synced 2025-03-24 11:55:49 +07:00

* don't warn on every PR on the dot every week, instead wait for the PRs to be "sufficiently old" (at least 3 days) * after discussion with bugfix, the reminder ping should be sent every day following the PR being "old enough" * run the cron every day instead of every week * add an override context key for test purposes Closes #198
52 lines
2.0 KiB
XML
52 lines
2.0 KiB
XML
<odoo>
|
|
<record model="ir.cron" id="port_forward">
|
|
<field name="name">Check if there are merged PRs to port</field>
|
|
<field name="model_id" ref="model_forwardport_batches"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._process()</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="updates">
|
|
<field name="name">Update followup FP PRs</field>
|
|
<field name="model_id" ref="model_forwardport_updates"/>
|
|
<field name="state">code</field>
|
|
<field name="code">model._process()</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="reminder">
|
|
<field name="name">Remind open PR</field>
|
|
<field name="model_id" ref="model_forwardport_updates"/>
|
|
<field name="state">code</field>
|
|
<field name="code">
|
|
default_delta = dateutil.relativedelta.relativedelta(days=3)
|
|
cutoff = env.context.get('forwardport_updated_before') or (datetime.datetime.now() - default_delta).strftime('%Y-%m-%d %H:%M:%S')
|
|
|
|
for pr in env['runbot_merge.pull_requests'].search([
|
|
# only FP PRs
|
|
('source_id', '!=', False),
|
|
# active
|
|
('state', 'not in', ['merged', 'closed']),
|
|
# last updated more than a week ago
|
|
('write_date', '<', cutoff),
|
|
]).mapped('source_id'):
|
|
env['runbot_merge.pull_requests.feedback'].create({
|
|
'repository': pr.repository.id,
|
|
'pull_request': pr.number,
|
|
'message': "This pull request has forward-port PRs awaiting action",
|
|
})
|
|
</field>
|
|
<field name="interval_number">1</field>
|
|
<field name="interval_type">days</field>
|
|
<field name="numbercall">-1</field>
|
|
<field name="doall" eval="False"/>
|
|
</record>
|
|
</odoo>
|