annotate README.txt @ 204:5f188d2a36aa

write how the .ini files work
author Jeff Hammel <jhammel@mozilla.com>
date Wed, 02 Feb 2011 18:17:07 -0800
parents bba97450cbc2
children 3e5d1c1e302d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
59
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
1 autobot
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
2 =======
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
3
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
4 buildbot for the A*Team
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
5
184
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
6
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
7 What is autobot?
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
8 ----------------
59
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
9
184
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
10 autobot is a continuous integration solution for the Automation and
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
11 Tools Team. We have a lot of software. We're really talented, so
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
12 usually it doesn't break. But we're not infalliable. Our robot ally,
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
13 autobot, is there to test things for us. Let's me autobot!
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
14
59
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
15
184
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
16 Installing autobot
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
17 ------------------
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
18
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
19 autobot may be installed using the Install script::
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
20
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
21 curl http://k0s.org/mozilla/hg/autobot/raw-file/tip/INSTALL.sh | bash
59
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
22
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
23 This will create a virtualenv and install autobot for development
184
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
24 ($VIRTUAL_ENV/src/autobot).
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
25
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
26
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
27 Setting up a buildmaster and slave
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
28 ----------------------------------
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
29
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
30 Once you have autobot installed and the virtualenv activated, you'll
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
31 want to create a buildmaster and a buildslave.
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
32
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
33 You can create a master-slave pair by running ``create-autobot`` after
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
34 activating the virtualenv. This is mostly useful for autobot
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
35 development. The scripts ``create-autobot-master`` and
59
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
36 ``create-autobot-slave`` are also available. The scripts will prompt you
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
37 for a factory. The factories are from ``autobot.projects`` and its
186
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
38 subdirectories. You can list the available factories with
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
39 ``create-autobot --list-factories`` (or ``create-autobot-master
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
40 --list-factories``).
59
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
41
186
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
42 Running ``create-autobot --help`` will give the variables you can set
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
43 when it makes a new bot for you (``create-autobot-master`` and
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
44 ``create-autobot-slave`` also have a ``--help``, the variables in
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
45 ``create-autobot`` being a superset of these).
184
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
46
186
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
47 If you don't specify a variable, the default will be used to create
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
48 your particular bot. You can (probably) change it later.
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
49
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
50
184
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
51 Using autobot
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
52 -------------
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
53
187
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
54 The buildmaster and buildslave are started with
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
55 ``buildbot start master`` and ``buildslave stop slave``. Respective
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
56 ``stop`` commands also exist. If you used the ``create-autobot``
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
57 command the generated bot will have a ``restart_buildbot.py`` script
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
58 that will stop and start both the master and slave and (if debug is
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
59 set) remove the log as well.
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
60
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
61 The generated ``master.cfg`` file reads values from an ``master.ini``
204
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
62 file in the same directory. The master.ini contains a number of
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
63 different sections:
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
64
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
65 * ``[:master:]`` contains the top level configuration for the master
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
66 as well as default settings for slaves
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
67 * sections like ``[slave:slavename]`` indicate a slave of name
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
68 ``slavename``
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
69 * other sections are construction parameters for factories
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
70
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
71 The format of the ``.ini`` file is detailed in the subsequent
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
72 section. You may change the .ini file used by editing the
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
73 ``master.cfg`` file, or, if for whatever reason you don't want to use
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
74 an .ini file you can construct the appropriate configuration therein
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
75 yourself.
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
76
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
77 An overview of the build status is detailed at the waterfall display,
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
78 by default at http://localhost:8010/waterfall . To force a build,
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
79 click on the desired builder and there will be a force build button
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
80 towards the bottom.
187
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
81
184
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
82 It is important to remember that continuous integration is a safety
204
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
83 net, not a first line of defense. In other words, continue to check your code
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
84 *before* sending it to autobot.
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
85
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
86 .ini file format
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
87 ----------------
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
88
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
89 As stated above, a ``master.ini`` file contains three different kinds
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
90 of sections:
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
91
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
92 * ``[:master:]`` contains the top level configuration for the master
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
93 as well as default settings for slaves
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
94 * sections like ``[slave:slavename]`` indicate a slave of name
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
95 ``slavename``
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
96 * other sections are construction parameters for factories
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
97
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
98 What goes in each of these?
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
99
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
100 ``:master:`` The master section contains parameters appropriate to the
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
101 buildmaster:
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
102
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
103 * slaveport: which port to listen for the slaves on
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
104 * htmlport: which port to serve the waterfall display on
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
105 * pollInterval: how often to poll the repositories, in seconds [DEFAULT: 60]
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
106 * treeStable: how long to wait before the tree settles down before
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
107 building [DEFAULT: 60]
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
108
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
109 The other defaults may be seen by running ``create-autobot-master --help``.
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
110
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
111 Other parameters given in the ``[:master:]`` section are used as the
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
112 baseline defaults for each slave. They may be overridden in each
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
113 ``slave:`` section
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
114
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
115 ----
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
116
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
117 ``slave:`` parameters for each slave:
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
118
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
119 * password: each slave *must* have a password. Unless there's a
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
120 reason to have a password per slave, its probably better to put this
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
121 in the ``:master:`` section
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
122
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
123 * factories: space-separated list of factories to run on that slave.
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
124 If the special value ``*`` is used, all factories will be run. You
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
125 can view the factories available with
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
126 ``create-autobot --list-factories``. The factory name corresponds to
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
127 the directory (or module) name in ``autobot.projects``.
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
128
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
129 * os: the operating system of the slave. Should be one of linux, win,
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
130 or mac (though see TODO about future use of MozInfo making this
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
131 obselescent). You probably *shouldn't* have a default key for this
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
132 in the ``:master:`` section (though autobot won't try to stop you!).
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
133
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
134 ----
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
135
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
136 factory sections: Each parameter in a factory section is used as a
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
137 constructor (``__init__``) keyword argument when they are created in
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
138 the ``master.cfg``. So a factory section like::
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
139
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
140 [foo]
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
141 bar = fleem
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
142 baz = another parameter
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
143
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
144 will invoke the foo factory (lets say it maps to ``MyFooFactory``) on
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
145 each slave like::
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
146
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
147 MyFooFactory(**dict(bar='fleem', baz='another parameter'))
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
148
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
149 In addition, if a factory has a special key, ``platform``, the slave
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
150 will pass its platform information when instantiating a factory.
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
151 Currently, this is a dict with a single key, ``os``, but more may be
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
152 added as needed. As noted in the TODO below, ideally this would be
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
153 deprecated entirely by MozInfo but such is the interim solution.
184
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
154
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
155
59
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
156 Projects
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
157 --------
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
158
184
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
159 What does autobot test?
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
160
59
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
161 * logparser [WORKING]
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
162 * profilemanager [IN FLIGHT]
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
163 * mozmill [IN FLIGHT]
70
f8dccf3377d9 update documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 59
diff changeset
164 * devicemanager [IN FLIGHT]
59
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
165 * firebug [TODO]
e66165f2f31b complete automagic imports
Jeff Hammel <jhammel@mozilla.com>
parents: 30
diff changeset
166 * jetpack [TODO]
70
f8dccf3377d9 update documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 59
diff changeset
167
186
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
168 The projects are obtained from any factories in subdirectories of
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
169 ``autobot.projects`` (use
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
170 ``python -c 'from autobot import projects; print projects.__file__'``
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
171 to see this location).
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
172
184
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
173
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
174 Adding a New Project
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
175 --------------------
a5709ef5e275 additional documentation
Jeff Hammel <jhammel@mozilla.com>
parents: 70
diff changeset
176
187
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
177 Occassionally, you'll need to add a new project to test. You can add
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
178 a ``__init__.py`` file
186
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
179
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
180
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
181 Is your autobot being feisty?
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
182 -----------------------------
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
183
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
184 Let me know! I'd like to make autobot a solution that works for all
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
185 stake-holders, and if you're reading this, that means you!
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
186
187
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
187 jhammel@mozilla.com
186
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
188
204
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
189
186
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
190 TODO
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
191 ----
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
192
187
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
193 No software of any size is ever finished. Here are a few things I
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
194 would like to add:
186
c7172ca54dff more docs
Jeff Hammel <jhammel@mozilla.com>
parents: 184
diff changeset
195
187
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
196 * singular checkout of repos on slaves: the slaves should have a
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
197 singular master repo that is checked out once for each repo URL,
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
198 branch pair. It is then updated as the slaves need and (e.g.)
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
199 cloned from there. This should effectively minimize fetch time.
bba97450cbc2 * update example and templates
Jeff Hammel <jhammel@mozilla.com>
parents: 186
diff changeset
200
204
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
201 * use (as yet non-existent) MozInfo package on the slave: instead of
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
202 specifying the operating system, etc on the master, MozInfo should
5f188d2a36aa write how the .ini files work
Jeff Hammel <jhammel@mozilla.com>
parents: 187
diff changeset
203 determine the applicable information from introspection