Docstoc

Linux_Platform_Task_Documentation

Document Sample
Linux_Platform_Task_Documentation Powered By Docstoc
					Linux Platform Task Documentation
The Linux build machine is bombadil (currently sahp6649). It is Bob Kerr's personal
development machine.
There are four different tests that are run every night via a cron script.
1)Cubit release version, runs at 9:27 PM using the following command:
   “/home/rakerr/bin/cubit_scripts/run_cubit_test
   /home/rakerr/cubit/clarolin/claro9.1/cubit ALL 2>&1 /dev/null”
2)Cubit beta version, runs at 7:27 PM using the following command:
   “/home/rakerr/bin/cubit_scripts/run_cubit_test
   /home/rakerr/cubit/clarolin/betasource/cubitcomp/cubit/ ALL 2>&1 /dev/null”
3)Claro release version, runs at 10:27 PM using the following command:
   “/home/rakerr/bin/cubit_scripts/run_claro_test
   /home/rakerr/cubit/clarolin/claro9.1/cubit ALL 2>&1 /dev/null”
4)Claro beta version, runs at 8:27 PM using the following command:
   “home/rakerr/bin/cubit_scripts/run_claro_test
   /home/rakerr/cubit/clarolin/betasource/cubitcomp/cubit/ ALL 2>&1 /dev/null”
In all cases, the run_*_test script sets up needed environment variables, changes
directories to the one listed, and runs the cubit_test script. The run_claro_test script
specifies to use a different config file for the cubit_test, namely claro_test.config.
The 9.1 directories are set up so that the cubit directory is one directory below the claro
directory, with a soft link into the components/cubit directory, so that claro will find the
correct files.
The cubit_test.config and claro_test.config files for the release are kept in the
claro9.1/cubit directory.
The beta directories are set up as follows:
betasource/
 claro/
 cubitcomp/
  cubit/
betabuild/
 claro/
 cubitcomp/
  cubit/

The source is kept in the betasource directory structure. The build files are all kept in the
betabuild directory. The cubit_test.config and claro_test.config files are in the
betasource/cubitcomp/cubit directory.
The config files are what directs the whole build process, so the rest of this document will
refer to those files, unless otherwise stated.

The main things to notice are in the BUILD_COMMANDS and
POST_TEST_COMMANDS.
The cubit_test.config file for the 9.1 version looks like the following (see comments
interspersed for more information):
TEST_EXEC = /home/rakerr/cubit/clarolin/claro9.1/components/cubit/cubit/cubit
# I have one 9.1 test directory that all 9.1 builds point to
TEST_DIR = /home/rakerr/cubit/cubit_test_v9
# The results file is written to the results directory for the nightly reports.
RESULTS_FILE2 = /home/rakerr/results/results.Cubit.9.1.LINUX
CVS_DIRS = $TEST_DIR /home/rakerr/cubit/clarolin/claro9.1/cubit
BUILD_COMMANDS = ${MAKE} clean && ${MAKE} depend && ${MAKE}
MAIL_SUBJECT = "Cubit Linux 9.1 test results `date '+%a %b %e %I:%M %p'`"
MAIL_FAILURE = rakerr@sandia.gov
POST_TEST_COMMANDS = cp -f cubitx cubit_LINUX.9.1_exe && mv
/usr/local/cubit/cubit_LINUX.9.1_exe /var/scratch/rakerr/cubitx.9.1.`date '+%F'` && cp -
f cubitx /usr/local/cubit/cubit_LINUX.9.1_exe && cd /home/rakerr/bin/cubit_scripts/
&& make -f makefile.lin.9.1
## The POST_TEST_COMMANDS does some interesting things:
1)Renames the successful executable to have the canonical name for the distribution
   executable.
2)Moves the previous 9.1 executable to a backup directory. This is done for two reasons:
   1.Keep a backup
   2.The process of moving the executable alerts NFS to the change. Otherwise, we've
      seen problems with NFS caching the previous version, such that when someone
      runs it, it crashes on startup
3)Copies the new executable into the right LAN location.
4)Makes a makefile that updates the version which is put on our website for downloads.



