Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: tools/toolchain-try.sh

Issue 1219743003: Rename toolchain-git-try.sh to toolchain-try.sh (Closed) Base URL: https://chromium.googlesource.com/native_client/src/native_client.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/toolchain-git-try.sh ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/toolchain-try.sh
diff --git a/tools/toolchain-try.sh b/tools/toolchain-try.sh
index ea8f7fcdd002904a36d2d0da45e53f9899cb987e..e8f7ae12eae5f0e3a72afb7684653045ae44ee24 100755
--- a/tools/toolchain-try.sh
+++ b/tools/toolchain-try.sh
@@ -1,42 +1,81 @@
#!/bin/bash
# A script to send toolchain edits in tools/SRC (in git) to toolchain trybots.
-# Copyright (c) 2012 The Native Client Authors. All rights reserved.
+# Copyright (c) 2011 The Native Client Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
cd "$(dirname "$0")"
-source REVISIONS
-if [[ ! -e "../.svn/gcl_info/changes/toolchain-try" ]] ; then
- # Create randomly named CL that consumes all local SVN edits.
- random_name=""
- while ((${#random_name}<16)); do
- random_name="$random_name$(
- dd if=/dev/urandom bs=1 count=1 |
- LC_ALL=C grep '[A-Za-z]')"
- done
- SVN_EDITOR=true gcl change "$random_name"
-fi
+. REVISIONS
+
+repos='binutils gcc glibc linux-headers-for-nacl newlib'
+
+trybots_glibc_only="\
+nacl-toolchain-precise64-glibc\
+"
+trybots_glibc="\
+nacl-toolchain-precise64-glibc,\
+nacl-toolchain-mac-glibc,\
+nacl-toolchain-win7-glibc\
+"
+trybots_newlib="\
+nacl-toolchain-precise64-newlib,\
+nacl-toolchain-mac-newlib,\
+nacl-toolchain-win7-newlib\
+"
-# Lazily create a CL called 'toolchain-try' to contain patches to code in
-# tools/SRC.
-for i in binutils gcc glibc linux-headers-for-nacl newlib; do (
- revname="NACL_$(echo $i | tr '[:lower:]' '[:upper:]')_COMMIT"
- if [[ "$revname" = "NACL_LINUX-HEADERS-FOR-NACL_COMMIT" ]] ; then
- revname="LINUX_HEADERS_FOR_NACL_COMMIT"
+tmp='.git-status$$'
+trap 'rm -f $tmp' 0 1 2 15
+{ git status --porcelain -uno > "$tmp" &&
+ [ -r "$tmp" ] && [ ! -s "$tmp" ]
+} || {
+ echo >&2 "$0: Start with a clean working directory"
+ exit 1
+}
+
+test_all=
+test_glibc=
+test_newlib=
+tryname=try
+for repo in $repos; do
+ revname="NACL_$(echo "$repo" | tr '[:lower:]-' '[:upper:]_')_COMMIT"
+ patch="toolchain-try.${repo}.patch"
+ (cd "SRC/$repo"; git diff "${!revname}..HEAD") > $patch
+ if [ $? -ne 0 ]; then
+ echo >&2 "$0: error: update SRC/$repo first"
+ exit 2
+ fi
+ if [ -s "$patch" ]; then
+ git add "$patch"
+ tryname="${tryname}-${repo}-$(cd "SRC/$repo";
+ git rev-list -n1 --abbrev-commit HEAD)"
+ case "$repo" in
+ newlib) test_newlib=yes ;;
+ glibc) test_glibc=yes ;;
+ *) test_newlib=yes
+ test_glibc=yes
+ test_all=yes ;;
+ esac
+ else
+ rm -f "$patch"
fi
- cd "SRC/$i"
- git diff "${!revname}..HEAD" > ../../"toolchain-try.$i.patch" )
- svn add "toolchain-try.$i.patch"
done
-if [[ ! -e "../.svn/gcl_info/changes/toolchain-try" ]] ; then
- SVN_EDITOR=true gcl change toolchain-try
- rm "../.svn/gcl_info/changes/$random_name"
-fi
-BOTS=nacl-toolchain-precise64-glibc,nacl-toolchain-mac-glibc,\
-nacl-toolchain-win7-glibc
-if (( $# >= 1 )) ; then
- gcl try toolchain-try --bot $BOTS -n "$1"
+
+if [ -z "$test_all" -a -z "$test_newlib" -a -n "$test_glibc" ]; then
+ trybots="$trybots_glibc_only"
else
- gcl try toolchain-try --bot $BOTS
+ trybots="${test_newlib:+${trybots_newlib}}\
+${test_glibc:+${test_newlib:+,}${trybots_glibc}}"
+fi
+
+if ! git rev-parse origin/master >/dev/null; then
+ echo >&2 "$0: error: no origin/master branch"
+ exit 3
fi
+
+(set -x
+ git checkout -b "$tryname" origin/master
+ git commit -m "toolchain trybot run: $tryname"
+
+ git try -b "$trybots"
+)
« no previous file with comments | « tools/toolchain-git-try.sh ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698