odoo / odoo/runbot

Idea: optimistic staging on low-traffic branches

Open
#577 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

mergebot
Dominant language
Python
Stars
159
Forks
156
Avg merge
1d 13h
Merged PRs (30d)
16

Description

Currently staging only occurs for pull request which are ready, meaning approved and validated (by CI) or p=0.

We definitely don't want to stage PRs which are not validated when they could cause staging failures leading to other PRs having to be restaged, as they would significantly increase the odds of such an issue,

However for low-traffic branches with nothing to stage, we could try staging PRs which:

  • are approved
  • are only missing CIs which the staging will check anyway (e.g. not security or style)
  • ? are the only one ?

Last item is the biggest question mark e.g. if we have 2 PRs in such a stage do we want to stage both, at the risk of either failing and causing a split? Or neither?

An implementation concern ( / difficulty) is we probably don't want to mark such optimistically staged PRs as in error if the CI ends up failing.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by locating the logic that selects ready pull requests for staging and the checks that determine whether CI has validated them. Before implementation, resolve whether one or multiple PRs may be staged on an empty low-traffic branch and how an optimistic staging failure should be recorded.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ci-cd
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.