1
1

Save the scripts that we run on eddie to make the nightly tarballs, etc.

This commit was SVN r23769.
Этот коммит содержится в:
Jeff Squyres 2010-09-18 09:13:38 +00:00
родитель 8cb780d1af
Коммит 55c482ff72
11 изменённых файлов: 462 добавлений и 0 удалений

6
contrib/nightly/crontab.txt Обычный файл
Просмотреть файл

@ -0,0 +1,6 @@
0 21 * * * $HOME/scripts/openmpi-nightly-tarball.sh </dev/null >/dev/null 2>&1
1 21 * * * $HOME/scripts/hwloc-nightly-tarball.sh </dev/null >/dev/null 2>&1
#30 20 * * * $HOME/scripts/openmpi-nightly-tmpbranch-tarball.sh </dev/null >/dev/null 2>&1
0 4 * * * $HOME/scripts/lammpi-nightly-tarball.sh </dev/null >/dev/null 2>&1
#0 0 * * * $HOME/scripts/openmpi-ft-cr-tarball.sh </dev/null >/dev/null 2>&1
30 * * * * $HOME/scripts/openmpi-update-www.open-mpi.org.sh < /dev/null > $HOME/tmp/svn-up-ompi.log 2>&1

77
contrib/nightly/openmpi-ft-cr-tarball.sh Исполняемый файл
Просмотреть файл

@ -0,0 +1,77 @@
#!/bin/sh
#####
#
# Configuration options
#
#####
# e-mail address to send results to
results_addr=jjhursey@open-mpi.org
# svn repository uri
code_uri=http://svn.open-mpi.org/svn/ompi
# where to put built tarballs
#outputroot=/l/osl/www/www.open-mpi.org/nightly
outputroot=/home/mpiteam/openmpi/testing
# where to find the build script
script_uri=${code_uri}/trunk/contrib/nightly/create_tarball.sh
# The tarballs to make
#if [ $# -eq 0 ] ; then
dirs="tmp/jjhursey-ft-cr-stable"
ver=trunk
#else
# dirs=$@
# ver=trunk
#fi
# Build root - scratch space
build_root=/home/mpiteam/openmpi/testing-tarball-build-root
export PATH=$HOME/local/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
#####
#
# Actually do stuff
#
#####
# load the modules configuration
#JJH File No longer exists: . /etc/profile.d/00-modules.sh
. /etc/profile.d/modules.sh
module use ~/modules
module load sowing
# get our nightly build script
mkdir -p $build_root
cd $build_root
script=`basename $script_uri`
wget --quiet --no-check-certificate --tries=10 $script_uri -O $script
if test ! $? -eq 0 ; then
echo "wget of Open MPI nightly tarball create script failed."
if test -f $script ; then
echo "Using older version of $script for this run."
else
echo "No build script available. Aborting."
exit 1
fi
fi
chmod +x $script
# Loop making them
for dir in $dirs; do
# ver=`basename $dir`
module load "autotools/ompi-$ver"
./$script \
$build_root/ft-cr-${ver} \
$results_addr \
$code_uri/$dir \
$outputroot/ft-cr-$ver >/dev/null 2>&1
module unload "autotools"
done

85
contrib/nightly/openmpi-nightly-tarball.sh Исполняемый файл
Просмотреть файл

