Go to file
Xavier Morel a1384b3868 [FIX] runbot_merge: iterate commits in topological order
Previously, runbot_merge assumed github would return commits in
topological order (from base to head of PR). However as in the UI
github sorts commits using the author's date field, so depending on
rebasing/cherrypick/... it's possible to have the head of the commit
be "younger" than the rest. In that case robodoo will try to merge
it *first*, then attempt to merge the rest on top of it (-ish, it'd
probably make a hash of it if that worked), at which point github
replies with a 204 (nothing to merge) because the PR head has already
included everything which topologically precedes it.

Fix: re-sort commits topologically when fetching the PR's log. That
way they're rebased in the proper order and correctly linked to one
another.

Example problematic PR: odoo/enterprise#2794, the commits are

773aef03a59d50b33221d7cdcdf54cd0cbe0c914
    author.date: 2018-10-01T14:58:38Z
879547c8dd37e7f413a97393a82f92377785b50b (parent: 773aef03)
    author.date: 2018-10-01T12:02:08Z

Because 879547c8 is "older" than 773aef03, github returns it first,
both in the UI and via the API.

Also fixed up support for committer & author metadata in fake_github
so the local tests would both expose the issue properly and allow
fixing it.
2018-10-09 15:08:13 +02:00
runbot [IMP] runbot: add a frontend template for builds by branch 2018-09-21 08:45:30 +02:00
runbot_cla [FIX] runbot_cla: fix enforce utf-8 even when runbot locale is different 2018-03-14 11:07:55 +01:00
runbot_merge [FIX] runbot_merge: iterate commits in topological order 2018-10-09 15:08:13 +02:00
.gitignore [IMP] runbot smaller status bar 2015-01-18 19:21:32 +01:00
README.md [REF] README: update the readme file for the brand new repo 2018-03-08 16:59:39 +01:00

Odoo Runbot Repository

This repository contains the source code of Odoo testing bot runbot.odoo.com and related addons.

Runbot

The runbot/ directory holds the main runbot Odoo addon.

Runbot CLA addon

The runbot_cla/ directory contains an Odoo addon that checks CLA.