runbot/runbot_merge/models
Xavier Morel f367a64481 [IMP] *: trigger-ify merge cron
The merge cron is the one in charge of checking staging state and
either integrating the staging into the reference branch (if
successful) or cancelling the staging (if failed).

The most obvious trigger for the merge cron is a change in staging
state from the states computation (transition from pending to either
success or failure). Explicitly cancelling / failing a staging marks
it as inactive so the merge cron isn't actually needed.

However an other major trigger is *timeout*, which doesn't have a
trivial signal. Instead, it needs to be hooked on the `timeout_limit`,
and has to be re-triggered at every update to the `timeout_limit`,
which in normal operations is mostly from "pending" statuses bumping
the timeout limit. In that case, `_trigger` to the `timeout_limit` as
that's where / when we expect a status change.

Worst case scenario with this is we have parasitic wakeups of this
cron, but having half a dozen wakeups unnecessary wakeups in an hour
is still probably better than having a wakeup every minute.
2024-08-02 15:14:50 +02:00
..
crons [IMP] *: crons tests running for better triggered compatibility 2024-08-02 09:00:34 +02:00
project_freeze [CHG] forwardport: perform forward porting without working copies 2024-07-08 14:37:14 +02:00
staging_cancel [ADD] runbot_merge: stagings canceling wizard 2022-12-08 10:46:22 +01:00
__init__.py [ADD] *: per-repository webhook secret 2024-06-06 11:07:57 +02:00
batch.py [IMP] runbot_merge: move inconsistency block higher in batches 2024-07-24 12:35:21 +02:00
commands.py [IMP] *: convert fw=no to a genuine forward-porting policy 2024-06-28 16:06:20 +02:00
events_sources.py [ADD] *: per-repository webhook secret 2024-06-06 11:07:57 +02:00
ir_actions.py [IMP] runbot_merge: add json & requests to server actions context 2023-02-20 10:13:05 +01:00
project.py [ADD] *: per-repository webhook secret 2024-06-06 11:07:57 +02:00
pull_requests.py [IMP] *: trigger-ify merge cron 2024-08-02 15:14:50 +02:00
res_partner.py [ADD] runbot_merge: ad-hoc ACL tracking to res.partner 2024-05-16 09:32:03 +02:00
stagings_create.py [FIX] *: don't send merge errors to logging 2024-07-26 14:48:59 +02:00
utils.py [ADD] runbot_merge: rendering of PR descriptions 2024-07-15 10:28:28 +02:00