diff --git a/src/tools/autobuild/build-oberon.sh b/src/tools/autobuild/build-oberon.sh new file mode 100644 index 00000000..90a37d1b --- /dev/null +++ b/src/tools/autobuild/build-oberon.sh @@ -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 \ No newline at end of file diff --git a/src/tools/make/buildall.pl b/src/tools/autobuild/buildall.pl old mode 100755 new mode 100644 similarity index 74% rename from src/tools/make/buildall.pl rename to src/tools/autobuild/buildall.pl index 42733f1d..f14b07ca --- a/src/tools/make/buildall.pl +++ b/src/tools/autobuild/buildall.pl @@ -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); } diff --git a/src/tools/make/postpush.pl b/src/tools/autobuild/postpush.pl old mode 100755 new mode 100644 similarity index 84% rename from src/tools/make/postpush.pl rename to src/tools/autobuild/postpush.pl index 5bfe0ffb..07397517 --- a/src/tools/make/postpush.pl +++ b/src/tools/autobuild/postpush.pl @@ -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 { diff --git a/src/tools/autobuild/update-webserver.sh b/src/tools/autobuild/update-webserver.sh new file mode 100644 index 00000000..e4fe79dc --- /dev/null +++ b/src/tools/autobuild/update-webserver.sh @@ -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" + diff --git a/src/tools/make/getbranch.sh b/src/tools/make/getbranch.sh deleted file mode 100644 index dc3b3ef4..00000000 --- a/src/tools/make/getbranch.sh +++ /dev/null @@ -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