New autobuild process

This commit is contained in:
David Brown 2016-12-07 16:29:01 +00:00
parent 2e436a2d9e
commit 442f377b7e
5 changed files with 50 additions and 30 deletions

View file

@ -0,0 +1,23 @@
# Build Oberon
#
# Args
#
# $1 - whether to use sudo
# $2 - build directory
# $3 - CC
if test "$1" = "sudo"; then sudo=sudo; else sudo=""; fi
echo Testing: \$1="$1", \$2="$2", \$3="$3", \$sudo="$sudo"
exit
set -x
cd $2
$sudo git reset --hard # Clear the staging area
$sudo git clean -dfx # Remove all untracked files
$sudo git pull # Update the local repository
$sudo git checkout -f $1 # Switch to requested branch
export CC=$3
$sudo make full

View file

@ -10,26 +10,20 @@ my $branch = "master";
if (defined($ARGV[0]) && ($ARGV[0] ne "")) {$branch = $ARGV[0]}
my %machines = (
"pi" => ['pi@pie', "sudo", "projects/oberon/vishap/voc", "make full"],
"darwin" => ['dave@dcb', "sudo", "projects/oberon/vishap/voc", "make full"],
"cygwin" => ['-p5932 dave@wax', "", "oberon/cygwin/voc", "export CC=gcc && make full;"
. "cd ~;"
. "sh start64.sh \\\"cd oberon/cygwin/voc &&"
. "src/tools/make/getbranch.sh $branch &&"
. "export CC=gcc && make full;\\\""],
"mingw" => ['-p5932 dave@wax', "", "oberon/mingw/voc", "export CC=i686-w64-mingw32-gcc && make full;"
. "cd ~;"
. "sh start64.sh \\\"cd oberon/mingw/voc &&"
. "src/tools/make/getbranch.sh $branch &&"
. "export CC=x86_64-w64-mingw32-gcc && make full;\\\""],
"android" => ['-p8022 root@and', "", "vishap/voc", "export CC=gcc && make full"],
"lub64" => ['dave@vim', "sudo", "oberon/voc", "make full"],
"lub32" => ['dave@vim-lub32', "sudo", "oberon/voc", "make full"],
"fed64" => ['dave@vim-fed64', "sudo", "oberon/voc", "make full"],
"osu64" => ['dave@vim-osu64', "sudo", "oberon/voc", "make full"],
"ob32" => ['root@nas-ob32', "", "vishap/voc", "make full"],
"ce64" => ['-p5922 obe@www', "sudo", "vishap/voc", "make full"],
"fb64" => ['root@oberon', "", "vishap/voc", "make full"]
"pi" => ['22', 'pi@pie', 'sh build-oberon.sh sudo projects/oberon/vishap/voc gcc'],
"darwin" => ['22', 'dave@dcb', 'sh build-oberon.sh sudo projects/oberon/vishap/voc clang'],
"cygwin32" => ['5932', 'dave@wax', 'sh build-oberon.sh n oberon/cygwin/voc gcc'],
"cygwin64" => ['5932', 'dave@wax', 'sh start64.sh \'sh build-oberon.sh n oberon/cygwin/voc gcc\''],
"mingw32" => ['5932', 'dave@wax', 'sh build-oberon.sh n oberon/mingw/voc i686-w64-mingw32-gcc'],
"mingw64" => ['5932', 'dave@wax', 'sh start64.sh \'sh build-oberon.sh n oberon/mingw/voc i686-w64-mingw32-gcc\''],
"android" => ['8022', 'root@and', 'sh build-oberon.sh n vishap/voc gcc'],
"lub64" => ['22', 'dave@vim', 'sh build-oberon.sh sudo oberon/voc gcc'],
"lub32" => ['22', 'dave@vim-lub32', 'sh build-oberon.sh sudo oberon/voc gcc'],
"fed64" => ['22', 'dave@vim-fed64', 'sh build-oberon.sh sudo oberon/voc gcc'],
"osu64" => ['22', 'dave@vim-osu64', 'sh build-oberon.sh sudo oberon/voc gcc'],
"ob32" => ['22', 'root@nas-ob32', 'sh build-oberon.sh n vishap/voc gcc'],
"ce64" => ['5922', 'obe@www', 'sh build-oberon.sh sudo vishap/voc gcc'],
"fb64" => ['22', 'root@oberon', 'sh build-oberon.sh n vishap/voc gcc']
);
@ -61,8 +55,9 @@ sub logged {
unlink glob "log/*";
for my $machine (sort keys %machines) {
my ($login, $sudo, $dir, $mkcmd) = @{$machines{$machine}};
my $cmd = "ssh $login \"cd $dir && git pull && git checkout -f && src/tools/make/getbranch.sh $branch && $sudo $mkcmd\" ";
my ($port, $login, $cmd) = @{$machines{$machine}};
my $cmd = "scp -P $port build-oberon.sh $login:build-oberon.sh &&"
. "ssh -p $port $login \"$cmd\"";
logged($cmd, $machine);
}

View file

@ -41,9 +41,7 @@ if ($buildneeded) {
writelog "Started buildall, pid = $child."; # parent process
} else {
close(STDIN); close(STDOUT); close(STDERR); # child process
system 'echo Syncing voc>postpush.log';
system '(cd voc; git reset --hard; git clean -dfx; git pull; git checkout -f ' . $branch . '; git pull; git checkout -f) >>postpush.log';
exec 'perl voc/src/tools/make/buildall.pl ' . $branch . ' >/tmp/buildall.log';
exec 'perl buildall.pl ' . $branch . ' >/tmp/buildall.log';
exit;
}
} else {

View file

@ -0,0 +1,9 @@
# Push buildall and postpush to postpush server
set -x
for f in postpush.pl buildall.pl; do
scp -P 5922 $f root@www:/var/lib/nethserver/ibay/githubhook/$f
ssh -p 5922 root@www "chmod +x /var/lib/nethserver/ibay/githubhook/$f"
done;
ssh -p 5922 root@www "ls -lap /var/lib/nethserver/ibay/githubhook"

View file

@ -1,5 +0,0 @@
set -x
git reset --hard # Clear the staging area
git clean -dfx # Remove all untracked files
git pull # Update the local repository
git checkout -f $1 # Switch to requested branch