1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569
|
<!-- $Id: bczar.html 97793 2014-06-23 13:10:09Z johnnyw $ -->
<body>
<html>
<head>
<title>The realm of the build czar</title>
</head>
<h2>Build Czar Duties</h2>
<p>
The main duties of the Build Czar are summarized as follows
<li>
Continuously monitor the builds using the <a href="http://www.dre.vanderbilt.edu/scoreboard">
Scoreboard </a>
as one of the primary source of information.
<li>
Notify developers who broke compilation to fix the errors as soon as possible,
ideally by the next day. A red color in the "Compile" column is not at all
acceptable - the Build Czar needs to ensure that these problems are identified
and fixed in a timely manner. If possible, the Build Czar should let developers
know what the source of problems might be. It is quite possible that developers
who checked in the code or users who provided the patch may not have resources
to investigate the issues, so the Builds Czar's help is essential to keep
things moving ahead.
<li>
Keep an eye on the tests that are run in every build. Anything abnormal needs
to be notified to the right developer. The Build Czar should try helping the
developer by providing stack traces (in case of crashes) or other details like
printouts with debugging level turned on.
<li>
Some tests fail in the daily builds for many reasons like known bugs, transient
timeouts etc. Make sure that no new test failures show up. This <a href="mailto:jwillemsen@remedy.nl">
guy</a>
knows most of the information. Ask him to help you out with known problems.
<li>
Keep an eye on the <a href="http://atcdstats.theaceorb.nl/index.shtml">footprint and
performance</a> stats. Any abnormal changes should be brought to the
attention of the developer responsible for it or to the <a href="mailto:devo-group@list.isis.vanderbilt.edu">
devo group</a>.
<li>
Keep the builds ticking. Any red on the "Last Finished" column in the
Scoreboard should be fixed. The link to the "Build Name" indicates the machine
where the build is being run.
<li>
The builds don't cover all the possible configurations. If you get a bug report
about a compile error in a particular configuration, try setting up a build to
make sure that it doesn't show up again if it has been fixed.
<li>
Keep an eye on the <a href="http://bugzilla.dre.vanderbilt.edu/">bugzilla
</a>
entries that are registered by users and developers. Decide on the bugs that
need to be fixed for the beta and pain developers for an ETA.
</p>
<P>
The document <a href="./privileges.html">here </a>talks about the powers of a
build Czar.
</P>
<P>
The Build Czar is empowered to set up more builds on his own for his
convenience. This <a href="https://svn.dre.vanderbilt.edu/viewvc/autobuild/trunk/README?revision=HEAD">
page </a>has a step by step instructions on how to do that.
</P>
<P>
The build czar can get the build configuration by looking at the config portion
of the scoreboard.
</P>
<p>Pro-active involvement by the build czar is necessary. Being a pro-active
build czar requires monitoring the subversion archive carefully and responding
quickly to suspected changes to keep the repo stays stable.</p>
<p>After an email from the Coverity scan project check the Coverity project and
check that there are no new errors reported. If so, contact the person who
introduced the error.</p>
<p>Check the daily test statistics email to determine any drop in test failures.
Do note that when there are a lot of compile errors the test results are really
unusable.</p>
<hr>
<h2>Recipe for Cutting a Beta/Minor Kit</h2>
<P>
The build czar is also in charge for the release of the beta. Cutting a beta is
as simple as cutting butter if things go well. Here is the procedure followed
while cutting a beta:
<ol>
<li>
The whole process takes somewhere between 3-4 hours.</li>
<li>
We suggest you take advantage of GNU Screen so that even if your SSH session is
interrupted, the cutting process can continue. This command must be installed on
the machines we use to cut the release.
<ul>
<li>
type <code>screen</code> to start screen.</li>
<li>
execute commands as normal. Note that Ctrl-A is special in screen, so you need
to type Ctrl-A-A to send a Ctrl-A to the shell</li>
<li>
should your session be interrupted, reconnect and type <code>screen -x</code></li>
<li>
when finished, just type exit twice</li>
</ul>
<li>
After login check that you can,
<br>
<code>ssh bczar@download.dre.vanderbilt.edu</code><br>
to ensure that this succeeds. If not fix the problem, if ok exit again back to
<li>
Prior to starting this, gather aggregate release notes from all developers.
This is usually in the form of an email plea asking to update all NEWS files in
the archive. These NEWS files are used as part of the release notes for the release.</li>
<li>
Make sure your release system has all the needed tools. This can be achieved on Fedora
using:
<ul>
<li><code>yum install perl svn screen pysvn automake doxygen bzip2 tar gzip openssh graphviz zip libtool GitPython</code></li>
<li><code>yum update</code></li>
</ul>
or on OpenSuSE
<ul>
<li><code>zypper install perl subversion screen python-pysvn automake doxygen bzip2 tar gzip openssh graphviz zip libtool python-gitpython</code></li>
<li><code>zypper update</code></li>
</ul>
If you want to perform a full build with qt support, than run:
<ul>
<li><code>yum install yum-utils gdb unzip glibc-devel libasan bison redhat-lsb perl-Pod-Usage rubygems clang make patch libcgroup-devel ant setuptool system-config-network-tui system-config-firewall-tui lcov gnuplot java-1.7.0-openjdk git-svn perl svn screen pysvn automake doxygen bzip2 tar gzip openssh graphviz zip libtool gcc-c++ boost-devel valgrind openssl-devel gcc qt4 fltk-devel bzip2-devel rsync openssl lzo-devel zziplib-devel acpid acpi nfs-utils java xerces-c xerces-c-devel mc qt qt-devel icecream ruby ruby-devel lksctp-tools-devel git telnet GitPython NetworkManager wget mailx</code></li>
</ul>
For some optional i686 packages run
<ul>
<li><code>yum install openssl-devel.i686 xerces-c-devel.i686 glibc-devel.i686 glibc.i686 libstdc++.i686 ncurses-libs.i686 zlib.i686</code></li>
</ul>
</li>
<li>
Checkout a new workspace on a Fedora system with the last public release and with
all patches installed.
</li>
<ul>
<li>
The best place to create the workspace is under <code>/export/anduriltmp/bczar</code> (if you are on anduril). Don't
use the home directory itself, it is an NFS share and not really fast.
</li>
<li>
Checkout like this:
<ul>
<li>
<code>svn co --username <your user id>
https://svn.dre.vanderbilt.edu/DOC/Middleware/trunk DOC_ROOT</code></li>
<li>
<code>svn co --username <your user id>
https://svn.dre.vanderbilt.edu/DOC/MPC/trunk DOC_ROOT/ACE/MPC</code></li>
</ul>
</ul>
<li>
Set $DOC_ROOT to point to the new workspace you checked out.</li>
<li>
Set an environment variable SIGNATURE indicating your full name. This is used
to fill the ChangeLog entry.</li>
<ul>
<li>
For example,<tt>export SIGNATURE="Johnny Willemsen"</tt></li></ul>
<li>
Set an environment variable MAILID indicating your mail id. This is used to
fill the mail id portion of the ChangeLog entry.</li>
<ul>
<li>
For example,<tt>export MAILID="jwillemsen@remedy.nl"</tt></li></ul>
<li>
Change directories to <tt>$DOC_ROOT</tt>
</li>
<li>
Tag the release by executing<br>
<code>ACE/bin/make_release.py --beta --update --tag</code><br>
This will only take a couple minutes to complete and once done successfully,
you can carry on with BOTH creating the kits and generating the doxygen
documentation in parallel. NOTE that <code>--beta</code> should be replaced
with <code>--minor</code> or <code>--major</code> as appropriate.</li>
<br>
After the repository has been tagged check each file listed below to make
sure version numbers are updated as expected.<br>
<br>
In the <em>EXTREMELY</em> unlikely event that something goes wrong during the <em>
tagging</em> of the repo, the following files must be returned to the state
they were in before the release process started and then checked back into SVN:<br>
<ul>
<code>
<li>
ACE/ChangeLog</li>
<li>
ACE/PROBLEM-REPORT-FORM</li>
<li>
ACE/VERSION</li>
<li>
ACE/TAO/ChangeLog</li>
<li>
ACE/TAO/PROBLEM-REPORT-FORM</li>
<li>
TAO/VERSION</li>
<li>
CIAO/ChangeLog</li>
<li>
CIAO/PROBLEM-REPORT-FORM</li>
<li>
CIAO/VERSION</li>
<li>
CIAO/ciao/Version.h</li>
<li>
TAO/tao/Version.h</li>
ace/Version.h</li> </code>
</ul>
In most cases, a<br>
<code>svn revert -R *</code><br>
from DOC_ROOT will suffice.<br />
The tag will also need to be removed (both in Middleware and MPC):
ACE+TAO+CIAO-X_Y_Z (where X is the ACE Major version number, and Y & Z are the
Minor and Beta release numbers of the release that is to be restarted).<p>
E.g.:<br>
<code>svn rm
https://svn.dre.vanderbilt.edu/DOC/Middleware/tags/ACE+TAO+CIAO-X_Y_Z<br />
svn rm https://svn.dre.vanderbilt.edu/DOC/MPC/tags/ACE+TAO+CIAO-X_Y_Z<br />
</code>
<br>
Note that this <em>only</em> needs to be done if the <em>tagging</em> fails. If
kit creation fails, simply restart that process.
<li>
Create the kits by executing<br>
<code>ACE/bin/make_release.py --kit</code><br>
This will take somewhere around 2-4 hours to complete.
<ul>
<li>
These commands only tags and creates the kits for the software itself, not
documentation, this can be started in parallel with this activity.
</li>
<li>
The kits end up in <tt>$DOC_ROOT/packages</tt></li>
</ul>
<p>
To summarize, the following is a transcript of the steps up to this point
executing successfully:
<p><code>$ ssh ..<br>
No default printer<br>
screen<br>
cd $HOME<br>
rm -rf DOC_ROOT<br>
mkdir DOC_ROOT<br>
export DOC_ROOT=$PWD/DOC_ROOT<br>
export SIGNATURE="Johnny Willemsen"<br>
export MAILID=jwillemsen@remedy.nl<br>
mkdir -p $HOME/.subversion<br>
wget https://svn.dre.vanderbilt.edu/viewvc/Middleware/trunk/ACE/docs/svn/config?view=co -O $HOME/.subversion/config<br>
svn co --username johnnyw https://svn.dre.vanderbilt.edu/DOC/Middleware/trunk DOC_ROOT<br>
svn co --username johnnyw https://svn.dre.vanderbilt.edu/DOC/MPC/trunk DOC_ROOT/ACE/MPC<br>
cd DOC_ROOT/<br>
ACE/bin/make_release.py --beta --update --tag<br>
ACE/bin/make_release.py --kit<br>
</code>
<p>
Feel free to cut and paste with suitable edits.
<li>
The packages end up by default under $DOC_ROOT/package-<PID>, you can
copy them to the webserver using the following commands. (Note that <PID>
needs to be the numerical pid of the process that created the kit, use<br>
<code>ls -ald</code>
to determine the correct filename.) At the moment you execute these commands
all users can download these packages.</li>
<code>scp $DOC_ROOT/package-<PID>/ACE*
bczar@download.dre.vanderbilt.edu:/export/www/download.dre/ACE+TAO-distribution<br>
</code>
<li>
After the repository is tagged you can also start generating the doxygen
documentation in parallel with the kit generation above.<br>
<ul>
<li>
Login to a release system you prepared with the same packages as above:<br>
<code>screen</code></li>
<li>
After login check that you can,
<br>
<code>ssh bczar@download.dre.vanderbilt.edu</code><br>
to ensure that this succeeds. If not fix the problem, if ok exit again back to
your release system. </li>
<li>
<code>cd /tmp</code><br>
and remove the contents of the doxygen directory and recreate it again with</li><br>
<code>rm -rf doxygen</code><br>
<code>mkdir doxygen</code><br>
<code>cd doxygen</code><br>
If you create the doxygen documentation on <code>naboo.dre.vanderbilt.edu</code>
than make sure you use <code>/web/users/isisbuilds/tmp/ACE_wrappers</code>
as working directory
<li>
Update the workspace with the right version tag (replace the X_Y_Z with the ACE
version number being released e.g. 5_6_7)
<br>
<code>svn co
svn://svn.dre.vanderbilt.edu/DOC/Middleware/tags/ACE+TAO+CIAO-X_Y_Z/ACE
ACE_wrappers<br>
svn co svn://svn.dre.vanderbilt.edu/DOC/Middleware/tags/ACE+TAO+CIAO-X_Y_Z/TAO
ACE_wrappers/TAO<br>
svn co svn://svn.dre.vanderbilt.edu/DOC/Middleware/tags/ACE+TAO+CIAO-X_Y_Z/CIAO
ACE_wrappers/TAO/CIAO<br>
svn co svn://svn.dre.vanderbilt.edu/DOC/Middleware/tags/ACE+TAO+CIAO-X_Y_Z/DAnCE
ACE_wrappers/TAO/DAnCE</code>
</li>
<li>Change to the ACE_wrappers directory using <br>
cd ACE_wrappers</li>
<li>
Set the needed environment variables using<br>
<code>export ACE_ROOT=$PWD</code><br>
<code>export TAO_ROOT=$ACE_ROOT/TAO</code><br>
<code>export CIAO_ROOT=$TAO_ROOT/CIAO</code><br>
<code>export DANCE_ROOT=$TAO_ROOT/DAnCE</code><br>
<code>export DDS_ROOT=</code><br></li>
<li>
Check the doxygen version at the shell by executing the command:<br>
<code>doxygen --version</code>
This should be at least 1.6.2
</li>
<br>
Now you are ready to create documentation
</li>
<li>
<code>cd $ACE_ROOT</code><br>
<code>$ACE_ROOT/bin/generate_rel_manpages</code><br>
When this is ready copy the resulting files using<br>
<code>scp ACE-html.tar.gz ACE-html.tar.bz2 ACE-html.zip ACE-html.tar.gz.md5 ACE-html.tar.bz2.md5 ACE-html.zip.md5 bczar@download.dre.vanderbilt.edu:/export/www/download.dre/ACE+TAO-distribution</code>
</li></ul>
<code>
screen<br>
cd $HOME<br>
rm -rf doxygen<br>
mkdir doxygen<br>
cd doxygen<br>
mkdir -p $HOME/.subversion<br>
wget https://svn.dre.vanderbilt.edu/viewvc/Middleware/trunk/ACE/docs/svn/config?view=co -O $HOME/.subversion/config<br>
svn co svn://svn.dre.vanderbilt.edu/DOC/Middleware/tags/ACE+TAO+CIAO-6_2_8/ACE ACE_wrappers<br>
svn co svn://svn.dre.vanderbilt.edu/DOC/Middleware/tags/ACE+TAO+CIAO-6_2_8/TAO ACE_wrappers/TAO<br>
svn co svn://svn.dre.vanderbilt.edu/DOC/Middleware/tags/ACE+TAO+CIAO-6_2_8/CIAO ACE_wrappers/TAO/CIAO<br>
svn co svn://svn.dre.vanderbilt.edu/DOC/Middleware/tags/ACE+TAO+CIAO-6_2_8/DAnCE ACE_wrappers/TAO/DAnCE<br>
cd ACE_wrappers<br>
export ACE_ROOT=$PWD<br>
export TAO_ROOT=$ACE_ROOT/TAO<br>
export CIAO_ROOT=$TAO_ROOT/CIAO<br>
export DANCE_ROOT=$TAO_ROOT/DAnCE<br>
export DDS_ROOT=<br>
$ACE_ROOT/bin/generate_rel_manpages<br>
scp ACE-html.tar.gz ACE-html.tar.bz2 ACE-html.zip ACE-html.tar.gz.md5 ACE-html.tar.bz2.md5 ACE-html.zip.md5 bczar@download.dre.vanderbilt.edu:/export/www/download.dre/ACE+TAO-distribution
</code>
<br>
<li>
While doxygen churns, format a release announcement, including the release
notes gathered from developers.
<ul>
<li>Get from bugzilla the bugs fixed. Use the following
<a href="http://bugzilla.dre.vanderbilt.edu/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=ACE&product=CIAO&product=CoSMIC&product=MPC&product=OpenDDS&product=TAO&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&emailassigned_to1=1&emailtype1=substring&email1=&emailreporter2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=2010-07-04&chfieldto=Now&chfield=resolution&chfieldvalue=FIXED&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">query</a> as start query and update the start date.</li>
<li>
Let <a href="mailto:schmidt@cs.wustl.edu">Doug Schmidt</a> review these before
you do anything with them.</li></ul>
<li>
Make sure the new version is available in Bugzilla.</li>
<ul>
<li>
We now have a bczar Bugzilla user (bczar@dre.vanderbilt.edu) with full
privileges which points to the bczar user at ISIS. To gain access to this
account as a new build czar, you could update the ~/.forward file on one of the
ISIS hosts (for example bczar@naboo.dre.vanderbilt.edu) with your own email
address (but be aware that if you leave this ~/.forward file in effect, you
will get innundated with cron mail messages from all of the ISIS lab build
machines, so it is probably best to remove it after obtaining the Bugzilla
password). From the "Bugzilla - Main Page"
(http://bugzilla.dre.vanderbilt.edu/index.cgi) click on one of the various
"LogIn" links, and from this login page you should be able to "Submit Request"
to change a forgotten password. If you enter bczar@dre.vanderbilt.edu and click
"Submit Request" this will email you the password change link to
bczar@dre.vanderbilt.edu, which will then in turn be forwarded to your own
email account. Simply copy this link into your browser to set your own bczar
password for the next steps.</li>
<li>
here is the description of how to add a new version through Bugzilla.</li>
<li>
go to any Bugzilla "Query" page, you should see a grey box at the bottom. click
"Log in" link to log in as bczar@dre.vanderbilt.edu.</li>
<li>
look at the grey box at bottom again. You will see several links following
"Edit". Click on the "Product" link.</li>
<li>
you are then at "Select product" page. You should see a list components, i.e.,
ACE CIAO TAO. Click on the product you want to edit.</li>
<li>
you are then at "Edit product" page. Scroll down a bit, you should see a list
of all versions coming with this product. At the very beginning of the list,
you should see "Edit versions" link. Click this link.</li>
<li>
you should see a "Add a new version" text box and a "Add" link just above the
grey box at the bottom. Click on this link</li>
<li>
you are then at "Add version of [Name of the product]" page.</li>
<li>
you are able to add the new version now.</li>
</ul><br>
<li>
Back on <b>naboo.dre.vanderbilt.edu</b> once the doxygen generation has finished, update the documentation at www.dre.vanderbilt.edu/Doxygen.</li>
<ul>
<li>
<code>cd /web/www/Doxygen</code></li>
<li>
Create a temporary directory. eg. tmp and change Directory to this- <br><code>mkdir tmp</code><br><code>cd tmp</code></li>
<li>
scp file from the download server -<br><code>scp
bczar@download.dre.vanderbilt.edu:/export/www/download.dre/ACE+TAO-distribution/ACE-html.tar.bz2 .</code>
</li>
<li>
Unzip and untar the files - <br><code>bunzip2 ACE-html.tar.bz2;tar -xvf ACE-html.tar</code></li>
<li>back out of the temporary directory<br>
<code>cd ..</code></li>
<li>
Create directory 'Current Version No' for example 5.8.1 and change directory into this new one<br><code>mkdir 5.8.1<br>cd 5.8.1</code></li>
<li>
Move contents of the temporary directory's html to this directory -<br><code>mv ../tmp/html .</code></li>
<li>
Now back our of this directory and remove the already existing softlink to the "Micro" directory -<br><code>cd ..<br>rm Micro</code></li>
<li>
Create softlink "Micro" linking it to new Documentation using -<br><code>ln -s 5.8.1/html
Micro</code>. If this is a minor release also update the <code>Stable</code> link.</li>
<li>
Remove the directory tmp -<br><code>rm -rf tmp</code></lib>
</ul><br>
<li>
On <b>anduril.dre.vanderbilt.edu</b> where the kit was being generated and once <b>BOTH</b> the kit
and doxygen generation have finished their work, you should also move the packages to the
previous versions directory with the appropriate decorators.
<ul>
<li>
<code>cd /export/www/download.dre/ACE+TAO-distribution</code></li>
<li>
Check that the packages in this directory are all from today</li>
<li>
Modify <b><code>/export/anduriltmp/bczar/copy_script.sh</code></b>
to use the correct ACE version X.Y.Z and run it.
<li>
Update the copy_script.sh file for the new micro release</li>
</ul><br>
<li>
Validate the packages on the webserver whether they are really containing the new release. Make at least
one build where you run the TAO Hello world test and check if the libraries are having the
correct version number.</li>
<li>
Update in the autobuild archive the file configs/scoreboard/releases.xml with
the made release (version number and release date). This is used by the integrated scoreboard on http://scoreboard.theaceorb.nl Remember to do a changelog entry.</li>
<li>
Update the ACE_wrappers repo (remember to create a changelog entry, and possibly archive the old changelog to the changelog directory if this has become too long):<ul>
<li>docs/Download.html to show the new release. Make sure you refer to the
previous_versions directory, that way we can exactly track how many people
download a specific version.</li>
<li>
etc/index.hml to show the new doxygen package you installed</li>
<li>bin/diff-builds-and-group-fixed-tests-only.sh to give the correct default old_date for this release.</li></ul>
<li>
Update the NEWS, TAO/NEWS, TAO/DAnCE/NEWS, and TAO/CIAO/NEWS files to have a new section for the next release.</li>
<li>
Update OpenSuSE Build service using
<code>
osc checkout devel:libraries:ACE
osc add <new release>
cp rpmbuild/ace-tao.spec .
cp debian/control debian.control
cp debian/dsc ace.dsc
cp debian/changelog debian.changelog
cp debian/rules debian.rules
osc commit
</code>
</li>
<li>
Mail the approved release announcement out to, at minimum the following:
<tt>ciao-users@list.isis.vanderbilt.edu</tt>, <tt>ciao-announce@list.isis.vanderbilt.edu</tt>,
<tt>tao-users@list.isis.vanderbilt.edu</tt>, <tt>tao-announce@list.isis.vanderbilt.edu</tt>,
<tt>ace-users@list.isis.vanderbilt.edu</tt>, <tt>ace-announce@list.isis.vanderbilt.edu</tt>.
Do this as yourself (not as bugzilla). <b>N.B.</b>
You will not be able to post to the users' lists unless you are subscribed to
them. Odds are you will not be able to post to the announce lists at all. Ask
someone else (like Doug or Johnny) to do this step.<br>
</ol>
</p>
<hr>
<h2>
Tips to being a Build Czar</h2>
<p><ol>
<li>Trust no one.</li>
<li>Be careful with <a href="http://www.cs.wustl.edu/~schmidt">this guy</a>, he
is notorious in breaking builds (and fixing them as well...Rumour has it that
it's actually a super-scalar, super-pipelined processor capable of out-of-order
execution, in human incarnation).</li>
<li>Don't forgive people who break ACE :-)</li>
<li>If a build hasn't run in a long time (symptoms are a "red" in the Last Run
column of the build scoreboard), delete the .disable file in
/path/to/build/directory/BUILD_NAME/ by hand.</li>
<li>Think of the group who wrote the scoreboard update script, every time you
catch an otherwise not so obvious error with the help of the scoreboard. Tell <a href="mailto:devo-group@list.isis.vanderbilt.edu">
DEVO group</a> about it.</li>
<li>Send a note to <a href="mailto:sysadmin@isis.vanderbilt.edu">sysadmin@isis.vanderbilt.edu</a> asking for the repo to be frozen. Provide them a list of names, including yourself and bczar to be granted write permission.
</li>
<li>Compile once on Win32, Linux and Solaris before cutting a beta.</li>
<li>Trust the release script when making a release. Don't make tar balls by
hand.</li>
<li>When all hell breaks loose, don't wait for the nightly builds to monitor
improvement. Instead manually start the builds.</li>
<li>Maintain private up-to-date workspaces for problem platforms (read as
Solaris).</li>
<li>Don't hesitate to ask for help.</li>
<li>When you get an account to access the svn repo, make sure you are added to
the correct groups, for example,
gid=100(users),5000(doc),5002(acetaodev),5003(cvs). Otherwise you will have
problem to checkout various modules.</li>
<li>Install your public key to the different machines you have frequent access
to avoid typing password.</li>
<li>Update this page if you have any more tips for future build czars :-). This
page is in git under <code>ACE/docs/bczar/bczar.html</code></li>
</p></ol>
<hr>
<Center>
<h1>The Realm of the Build Czar</h1>
</Center>
<hr>
<h2>Build Czar Arthur</h2>
<p>Many years have passes since the days of the legendary Build Czar Arthur. His
duties were given to him by the mystical Lady of the Lake, who outlined the
first responsibilities of the Build Czar.</p>
<tt>
<br>
Then bespake the Lady of the Lake,<br>
And these were the words said shee:<br>
"I knoweth of thy deeds, thou noble Arthur,<br>
but thy task hath not finished for thee"<br>
<br>
"Thou shalt feitch thy trusty steed,<br>
And cleanse thy builds againe;<br>
Then shallt thy ryde hath finnished,<br>
When new kits released thee cann."<br>
<br>
Then bespake him noble Arthur<br>
And these were the words said he:<br>
"With what weapons shallt I use,<br>
To asure these from the devil free?"<br>
<br>
Then appeered before noble Arthur,<br>
Uppon the ground a sacred scroll<br>
Conjurred by the Lady of the Lake<br>
Borne of the earth in a roll.<br>
<br>
She saies, "Clasp this to thine selfe<br>
For thee shallt find need for it.<br>
It shall keep others in the cold,<br>
Only to be ressurected when thee sees fit."<br>
<br>
"Others shall join thy person,<br>
To ryde with thee in thy quest;<br>
Thee shallt be thankful of theire help,<br>
And to alsoe hold them steadfast."<br>
<br>
"But if theire talke too lodly rise,<br>
And causeth much damage to thine cuntry,<br>
He must come forth, and make proclamation,<br>
For the next one he shall be."<br>
<br>
So hath Arthur to the Lady spoke:<br>
"For I sweare, and save my othe,<br>
While enimes and evils I seeke,<br>
I shall fight against them bothe.<br>
<br>
</tt>
<hr>
</html>
</body>
|