The cubit_test.config file for the beta version looks like the following (see comments
interspersed for more information):
TEST_EXEC = /home/rakerr/cubit/clarolin/betabuild/cubitcomp/cubit/cubit
# I have one beta test directory that all beta builds point to
TEST_DIR = /home/rakerr/cubit/cubit_test
# The results file is written to the results directory for the nightly reports.
RESULTS_FILE2 = /home/rakerr/results/results.Cubit.beta.LINUX
CVS_DIRS = $TEST_DIR /home/rakerr/cubit/clarolin/betasource/cubitcomp/cubit
BUILD_COMMANDS = cd ../../../betabuild && cmake ../betasource && cd
cubitcomp/cubit && make depend && make -j 4 && cp -f cubitx
/usr/local/cubit/cubit_LINUX.alpha_exe && cd /home/rakerr/bin/cubit_scripts && make
-f makefile.lin.alpha
## First we change to the build directory. Then we run cmake to pick up any changes in
configuration. We make the executable now, then copy it to be the new alpha on the
LAN. Then we run the makefile that sets up the nightly download.
MAIL_SUBJECT = "Cubit Linux beta test results `date '+%a %b %e %I:%M %p'`"
MAIL_FAILURE = rakerr@sandia.gov
POST_TEST_COMMANDS = mv /usr/local/cubit/cubit_LINUX.beta_exe
/var/scratch/rakerr/cubitx.`date '+%F'` && cp -f ../../../betabuild/cubitcomp/cubit/cubitx
/usr/local/cubit/cubit_LINUX.beta_exe && cd /home/rakerr/bin/cubit_scripts && make -
f makefile.lin.beta
## The POST_TEST_COMMANDS does some interesting things:
1)Moves the previous beta executable to a backup directory. This is done for the same
  reasons as cited for the 9.1 version.
2)Copies the new executable into the right LAN location.
3)Makes a makefile that updates the beta version which is put on our website for
  downloads.


The claro_test.config file for the 9.1 version looks like the following (see comments
interspersed for more information):
TEST_EXEC = /home/rakerr/cubit/clarolin/claro9.1/claro
# I have one 9.1 test directory that all 9.1 builds point to
TEST_DIR = /home/rakerr/cubit/cubit_test_v9
# The results file is written to the results directory for the nightly reports.
RESULTS_FILE2 = /home/rakerr/results/results.Claro.9.1.LINUX
CVS_DIRS = $TEST_DIR /home/rakerr/cubit/clarolin/claro9.1 /home/rakerr/cubit/help-
version9
BUILD_COMMANDS = cd .. && python2.3 build.py -release && make depend &&
make && cd release && rm -rf claro && cd .. && python2.3 release.py -nolibs -noarch -
inchelp /home/rakerr/cubit/help-version9
##First we change to the right directory, then we run the python setup script. After the
make depend and make, cd to the release directory, which holds the releasable tree. Clear
out the old stuff, then run the release.py script, which builds the release directory tree.
MAIL_SUBJECT = "Claro Linux 9.1 test results `date '+%a %b %e %I:%M %p'`"
MAIL_FAILURE = rakerr@sandia.gov
POST_TEST_COMMANDS = cd .. && cd release && rsync -rtlv claro/*
/usr/local/cubit/claro.9.1/ && tar_release
## First change to the right directory, then rsync the tree to the LAN location, then run a
script that tars up the release for the website.
The claro_test.config file for the beta version looks like the following (see comments
interspersed for more information):
TEST_EXEC = /home/rakerr/cubit/clarolin/betabuild/claro/claro
TEST_DIR = /home/rakerr/cubit/cubit_test
# The results file is written to the results directory for the nightly reports.
RESULTS_FILE2 = /home/rakerr/results/results.Claro.beta.LINUX
CVS_DIRS = $TEST_DIR /home/rakerr/cubit/clarolin/betasource
/home/rakerr/cubit/help-beta
BUILD_COMMANDS = cd ../../../betabuild && cmake ../betasource && make depend
&& make && cd release && rm -rf claro && cd ../../betasource/claro && python2.3
pkgbuild.py -nolibs -noarch -inchelp ../../../help-beta/ -build ../../betabuild/claro -target
../../betabuild/release && cd ../../betabuild/release && rsync -rtlv claro/*
/usr/local/cubit/claro.alpha/ && tar_alpha
1)First we change to the right directory.
2)Next, we run cmake to catch any changes.
3)Make depend, then make.
4)Change to the release directory.
5)Delete the old copy that was in there.
6)Change to the source/claro directory, preparatory to running the pkgbuild.py script.
7)Run the pkgbuild.py script with the appropriate options to gather everything together.
8)Next we rsync that alpha tree to the LAN location.
9)Last we tar up the tree for release.
MAIL_SUBJECT = "Claro Linux beta test results `date '+%a %b %e %I:%M %p'`"
MAIL_FAILURE = rakerr@sandia.gov
POST_TEST_COMMANDS = cd ../../../betabuild/release && rsync -rtlv claro/*
/usr/local/cubit/claro.beta/ && tar_beta
## First change to the right directory, then rsync the tree to the LAN location, then run a
script that tars up the release for the website.

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:2/14/2012
language:
pages:4