blob: 16730b576915c8d0e87e5b9b949e17e66b5a2ecb (
plain) (
blame)
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
|
use strict;
sub DoBuild
{
my @output;
my $buildtype = shift;
if( $buildtype eq "release" )
{
open BUILD, "dev_build_all.bat|";
}
elsif( $buildtype eq "debug" )
{
open BUILD, "dev_build_all.bat debug|";
}
else
{
die;
}
my $buildfailed = 0;
while( <BUILD> )
{
if( /Build Errors\!/ )
{
$buildfailed = 1;
}
print;
push @output, $_;
}
close build;
if( $buildfailed )
{
open CHANGES, "p4 changes -m 10 -s submitted //ValveGames/main/src/...|";
my @changes = <CHANGES>;
close CHANGES;
open EMAIL, ">email.txt";
print EMAIL "LAST 10 SUBMITS TO MAIN:\n";
print EMAIL @changes;
print EMAIL "\n";
my $line;
foreach $line ( @output )
{
if( $line =~ m/error/i )
{
print EMAIL $line;
}
}
print EMAIL "--------------------------------------------\n\n\n\n";
print EMAIL @output;
close EMAIL;
system "devtools\\bin\\smtpmail.exe -to srcdev\@valvesoftware.com -from srcdev\@valvesoftware.com -subject \"FIX THE BUILD\! ($buildtype)\" -verbose email.txt";
# system "devtools\\bin\\smtpmail.exe -to gary\@valvesoftware.com -from srcdev\@valvesoftware.com -subject \"FIX THE BUILD\! ($buildtype)\" -verbose email.txt";
}
}
while( 1 )
{
$ENV{"USE_INCREDIBUILD"} = "1";
system "p4 sync > sync.txt 2>&1";
my $hasChange = 1;
my $line;
open SYNC, "<sync.txt";
while( <SYNC> )
{
if( m/File\(s\) up-to-date/ )
{
$hasChange = 0;
}
print;
}
close SYNC;
if( $hasChange )
{
print "changes checked in\n";
&DoBuild( "release" );
&DoBuild( "debug" );
}
else
{
print "no changes checked in\n";
sleep 30;
}
}
|