@ -0,0 +1,85 @@
#!/bin/sh
#####
#
# Configuration options
#
#####
# e-mail address to send results to
results_addr=testing@open-mpi.org
# svn repository uri
code_uri=http://svn.open-mpi.org/svn/ompi
# where to put built tarballs
outputroot=/l/osl/www/www.open-mpi.org/nightly
# where to find the build script
create_script=/contrib/nightly/create_tarball.sh
# helper scripts dir
script_dir=/u/mpiteam/scripts
# The tarballs to make
if [ $# -eq 0 ] ; then
# We're no longer ever checking the 1.0 - 1.3 branches anymore
dirs="/branches/v1.4 /trunk /branches/v1.5"
else
dirs=$@
fi
# Build root - scratch space
build_root=/home/mpiteam/openmpi/nightly-tarball-build-root
export PATH=$HOME/local/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
#####
#
# Actually do stuff
#
#####
script=`basename $create_script`
# load the modules configuration
. /etc/profile.d/modules.sh
module use ~/modules
# get our nightly build script
mkdir -p $build_root
cd $build_root
# Loop making the tarballs
module unload autotools
for dir in $dirs; do
ver=`basename $dir`
module load "autotools/ompi-$ver"
script_uri="$code_uri$dir/$create_script"
script_exec="$build_root/$ver/$script"
echo "=== Getting script from: $script_uri"
wget --quiet --no-check-certificate --tries=10 $script_uri -O "$script_exec"
if test ! $? -eq 0 ; then
echo "wget of Open MPI nightly $ver tarball create script failed."
exit 1
fi
echo "=== Running script..."
chmod +x "$script_exec"
"$script_exec" \
$build_root/$ver \
$results_addr \
$code_uri/$dir \
$outputroot/$ver
module unload autotools
echo "=== Done running script"
# Failed builds are not removed. But if a human forgets to come
# in here and clean up the old failed builds, we can accumulate
# many over time. So remove any old failed bbuilds that are over
# 4 weeks old.
${script_dir}/remove-old.pl 28 $build_root/$ver
done

33
contrib/nightly/openmpi-nightly-test-build.sh Исполняемый файл
Просмотреть файл

@ -0,0 +1,33 @@
:
buildroot=/home/jsquyres/openmpi
installfile="$buildroot/nightly/`hostname`-installs.txt"
addr=jsquyres@open-mpi.org
#addr=testing@open-mpi.org
export PATH=$buildroot/local/bin:$PATH
versions="trunk v1.0"
for ver in $versions; do
$buildroot/build_tarball.pl \
--scratch $buildroot/nightly/$ver \
--email $addr \
--url http://www.open-mpi.org/nightly/$ver/ \
--config $buildroot/$ver-config.txt \
--leave-install $installfile \
--make "" \
--nocheck
# if test -s $installfile; then
# dirs=`grep debug $installfile`
# args=
# for d in $dirs; do
# args="--prefix $d $args"
# done
#
# $buildroot/illegal_symbols_report.pl $args --email $addr --delete
# rm -f $installfile
# fi
done
exit 0

77
contrib/nightly/openmpi-nightly-tmpbranch-tarball.sh Исполняемый файл
Просмотреть файл

@ -0,0 +1,77 @@
#!/bin/sh
#####
#
# Configuration options
#
#####
# e-mail address to send results to
results_addr=testing@open-mpi.org
#results_addr=timattox@open-mpi.org
# svn repository uri
code_uri=http://svn.open-mpi.org/svn/ompi
# where to put built tarballs
outputroot=/l/osl/www/www.open-mpi.org/nightly
# where to find the build script
script_uri=${code_uri}/trunk/contrib/nightly/create_tarball.sh
# The tarballs to make
#if [ $# -eq 0 ] ; then
dirs="tmp/rhc-step2b"
ver=trunk
#else
# dirs=$@
# ver=trunk
#fi
# Build root - scratch space
build_root=/home/mpiteam/openmpi/nightly-tarball-build-root
export PATH=$HOME/local/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
#####
#
# Actually do stuff
#
#####
# load the modules configuration
#JJH File No longer exists: . /etc/profile.d/00-modules.sh
. /etc/profile.d/modules.sh
module use ~/modules
module load sowing
# get our nightly build script
mkdir -p $build_root
cd $build_root
script=`basename $script_uri`
wget --quiet --no-check-certificate --tries=10 $script_uri -O $script
if test ! $? -eq 0 ; then
echo "wget of Open MPI nightly tarball create script failed."
if test -f $script ; then
echo "Using older version of $script for this run."
else
echo "No build script available. Aborting."
exit 1
fi
fi
chmod +x $script
# Loop making them
for dir in $dirs; do
# ver=`basename $dir`
module load "autotools/ompi-$ver"
./$script \
$build_root/rhc-step2b \
$results_addr \
$code_uri/$dir \
$outputroot/rhc-step2b >/dev/null 2>&1
module unload "autotools"
done

46
contrib/nightly/openmpi-release.sh Исполняемый файл
Просмотреть файл

@ -0,0 +1,46 @@
#!/bin/sh -x
# The tarballs to make
#dirs="/branches/v1.2 /branches/v1.1 /branches/v1.0 /trunk"
# The tarballs to make
if [ $# -eq 0 ] ; then
dirs="branches/v1.5"
else
dirs=$@
fi
# Build root - scratch space
build_root=/home/mpiteam/openmpi/release/
# Script to execute
script=contrib/dist/make_dist_tarball
export PATH=$HOME/local/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
#####
#
# Actually do stuff
#
#####
# load the modules configuration
#JJH File No longer exists: . /etc/profile.d/00-modules.sh
. /etc/profile.d/modules.sh
module use ~/modules
module load sowing
# move to the directory
# Loop making them
for dir in $dirs; do
ver=`basename $dir`
cd $build_root/$ver
module load "autotools/ompi-$ver"
./$script $@ >dist.out 2>&1
module unload "autotools"
done

75
contrib/nightly/openmpi-test-tarball.sh Исполняемый файл
Просмотреть файл

@ -0,0 +1,75 @@
#!/bin/sh
#####
#
# Configuration options
#
#####
# e-mail address to send results to
results_addr=timattox@open-mpi.org
# svn repository uri
code_uri=http://svn.open-mpi.org/svn/ompi
# where to put built tarballs
#outputroot=/l/osl/www/www.open-mpi.org/nightly
outputroot=/home/mpiteam/openmpi/testing
# where to find the build script
script_uri=${code_uri}/trunk/contrib/nightly/create_tarball.sh
# The tarballs to make
if [ $# -eq 0 ] ; then
dirs="branches/v1.3"
else
dirs=$@
fi
# Build root - scratch space
build_root=/home/mpiteam/openmpi/testing-tarball-build-root
export PATH=$HOME/local/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
#####
#
# Actually do stuff
#
#####
# load the modules configuration
#JJH File No longer exists: . /etc/profile.d/00-modules.sh
. /etc/profile.d/modules.sh
module use ~/modules
module load sowing
# get our nightly build script
mkdir -p $build_root
cd $build_root
script=`basename $script_uri`
wget --quiet --no-check-certificate --tries=10 $script_uri -O $script
if test ! $? -eq 0 ; then
echo "wget of Open MPI nightly tarball create script failed."
if test -f $script ; then
echo "Using older version of $script for this run."
else
echo "No build script available. Aborting."
exit 1
fi
fi
chmod +x $script
# Loop making them
for dir in $dirs; do
ver=`basename $dir`
module load "autotools/ompi-$ver"
./$script \
$build_root/$ver \
$results_addr \
$code_uri/$dir \
$outputroot/$ver >/dev/null 2>&1
module unload "autotools"
done

11
contrib/nightly/openmpi-update-www.open-mpi.org.sh Исполняемый файл
Просмотреть файл

@ -0,0 +1,11 @@
#!/bin/sh
cd /l/osl/www/www.open-mpi.org
# Absolutely ensure that we have a umask of 2 so that others can
# run "svn up" in this tree, too
umask 2
svn up
date >> /tmp/bogus-mpiteam

52
contrib/nightly/remove-old.pl Исполняемый файл
Просмотреть файл

@ -0,0 +1,52 @@
#!/usr/bin/env perl
use strict;
use POSIX qw(strftime);
my $happy = 1;
my $savedays = $ARGV[0];
my $dir = $ARGV[1];
$happy = 0
if ($savedays <= 0 || ! -d $dir);
die "Must specify number of days and a directory"
if (!$happy);
#------------------------------------------------------------------
# Read in all the dir entries
opendir(DIR, $dir) || die "Cannot open $dir";
my @files = readdir(DIR);
closedir(DIR);
# How many days to keep?
my $t = time() - ($savedays * 60 * 60 * 24);
print "Deleting anything before: " . strftime("%D", localtime($t)) . "\n";
my $to_delete;
# Check everything in the dir; if is a dir, is not . or .., and is
# older than the save date, keep it for deleting later.
foreach my $file (@files) {
if (-d "$dir/$file" && $file ne "." && $file ne "..") {
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks) = stat("$dir/$file");
my $str = "SAVE";
if ($mtime < $t) {
$to_delete = "$to_delete $dir/$file";
$str = "DELETE";
}
print "Found dir ($str): $file (mtime: " . strftime("%D", localtime($mtime)) . ")\n";
}
}
# If we found anything to delete, do so.
if ($to_delete ne "") {
print "Deleting: $to_delete\n";
system("chmod -R u=rwx $to_delete");
system("rm -rf $to_delete");
} else {
print "Nothing to delete!\n";
}
exit(0);