summaryrefslogtreecommitdiff
path: root/ACE/docs/bczar
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/docs/bczar')
-rw-r--r--ACE/docs/bczar/bczar.html372
-rw-r--r--ACE/docs/bczar/privileges.html63
2 files changed, 0 insertions, 435 deletions
diff --git a/ACE/docs/bczar/bczar.html b/ACE/docs/bczar/bczar.html
deleted file mode 100644
index 7e076de8c83..00000000000
--- a/ACE/docs/bczar/bczar.html
+++ /dev/null
@@ -1,372 +0,0 @@
-<!-- $Id$ -->
-
-<html>
-<head>
-<title>The realm of the build czar</title>
-</head>
-
-<h2>Build Czar Duties</h2>
-<p>
-
- Th 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://www.dre.vanderbilt.edu/Stats">footprint and
- performance</a> stats. Any abnormal changes should be brought to
- the attention of the developer resposible 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://deuce.doc.wustl.edu/bugzilla/index.cgi">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/ACE_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>
-
-<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 8-9 hours, about 2 hours
-for making the release itself and the remaining time for generating
-the doxygen documentation.</li>
-<li>I suggest you take advantage of GNU Screen so that even if your SSH session
-is interrupted, the cutting process can continue.
-<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>Prior to starting this, gather aggregate release notes from all
-developers. This is usually in the form of an email plea asking for
-a writeup of significant changes since the last beta. Add these notes
-to the NEWS files before cutting the release so that all notes are
-part of the release.</li>
-<li>Checkout a new workspace on <tt>anduril.dre.vanderbilt.edu</tt></li>
-<ul>
-<li>
-The best place to create the workspace is under /export/anduriltmp/bczar. Don't use
-the home directory itself, it is an NFS share and not really fast.
-</li>
-<li>Checkout like this:
-<ul><li>svn co --username &lt;your user id&gt; https://svn.dre.vanderbilt.edu/DOC/Middleware/trunk DOC_ROOT</li>
- <li>svn co --username &lt;your user id&gt; https://svn.dre.vanderbilt.edu/DOC/MPC/trunk DOC_ROOT/ACE/MPC</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="Chris Cleeland"</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="cleeland@ociweb.com"</tt></li></ul>
-<li> Change directories to to <tt>$DOC_ROOT</tt> </li>
-<li> Tag the release by executing <code>ACE/bin/make_release.py --beta --update --tag</code> This will only
-take a couple minutes to complete.</li>
-<li> Create the kits by executing <code>ACE/bin/make_release.py --kit </code> This will take about two hours to complete.
-
-<ul><li>These commands only tags and creates the kits for the
- software itself, not documentation. </li>
-<li>The kits end up in <tt>/export/anduriltmp/bczar/packages</tt></li>
-</ul>
-<p>
-To summarize, the following is a transcript of the steps up to this point executing
-successfully: <p>
-<code>
-sm@beatrice ~<br>
-$ ssh bczar@anduril.dre.vanderbilt.edu<br>
-No default printer<br>
--bash-3.00$ cd /export/anduriltmp/bczar<br>
--bash-3.00$ export DOC_ROOT=$PWD/DOC_ROOT<br>
--bash-3.00$ export SIGNATURE="Simon McQueen"<br>
--bash-3.00$ export MAILID=sm@prismtech.com<br>
--bash-3.00$ svn co https://svn.dre.vanderbilt.edu/DOC/Middleware/trunk DOC_ROOT<br>
--bash-3.00$ svn co https://svn.dre.vanderbilt.edu/DOC/MPC/trunk DOC_ROOT/ACE/MPC<br>
--bash-3.00$ cd DOC_ROOT/<br>
--bash-3.00$ ACE/bin/make_release.py --beta --update --tag<br>
--bash-3.00$ ACE/bin/make_release.py --kit<br>
-</code>
-<p>
-Feel free to cut and paste with suitable edits.
-<li>In the <em>EXTREMELY</em> unlikely event that something goes wrong during the
-<em>tagging</em> of the repo (ie, make_release -v beta -u),
-the following files must be returned to the state they were in before the release
-process started and then checked back into SVN:<br><code>
-ACE/ChangeLog<br>
-ACE/PROBLEM-REPORT-FORM<br>
-ACE/VERSION<br>
-ACE/TAO/ChangeLog<br>
-ACE/TAO/PROBLEM-REPORT-FORM<br>
-TAO/VERSION<br>
-CIAO/ChangeLog<br>
-CIAO/PROBLEM-REPORT-FORM<br>
-CIAO/VERSION<br>
-CIAO/ciao/Version.h<br>
-TAO/tao/Version.h<br>
-ace/Version.h<br></code><p>
-In most cases, a <code>svn revert -R *</code> 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 and Y 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>
-
-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>The packages end up by default under $DOC_ROOT/packages-PID, you can copy them to the webserver using the following commands. At the moment
-you execute these commands all users can download these packages.</li>
-<code>
-cp $DOC_ROOT/packages-PID/ACE* /export/www/download.dre/ACE+TAO-distribution<br>
-</code>
-<li>After the repository is tagged you can start generating the doxygen
-documentation.</li>
-<li>Login to naboo.dre.vanderbilt.edu as bczar: <code>ssh bczar@naboo.dre.vanderbilt.edu</code></li>
-<ul><li>After login, ssh to bczar@download.dre.vanderbilt.edu as bczar and check whether ssh succeeds. If not fix the problem. The make script tries to copy the tar.gz files to the website using ssh.</li></ul>
-<li> go to /web/users/isisbuilds/tmp/ACE_wrappers and remove the contents of this directory</li>
-<li> Update the workspace with the right version tag </li>
-<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>
-</code>
-<li> Set the needed environment variables using</li>
-<code>
-export ACE_ROOT=/web/users/isisbuilds/tmp/ACE_wrappers/ACE_wrappers
-</code>
-<li> Run doxygen --version within the shell. </li>
-<li> Open up $ACE_ROOT/bin/generate_rel_manpages in your favorite editor.</li>
-<li> Search for the string 'doxy_version'. </li>
-<li> Check the version specified here. If it is the same as the one
-you got using doxygen --version then you don't have to worry. </li>
-<li> If it is different change the value of the doxy_version to the one installed on naboo.dre.vanderbilt.edu.</li>
-<li> Now you are ready to create documentation </li>
-<li> Do a <code>cd $ACE_ROOT</code> and then run <tt>make -f Release manpages</tt> to create the doxygen
-documentation.</li>
-<ul><li><b>If you can't leave the terminal window active for 6-9 hours,
- consider prefixing this command with <tt>nohup</tt></b></li></ul>
-<li>While doxygen churns, format a release announcement, including the
-release notes gathered from developers. <a href="sample_relnotes.txt">
-You can use these as an example.</a>
-<ul><li>Let <a href="mailto:schmidt@cs.wustl.edu">Doug Schmidt</a> review
-these before you do anything with them.</li></ul>
-<li>Check the file, generate_rel_manpages into the repository if you have made some changes to it.</li>
-<li>Make sure the new version is available in Bugzilla.</li>
-<ul>
-<li>now we have a bczar Bugzilla user with full privileges. This bczar Bugzilla account would point to bczar user at ISIS. For example, as a new build czar, you could update the .forward file on one of the ISIS hosts, say, naboo.dre.vanderbilt.edu with your build czar email.</li>
-<li>you should be able to send request through the bugzilla system to email you the password at any time to bczar@dre.vanderbilt.edu</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 yellow box at the bottom. click "Log in" link to log in as bczar@dre.vanderbilt.edu.</li>
-<li>look at the yellow box at bottom again. You will see several links following "Edit". Click on the "components" 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 yellow 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>
-<li>Now update the documentation at
- www.dre.vanderbilt.edu/Doxygen.</li>
-<ul>
-<li>Login to naboo.dre.vanderbilt.edu</li>
-<li>su to bczar user</li>
-<li>cd to directory /web/www/Doxygen</li>
-<li>Create a temporary directory. eg. tmp - mkdir tmp</li>
-<li>Change Directory to tmp - cd tmp</li>
-<li>scp file from the download server -
- scp bczar@download.dre.vanderbilt.edu:/export/www/download.dre/ACE+TAO-distribution/ACE-html.tar.bz2 .</li>
-<li>Unzip and untar the files - bunzip2 ACE-html.tar.bz2;tar -xvf ACE-html.tar</li>
-<li>Do cd ..</li>
-<li>Create directory 'Current Version No'</li>
-<li>Change directory to 'Current Version No'</li>
-<li>Move contents of tmp/html to this directory - mv ../tmp/html</li>
-<li>Now Change Directory - cd ..</li>
-<li>Remove the already existing soflink to the "Beta" with rm Beta</li>
-<li>Create softlink "Beta" linking it to new Documentation using: ln X.Y.Z/html Beta --symbolic</li>
-<li>Remove the directory tmp - rm -rf tmp</lib>
-</ul>
-<li>Update in the autobuild archive the file configs/scoreboard/releases.xml with
-the made release. This is used by the integrated scoreboard on http://remedy.nl</li>
-<li>You should also the packages to the previous versions directory with the appropriate decorators. Do
-this after the doxygen documentation packages are ready so that these are also archived.
-<ul>
-<li><code>cd /export/www/download.dre/ACE+TAO-distribution</code></li>
-<li>Modify <code>/export/anduriltmp/bczar/copy_script</code> to use the correct version X.Y.Z and run it.
-</ul>
-<li>Mail the approved release announcement out to, at minimum the following:
-<tt>ciao-users@cs.wustl.edu</tt>,
-<tt>tao-users@cs.wustl.edu</tt>,
-<tt>tao-announce@cs.wustl.edu</tt>,
-<tt>ace-users@cs.wustl.edu</tt>,
-<tt>ace-announce@cs.wustl.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) to do this step.
-<li>When all cidlc builds are ready with the new version, login to naboo.dre.vanderbilt.edu
-as bczar and run <code>./cut_cidlc.sh version-number</code> fe <code>./cut_cidlc.sh 0.6.0</code>. If this
-script is not in its place, then the original is in the bin directory of the distribution.</li>
-<li>Update 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>Update etc/index.hml to show the new doxygen package you installed</li>
-</ol>
-</p>
-
-
-<hr>
-
-<h2> Tips to being a Build Czar</h2>
-<p>
-1. Trust no one.<br>
-2. 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).<br>
-3. Don't forgive people who break ACE :-)<br>
-4. 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.<br>
-5. 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.<br>
-6. Add $CVSROOT/CVSROOT/etc/FROZEN to freeze the repo <br>
-7. Add names of people who need to be given permission and make sure
-that you add your name so that you can see what is being checked in. <br>
-8. Leave a line at the end of the FROZEN file <br>
-9. Compile once on Win32, Linux and Solaris before cutting a beta.<br>
-10. Trust the release script when making a release. Don't make tar
-balls by hand. Make sure that the public ftp directories
-(/project/beguine/ftp/pub/ACE+TAO-distribution and
-/project/beguine/ftp/pub/ACE+TAO-distribution/diffs) have the right
-permissions, so that the release script can copy the tar balls.<br>
-11. When making a release, make sure that all the auto_compiles on
-that machine (deuce.doc.wustl.edu) are stopped. Also make sure that
-there is enough space in /tmp on that machine.<br>
-12. When all hell breaks loose, don't wait for the nightly builds to
-monitor improvement. Instead manually start the builds.<br>
-13. Maintain private up-to-date workspaces for problem platforms (read
-as Solaris).<br>
-14. Don't hesitate to ask for help.<br>
-15. When you get an account to access the cvs 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.<br>
-16. Install your public key to the different machines you have frequent access to avoid typing password.<br>
-17. Update this page if you have any more tips for future build czars :-). This
-page is in svn under <code>ACE_wrappres/docs/bczar/bczar.html</code><br>
-</p>
-</body>
-
-<body>
-<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>
-&quot;I knoweth of thy deeds, thou noble Arthur,<br>
-but thy task hath not finished for thee&quot;<br>
-<br>
-&quot;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.&quot;<br>
-<br>
-Then bespake him noble Arthur<br>
-And these were the words said he:<br>
-&quot;With what weapons shallt I use,<br>
-To asure these from the devil free?&quot;<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, &quot;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.&quot;<br>
-<br>
-&quot;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.&quot;<br>
-<br>
-&quot;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.&quot;<br>
-<br>
-So hath Arthur to the Lady spoke:<br>
-&quot;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>
diff --git a/ACE/docs/bczar/privileges.html b/ACE/docs/bczar/privileges.html
deleted file mode 100644
index 299b88c299f..00000000000
--- a/ACE/docs/bczar/privileges.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!-- $Id$ -->
-
-<html>
-<head>
-<title> Build Czar powers </title>
-</head>
-<center><h1>Powers with the Build Czar</h1></center>
- <P>
- This document grants extensive privileges and powers to the Czar,
- but those privileges impose several responsabilities that must be fulfilled,
- failure to do so may result in some form of revolution
- (picture a firing squad).
- </P>
-
- <P>
- Previous generations of the honorable royal family have automated
- the build process as much as possible, but all machines require attention:
- the build Czar must keep a constant vigil, lest some runaway process
- stops working and a critical bug scapes into the wild.
- </P>
-
- <P>Typically a runaway build is detected because on its next
- execution an email indicating that the build is
- <CODE>DISABLED</CODE>
- is received.
- The same email is also sent when a build is abruptly terminated (for
- example because the machine running the build crashed).
- Most of the time,
- a test is not making progress and must be terminated,
- the build then runs to completion.
- If the machine crashed then it is necessary to go into the build
- directory and remove the
- <CODE>auto_compile/.disable</CODE>
- file, so the next execution can complete successfully.
- Occasionally the build fails because there is a CVS conflict,
- there is not enough disk space or some similar problem,
- in these cases the build Czar is encouraged to request adviced
- from previous generations in the royal family they will
- be happy to come back from retirement to provide advice and help
- if needed.
- </P>
- <P>The build Czar should also investigate the errors and warnings
- reported by a build,
- contact the person or persons responsible for the failed build and
- prompt them to fix the situation. If that process above fails the
- build Czar should request help from a volunteer or proceed to fix
- the problem himself/herself. If there is no available
- backup/volunteer and the build Czar is busy, he/she will be
- forced to excomunicate the original developer and report him or
- her to the highest court of the land for whatever punishment is
- deemed appropriate (lashing or bone breaking where not prohibited
- by law).
- </P>
- <P>It is extremely important to fix broken builds within the day,
- otherwise the errors tend to accumulate and once the process
- breaks down it is extremely hard to recover,
- in other words,
- the term as a build Czar can extend beyond your expectations if
- the builds are not clean again.
- </P>
-<hr>
-</html>
-