summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2015-05-13 15:10:26 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2015-05-13 15:21:56 -0700
commit4db34bd9efc7c54088e8bcbdf8daae760cc5cdc0 (patch)
tree0237e659dc58928edb6a3ced407e07c2d04596d5
parentb334b7ee4ef83b28635f6409db1d6ec8630da91d (diff)
downloadqtlocation-mapboxgl-4db34bd9efc7c54088e8bcbdf8daae760cc5cdc0.tar.gz
Don't do things that set -e in Travis's shell
Sourcing files that set flags bleed into Travis' wrapper script, which messes with their workflow, e.g. preventing after_failure scripts from triggering. These changes fix that: * Move exported variables from install.sh to setup.sh, so install.sh doesn't have to be sourced. * Source setup.sh from run.sh, rather than directly from .travis.yml. In addition, as a good practice, remove `set -e` etc. from setup.sh, and add a comment not to add them back. It's the sourcing script's responsibility to set these flags.
-rw-r--r--.travis.yml5
-rwxr-xr-xscripts/ios/install.sh1
-rwxr-xr-xscripts/ios/run.sh5
-rw-r--r--scripts/ios/setup.sh5
-rwxr-xr-xscripts/linux/install.sh2
-rwxr-xr-xscripts/linux/run.sh2
-rwxr-xr-xscripts/linux/setup.sh5
-rwxr-xr-xscripts/osx/install.sh1
-rwxr-xr-xscripts/osx/run.sh2
-rwxr-xr-xscripts/osx/setup.sh5
-rwxr-xr-xscripts/travis_helper.sh4
11 files changed, 23 insertions, 14 deletions
diff --git a/.travis.yml b/.travis.yml
index 73ac6ec5a5..770d9325fe 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -86,10 +86,7 @@ before_install:
- source ./scripts/travis_helper.sh
install:
-- source ./scripts/${FLAVOR}/install.sh
-
-before_script:
-- if [ -f ./scripts/${FLAVOR}/setup.sh ]; then source ./scripts/${FLAVOR}/setup.sh; fi
+- ./scripts/${FLAVOR}/install.sh
script:
- ./scripts/${FLAVOR}/run.sh
diff --git a/scripts/ios/install.sh b/scripts/ios/install.sh
index 50f43c26b0..ffa714f36f 100755
--- a/scripts/ios/install.sh
+++ b/scripts/ios/install.sh
@@ -5,7 +5,6 @@ set -o pipefail
mapbox_time "checkout_mason" \
git submodule update --init .mason
-export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason"
mapbox_time "install_xcpretty" \
gem install xcpretty --no-rdoc --no-ri --no-document --quiet
diff --git a/scripts/ios/run.sh b/scripts/ios/run.sh
index e25f9a3025..dbf785081b 100755
--- a/scripts/ios/run.sh
+++ b/scripts/ios/run.sh
@@ -4,10 +4,9 @@ set -e
set -o pipefail
set -u
-BUILDTYPE=${BUILDTYPE:-Release}
+source ./scripts/ios/setup.sh
-# Add Mason to PATH
-export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason"
+BUILDTYPE=${BUILDTYPE:-Release}
PUBLISH_TAG=($(git show -s --format=%B | sed -n 's/.*\[publish \([a-z]\{1,\}\)-v\([0-9.]\{1,\}\)\].*/\1 \2/p'))
PUBLISH_PLATFORM=${PUBLISH_TAG[0],-}
diff --git a/scripts/ios/setup.sh b/scripts/ios/setup.sh
new file mode 100644
index 0000000000..d115cf9020
--- /dev/null
+++ b/scripts/ios/setup.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+# This script is sourced; do not set -e or -o pipefail here.
+
+# Ensure mason is on the PATH
+export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason"
diff --git a/scripts/linux/install.sh b/scripts/linux/install.sh
index 1504da2a1f..a254d312ec 100755
--- a/scripts/linux/install.sh
+++ b/scripts/linux/install.sh
@@ -5,7 +5,7 @@ set -o pipefail
mapbox_time "checkout_mason" \
git submodule update --init .mason
-export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason"
+PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason" \
mapbox_time "install_mesa" \
mason install mesa 10.4.3
diff --git a/scripts/linux/run.sh b/scripts/linux/run.sh
index 6a703fc7fb..daaa35b249 100755
--- a/scripts/linux/run.sh
+++ b/scripts/linux/run.sh
@@ -3,6 +3,8 @@
set -e
set -o pipefail
+source ./scripts/linux/setup.sh
+
BUILDTYPE=${BUILDTYPE:-Release}
################################################################################
diff --git a/scripts/linux/setup.sh b/scripts/linux/setup.sh
index 15b664862e..af0eafb5cf 100755
--- a/scripts/linux/setup.sh
+++ b/scripts/linux/setup.sh
@@ -1,7 +1,8 @@
#!/usr/bin/env bash
+# This script is sourced; do not set -e or -o pipefail here.
-set -e
-set -o pipefail
+# Ensure mason is on the PATH
+export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason"
# Set the core file limit to unlimited so a core file is generated upon crash
ulimit -c unlimited -S
diff --git a/scripts/osx/install.sh b/scripts/osx/install.sh
index a430b5495d..d6d9c065cf 100755
--- a/scripts/osx/install.sh
+++ b/scripts/osx/install.sh
@@ -5,7 +5,6 @@ set -o pipefail
mapbox_time "checkout_mason" \
git submodule update --init .mason
-export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason"
mapbox_time "install_xcpretty" \
gem install xcpretty --no-rdoc --no-ri --no-document --quiet
diff --git a/scripts/osx/run.sh b/scripts/osx/run.sh
index 4f086424ba..70d54c5ce9 100755
--- a/scripts/osx/run.sh
+++ b/scripts/osx/run.sh
@@ -3,6 +3,8 @@
set -e
set -o pipefail
+source ./scripts/osx/setup.sh
+
BUILDTYPE=${BUILDTYPE:-Release}
################################################################################
diff --git a/scripts/osx/setup.sh b/scripts/osx/setup.sh
index 881a5b40a0..502d61d44d 100755
--- a/scripts/osx/setup.sh
+++ b/scripts/osx/setup.sh
@@ -1,7 +1,8 @@
#!/usr/bin/env bash
+# This script is sourced; do not set -e or -o pipefail here.
-set -e
-set -o pipefail
+# Ensure mason is on the PATH
+export PATH="`pwd`/.mason:${PATH}" MASON_DIR="`pwd`/.mason"
# Set the core file limit to unlimited so a core file is generated upon crash
ulimit -c unlimited -S
diff --git a/scripts/travis_helper.sh b/scripts/travis_helper.sh
index 5e7dd46f4f..5a765b131d 100755
--- a/scripts/travis_helper.sh
+++ b/scripts/travis_helper.sh
@@ -1,5 +1,9 @@
#!/usr/bin/env bash
+# This script is sourced, so do not set -e or -o pipefail here. Doing so would
+# bleed into Travis' wrapper script, which messes with their workflow, e.g.
+# preventing after_failure scripts to be triggered.
+
case `uname -s` in
'Darwin') JOBS=$((`sysctl -n hw.ncpu` + 2)) ;;
'Linux') JOBS=$((`nproc` + 2)) ;;