|
1 | 1 | --- |
2 | 2 | myst: |
3 | 3 | html_meta: |
4 | | - "description": "" |
5 | | - "property=og:description": "" |
6 | | - "property=og:title": "" |
7 | | - "keywords": "" |
| 4 | + "description": "Mr. Roboto" |
| 5 | + "property=og:description": "Mr. Roboto" |
| 6 | + "property=og:title": "Mr. Roboto" |
| 7 | + "keywords": "Mr. Roboto, mr.roboto, Plone" |
8 | 8 | --- |
9 | 9 |
|
10 | | -% -*- coding: utf-8 -*- |
11 | | - |
12 | 10 | # Mr. Roboto |
13 | 11 |
|
| 12 | +```{todo} |
| 13 | +Add brief description of what is Mr. Roboto and what it does. |
| 14 | +``` |
| 15 | + |
14 | 16 | ## GitHub push |
15 | 17 |
|
16 | | -When a push happens on GitHub, `mr.roboto` is triggered so starts to analyze the push. |
| 18 | +When a push happens on GitHub, `mr.roboto` is triggered and it starts to analyze the push. |
| 19 | + |
| 20 | +- If it's on `buildout-coredev`, it starts the job of the branch that has been pushed. |
| 21 | + In this case, we send to `plone-cvs` the commit to keep track of the commits on that list. |
| 22 | +- If it's on a package that's on the {file}`sources.cfg` of a `buildout-coredev`, it starts the coredev jobs that are linked to that package and a kgs job with that package. |
| 23 | + This kgs job is a snapshot of the last working version of the `buildout.coredev` with the newest version of the package that is involved on the push. |
| 24 | + These jobs are really fast, as we only test the package applied to the kgs Plone and Python version `coredev` buildout. |
| 25 | +- If it's on a PLIP specification, it runs the job that is configured Through The Web on the `mr.roboto` interface at http://jenkins.plone.org/roboto/plips. |
| 26 | + |
| 27 | +```{todo} |
| 28 | +`http://jenkins.plone.org/roboto/plips` is obsolete, and returns a 404 not found. |
| 29 | +``` |
17 | 30 |
|
18 | | -- If it's on `buildout-coredev` it starts the job of the branch that has been pushed. |
19 | | - In this case we send to plone-cvs the commit to keep track of the commits on that list. |
20 | | -- If it's on a package that's on the {file}`sources.cfg` of a `buildout-coredev` it starts the coredev jobs that are linked to that package and a kgs job with that package. |
21 | | - This kgs job is a snapshot of the last working version of the `buildout.coredev` with the newest version of the package that is involved on the push. |
22 | | - This jobs are really fast as we only test the package applied to the kgs plone/python version `coredev` buildout. |
23 | | -- If it's on a plip specification it runs the job that is configured Through The Web on `mr.roboto` interface. (<http://jenkins.plone.org/roboto/plips>) |
24 | 31 |
|
25 | 32 | ## Job finishes |
26 | 33 |
|
27 | | -When jenkins finish a job it does a callback to `mr.roboto` in order to : |
| 34 | +When Jenkins finishes a job, it makes a callback to `mr.roboto`, which in turn does the following: |
| 35 | + |
| 36 | +- If it comes from a `coredev` job, when all the `coredev` jobs related to that push are finished, it writes a comment on the GitHub commit with all the information. |
| 37 | + It does this one time only, with all the information, so no more empty mails from the GitHub notification system. |
| 38 | +- If it comes from a kgs job and all the kgs jobs are finished, (that may take max 10 min) and some have failed, we send an email to the testbot mailing list saying that a commit failed on the kgs job. |
| 39 | + We also send an email to [plone-cvs](https://sourceforge.net/projects/plone/lists/plone-cvs) with the information to keep track of all the commits. |
| 40 | +- If it comes from a kgs job and all the kgs jobs are finished, and all are working, we send an email to [plone-cvs](https://sourceforge.net/projects/plone/lists/plone-cvs) with the information to keep track of all the commits. |
28 | 41 |
|
29 | | -- If it comes from a `coredev` job, |
30 | | - all the `coredev` jobs related to that push are finished writes a comment on the GitHub commit with all the information |
31 | | - (once and with all the information so no more empty mails from gh notification system) |
32 | | -- If it comes from a kgs job and all the kgs jobs are finished, |
33 | | - (that may take max 10 min) |
34 | | - and some has failed we send a mail to testbot mailing list saying that a commit failed on kgs job. |
35 | | - We also send a mail to [plone-cvs](https://lists.sourceforge.net/lists/listinfo/plone-cvs) with the information to keep track of all the commits. |
36 | | -- If it comes from a kgs job and all the kgs jobs are finished, |
37 | | - and all are working we send a mail to [plone-cvs](https://lists.sourceforge.net/lists/listinfo/plone-cvs) with the information to keep track of all the commits. |
| 42 | +For all kgs jobs jenkins sends an email to the author with the results when is finished. |
38 | 43 |
|
39 | | -For all kgs jobs jenkins sends a mail to the author with the results when is finished. |
| 44 | +All the notifications have an URL similar to http://jenkins.plone.org/roboto/get_info?push=9a183de85b3f48abb363fa8286928a10. |
40 | 45 |
|
41 | | -All the notifications has a url like: <http://jenkins.plone.org/roboto/get_info?push=9a183de85b3f48abb363fa8286928a10>. |
| 46 | +```{todo} |
| 47 | +http://jenkins.plone.org/roboto/get_info?push=9a183de85b3f48abb363fa8286928a10 is obsolete, and returns a 404 not found. |
| 48 | +``` |
42 | 49 |
|
43 | | -On this url there is the commit, who, the diff, the files and the result for each jenkins job. |
| 50 | +On this URL, there is the commit hash, who committed it, the diff, the files, and the result for each Jenkins job. |
44 | 51 |
|
45 | | -- [plone-testbot](http://lists.plone.org/mailman/listinfo/plone-testbot) mailing list is receiving only when a test fails on kgs environment and may take max 10 min from the push. |
46 | | -- [plone-cvs](https://lists.sourceforge.net/lists/listinfo/plone-cvs) always has the commit there with the diff and the information and may take 10 min to get there after the push. |
47 | | -- author receives the results of tests failing against kgs on 10 min |
| 52 | +- [plone-testbot](https://lists.plone.org/mailman/listinfo/plone-testbot) mailing list receives messages only when a test fails on the kgs environment, and may take up to ten minutes from the push. |
| 53 | +- [plone-cvs](https://sourceforge.net/projects/plone/lists/plone-cvs) always has the commit, diff, and the information, and it may take ten minutes to get there after the push. |
| 54 | +- The author receives the results of tests failing against kgs after ten minutes after the push. |
48 | 55 |
|
49 | | -:::{note} |
50 | | -In case of integration errors with other packages that may fail because of the push kgs will not be aware of that, |
51 | | -so it's important that at the end |
52 | | -(and after the 50' that takes the `coredev` jobs you also check the latest version of `coredev` with your push) |
53 | | -::: |
| 56 | +```{note} |
| 57 | +In case of integration errors with other packages that may fail because of the push, kgs will not be aware of that. |
| 58 | +It's important that at the end (and after the fifty minutes that takes the `coredev` jobs to complete), that you also check the latest version of `coredev` with your push. |
| 59 | +``` |
0 commit comments