Contributors mailing list archives

contributors@odoo-community.org

Browse archives

Avatar

Runbot long term to install packages and other features

by
Vauxoo, Moisés López Calderón
- 07/08/2016 21:49:00
* History

A) Install packages
The current process to install packages for our runbot for OCA is:
1. Request to install pip and apt packages.
2. Wait manual installing by server-admin.
3. Receive the confirmation of package installed.
4. Rebuild manually.

Between 2 and 3 we could wait a pair of days or weeks

If we need of one person this delay is normal (anyone who is).

But we have a requirements.txt file that we can re-use to install dependencies on runbot.


B) Reproduce travis errors
Currently we have errors from travis that we can't reproduce on local and we don't have access to the build of travis to debug that environment.

We can't reproduce this error from other environment the last one have a video of how to detect them with the same environment: https://youtu.be/r6-IE87UZQc

C) Repositories dependencies
Currently we have a runbot where we need configure manually the repositories dependencies, but we have a oca_dependencies.txt.
Runbot have a method to process them and MQT have other one for travis.
We can re-use it too (similar case from requirements.txt) and avoid duplicated code and re-configurate 2 times the same thing.


* Proposal

- Pieces
The tool travis2docker generates a Dockerfile base on .travis.yml (86% of coverage)

(Our use a custom image with custom packages pre-installed and other things to make caching https://hub.docker.com/r/vauxoo/odoo-80-image-shippable-auto/)

All repos of OCA are using a .travis.yml with MQT centralized.

We have a odoo module runbot_travis2docker for version 9.0 and 94% of coverage

- Join them
We have all pieces to join them to fix A) B) and C).

With this pieces if you add a package from .travis.yml, requirements.txt or oca_dependencies we re-use the same code of MQT to generate the instance with all apt and pip packages, and all repositories dependencies recursively.
We don't need extra custom configuration from runbot instance or server commands. 

FYI we have a stable runbot using on http://runbot.vauxoo.com/runbot
(Offtopic with a isolated environment we have a ssh conexion feature to debug direclty from container if a error is hardly to reproduce locally).

It's 100% is compatible with others CI like as @lasley told us here

Conclusion
My proposal is migrate our current runbot to dockerized one.
@Lasley @alan196 and me give you our help to configure and fix new issues.

FYI @Alan196 send us a video of how configure it here

Note: We have other cool tools, but many of them require a extra file or extra configuration to work.

What do you think?


--
Moisés López Calderón
Vauxoo - OpenERP's Gold Partner
Mobile: (+521) 477-752-22-30
Office: (+52) 477-773-33-46
web: http://www.vauxoo.com
twitter: @vauxoo
           @moylop260           

Follow-Ups