automate tinderbox configuration b=371325 r=preed
This commit is contained in:
Родитель
a4b8772503
Коммит
55e52ce2d9
|
@ -0,0 +1,95 @@
|
|||
##
|
||||
# TinderConfig - creates config file for Tinderbox
|
||||
##
|
||||
|
||||
package Bootstrap::Step::TinderConfig;
|
||||
|
||||
use Bootstrap::Step;
|
||||
use Bootstrap::Config;
|
||||
use MozBuild::TinderLogParse;
|
||||
use MozBuild::Util qw(MkdirWithPath);
|
||||
|
||||
@ISA = ("Bootstrap::Step");
|
||||
|
||||
sub Execute {
|
||||
my $this = shift;
|
||||
|
||||
my $config = new Bootstrap::Config();
|
||||
my $configBumpDir = $config->Get(var => 'configBumpDir');
|
||||
my $productTag = $config->Get(var => 'productTag');
|
||||
my $version = $config->Get(var => 'version');
|
||||
my $mozillaCvsroot = $config->Get(var => 'mozillaCvsroot');
|
||||
my $product = $config->Get(var => 'product');
|
||||
my $logDir = $config->Get(var => 'logDir');
|
||||
my $branchTag = $config->Get(var => 'branchTag');
|
||||
my $osname = $config->SystemInfo(var => 'osname');
|
||||
|
||||
my $releaseTag = $productTag . '_RELEASE';
|
||||
|
||||
MkdirWithPath(dir => $configBumpDir)
|
||||
or die("Cannot mkdir $configBumpDir: $!");
|
||||
|
||||
foreach my $branch ($branchTag . '_release', $branchTag . '_l10n_release') {
|
||||
$this->Shell(
|
||||
cmd => 'cvs',
|
||||
cmdArgs => ['-d', $mozillaCvsroot,
|
||||
'co', '-d', 'tinderbox-configs',
|
||||
'-r', $branch,
|
||||
'mozilla/tools/tinderbox-configs/' .
|
||||
$product . '/' . $osname],
|
||||
logFile => catfile($logDir,
|
||||
'build_config-checkout-' . $branch . '.log'),
|
||||
dir => $configBumpDir,
|
||||
);
|
||||
|
||||
foreach my $configFile ('tinder-config.pl', 'mozconfig') {
|
||||
$config->Bump( configFile =>
|
||||
catfile($configBumpDir, 'tinderbox-configs', $configFile));
|
||||
$this->Shell(
|
||||
cmd => 'cvs',
|
||||
cmdArgs => ['-d', $mozillaCvsroot,
|
||||
'ci', '-m',
|
||||
'"Automated configuration bump, release for '
|
||||
. $product . ' ' . $version . '"',
|
||||
'tinderbox-configs/' . $configFile],
|
||||
logFile => catfile($logDir,
|
||||
'build_config-checkin-' . $configFile . '-' .
|
||||
$branch . '.log'),
|
||||
dir => catfile($configBumpDir),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub Verify {
|
||||
my $this = shift;
|
||||
|
||||
my $config = new Bootstrap::Config();
|
||||
my $branchTag = $config->Get(var => 'branchTag');
|
||||
my $logDir = $config->Get(var => 'logDir');
|
||||
|
||||
foreach my $branch ($branchTag . '_release', $branchTag . '_l10n_release') {
|
||||
$this->CheckLog(
|
||||
log => catfile($logDir,
|
||||
'build_config-checkout-' . $branch . '.log'),
|
||||
notAllowed => 'fail',
|
||||
);
|
||||
$this->CheckLog(
|
||||
log => catfile($logDir,
|
||||
'build_config-checkout-' . $branch . '.log'),
|
||||
notAllowed => 'aborted',
|
||||
);
|
||||
foreach my $configFile ('mozconfig', 'tinder-config.pl') {
|
||||
$this->CheckLog(
|
||||
log => catfile($logDir,
|
||||
'build_config-checkin-' . $configFile . '-' . $branch . '.log'),
|
||||
notAllowed => 'fail',
|
||||
);
|
||||
$this->CheckLog(
|
||||
log => catfile($logDir,
|
||||
'build_config-checkin-' . $configFile . '-' . $branch . '.log'),
|
||||
notAllowed => 'aborted',
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,6 +6,7 @@ test:
|
|||
|
||||
stage:
|
||||
# basic environment
|
||||
mkdir -p /builds/config
|
||||
mkdir -p /builds/tags
|
||||
mkdir -p /builds/updates/
|
||||
mkdir -p /builds/verify/
|
||||
|
@ -15,7 +16,7 @@ stage:
|
|||
mkdir -p /home/ftp/pub/firefox/releases/1.5/
|
||||
touch /home/ftp/pub/firefox/releases/1.5/KEY
|
||||
# staging environment
|
||||
mkdir -p /data/cltbld/firefox-1.5.0.11/batch1/stage
|
||||
mkdir -p /data/cltbld/firefox-2.0.0.4/batch1/stage
|
||||
|
||||
cvsmirror: cvsmirror_mofo cvsmirror_main
|
||||
|
||||
|
@ -24,11 +25,11 @@ cvsmirror_main:
|
|||
rsync -a --delete-after cvs-mirror.mozilla.org::l10n/ /builds/cvsmirror/l10n/
|
||||
chgrp -R cvs /builds/cvsmirror/cvsroot /builds/cvsmirror/l10n
|
||||
chmod -R g+rw /builds/cvsmirror/cvsroot /builds/cvsmirror/l10n
|
||||
cvs -d /builds/cvsmirror/cvsroot rtag -d FIREFOX_1_5_0_11_RELEASE mozilla
|
||||
cvs -d /builds/cvsmirror/cvsroot rtag -d FIREFOX_1_5_0_11_RC1 mozilla
|
||||
cvs -d /builds/cvsmirror/cvsroot rtag -d -B FIREFOX_1_5_0_11_MINIBRANCH mozilla
|
||||
cvs -d /builds/cvsmirror/l10n rtag -d FIREFOX_1_5_0_11_RELEASE l10n
|
||||
cvs -d /builds/cvsmirror/l10n rtag -d FIREFOX_1_5_0_11_RC1 l10n
|
||||
cvs -d /builds/cvsmirror/cvsroot rtag -d FIREFOX_2_0_0_4_RELEASE mozilla
|
||||
cvs -d /builds/cvsmirror/cvsroot rtag -d FIREFOX_2_0_0_4_RC1 mozilla
|
||||
cvs -d /builds/cvsmirror/cvsroot rtag -d -B FIREFOX_2_0_0_4_MINIBRANCH mozilla
|
||||
cvs -d /builds/cvsmirror/l10n rtag -d FIREFOX_2_0_0_4_RELEASE l10n
|
||||
cvs -d /builds/cvsmirror/l10n rtag -d FIREFOX_2_0_0_4_RC1 l10n
|
||||
|
||||
cvsmirror_mofo:
|
||||
mkdir -p /builds/cvsmirror/tmp/mofo
|
||||
|
@ -46,6 +47,7 @@ cvsmirror_mofo:
|
|||
chmod -R g+rw /builds/cvsmirror/mofo
|
||||
|
||||
clean_stage:
|
||||
rm -rf /builds/config/*
|
||||
rm -rf /builds/tags/*
|
||||
rm -rf /builds/release/logs/*
|
||||
rm -rf /builds/updates/*
|
||||
|
|
|
@ -1,40 +1,55 @@
|
|||
productTag = FIREFOX_1_5_0_11
|
||||
branchTag = MOZILLA_1_8_0_BRANCH
|
||||
pullDate = 2007-03-10 00:00 PST
|
||||
l10n_pullDate = 2007-03-10 00:00 PST
|
||||
version = 1.5.0.11
|
||||
version = 2.0.0.4
|
||||
milestone = 1.8.1.4
|
||||
# _RCn and _RELEASE will be appended as-needed
|
||||
productTag = FIREFOX_2_0_0_4
|
||||
# Branch name and pull dates to use for base tag
|
||||
branchTag = MOZILLA_1_8_BRANCH
|
||||
pullDate = 2007-04-17 00:00:00 PDT
|
||||
l10n_pullDate = 2007-04-17 00:00:00 PDT
|
||||
rc = 1
|
||||
oldVersion = 1.5.0.10
|
||||
# oldVersion and oldRc refer to the previous release
|
||||
oldVersion = 2.0.0.3
|
||||
oldRc = 1
|
||||
milestone = 1.8.0.11
|
||||
appName = browser
|
||||
product = firefox
|
||||
linux_buildDir = /builds/tinderbox/Fx-Mozilla1.8.0-Release
|
||||
mac_buildDir = /builds/tinderbox/Fx-Mozilla1.8.0-Release
|
||||
win32_buildDir = /cygdrive/c/builds/tinderbox/Fx-Mozilla1.8.0-Release
|
||||
linux_l10n_buildDir = /builds/tinderbox/Fx-Mozilla1.8.0-l10n-Release
|
||||
mac_l10n_buildDir = /builds/tinderbox/Fx-Mozilla1.8.0-l10n-Release
|
||||
win32_l10n_buildDir = /cygdrive/c/builds/tinderbox/Fx-Mozilla1.8.0-l10n-Release
|
||||
logDir = /home/rhelmer/src/full/build/logs
|
||||
# Absolute path to tinderbox build directory
|
||||
linux_buildDir = /builds/tinderbox/Fx-Mozilla1.8-Release
|
||||
mac_buildDir = /builds/tinderbox/Fx-Mozilla1.8-Release
|
||||
win32_buildDir = /cygdrive/c/builds/tinderbox/Fx-Mozilla1.8-Release
|
||||
linux_l10n_buildDir = /builds/tinderbox/Fx-Mozilla1.8-l10n-Release
|
||||
mac_l10n_buildDir = /builds/tinderbox/Fx-Mozilla1.8-l10n-Release
|
||||
win32_l10n_buildDir = /cygdrive/c/builds/tinderbox/Fx-Mozilla1.8-l10n-Release
|
||||
# Absolute path to store bootstrap's logs
|
||||
logDir = /home/buildslave/console1/AutomationTest/build/logs
|
||||
mozillaCvsroot = /builds/cvsmirror/cvsroot
|
||||
l10nCvsroot = /builds/cvsmirror/l10n
|
||||
mofoCvsroot = /builds/cvsmirror/mofo
|
||||
# private staging area
|
||||
stageHome = /data/cltbld
|
||||
updateDir = /builds/updates
|
||||
verifyDir = /builds/verify
|
||||
patcherConfig = moz180-branch-patcher2.cfg
|
||||
tagDir = /builds/tags
|
||||
linux_buildPlatform = Linux_2.4.21-37.EL_Depend
|
||||
configBumpDir = /builds/config
|
||||
# Build platform, as specified by tinderbox
|
||||
linux_buildPlatform = Linux_2.6.9-42.ELsmp_Depend
|
||||
macosx_buildPlatform = Darwin_8.7.0_Depend
|
||||
win32_buildPlatform = WINNT_5.2_Depend
|
||||
linux_l10n_buildPlatform = Linux_2.4.21-37.EL_Depend
|
||||
linux_l10n_buildPlatform = Linux_2.6.9-42.ELsmp_Depend
|
||||
macosx_l10n_buildPlatform = Darwin_8.7.0_Depend
|
||||
win32_l10n_buildPlatform = WINNT_5.2_Depend
|
||||
from = bootstrap@example.com
|
||||
to = engineer@example.com
|
||||
cc = qa@example.com, build@example.com
|
||||
patcherConfig = moz180-branch-patcher2.cfg
|
||||
to = test@example.com
|
||||
cc = other@example.com
|
||||
patcherConfig = moz18-branch-patcher2.cfg
|
||||
# Tag to use for building MAR/MBSDIFF and other update tools
|
||||
patcherToolsRev = MOZILLA_1_9a2_RELEASE
|
||||
verifyConfig = moz180-firefox-linux.cfg
|
||||
verifyConfig = moz18-firefox-linux.cfg
|
||||
blat = /cygdrive/d/moztools/bin/blat.exe
|
||||
sendmail = /usr/lib/sendmail
|
||||
# dump Log output to stdout
|
||||
dumpLogs = 1
|
||||
# username and server to push builds
|
||||
sshUser = buildslave
|
||||
sshServer = localhost
|
||||
# Tinderbox server tree that clients should report to
|
||||
buildTree = MozillaTest
|
||||
|
|
|
@ -4,6 +4,7 @@ use strict;
|
|||
use Getopt::Long;
|
||||
use MozBuild::Util qw(Email);
|
||||
use Bootstrap::Step::Tag;
|
||||
use Bootstrap::Step::TinderConfig;
|
||||
use Bootstrap::Step::Build;
|
||||
use Bootstrap::Step::Source;
|
||||
use Bootstrap::Step::Repack;
|
||||
|
@ -13,6 +14,7 @@ use Bootstrap::Step::Sign;
|
|||
|
||||
my @allSteps = (
|
||||
'Tag',
|
||||
'TinderConfig',
|
||||
'Build',
|
||||
'Source',
|
||||
'Repack',
|
||||
|
@ -148,7 +150,7 @@ sub PerformStep {
|
|||
to => $to,
|
||||
cc => \@ccList,
|
||||
subject => "$hostname - Step $stepName died: $error",
|
||||
message => "$hostname - Step $stepName died: $error\nSee the release.log for more information.",
|
||||
message => "$hostname - Step $stepName died: $error",
|
||||
);
|
||||
exit(1);
|
||||
};
|
||||
|
|
Загрузка…
Ссылка в новой задаче