aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorTed Mielczarek <ted@mielczarek.org>2016-04-12 14:55:52 -0400
committerTed Mielczarek <ted@mielczarek.org>2016-04-12 14:55:52 -0400
commit0203b0cbddeffff2f408338f10a5f775c0d2f5a7 (patch)
treee1bf9cd35dbe398a6a5d926f4baf9580731103a2 /scripts
parentFix a dependency issue in automake (diff)
downloadbreakpad-0203b0cbddeffff2f408338f10a5f775c0d2f5a7.tar.xz
Add travis CI config
This will let us setup travis-ci on the Breakpad GitHub mirror. R=vapier@chromium.org, mark@chromium.org BUG= Review URL: https://codereview.chromium.org/1873133003 .
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/travis-build.sh32
-rwxr-xr-xscripts/travis-checkout.sh24
2 files changed, 56 insertions, 0 deletions
diff --git a/scripts/travis-build.sh b/scripts/travis-build.sh
new file mode 100755
index 00000000..d41f7ed0
--- /dev/null
+++ b/scripts/travis-build.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+set -ex
+
+setup_env() {
+ # Travis sets CC/CXX to the system toolchain, so our .travis.yml
+ # exports USE_{CC,CXX} for this script to use.
+ if [ -n "$USE_CC" ]; then
+ export CC=$USE_CC
+ fi
+ if [ -n "$USE_CXX" ]; then
+ export CXX=$USE_CXX
+ fi
+ # Use -jN for faster builds. Travis build machines under Docker
+ # have a lot of cores, but are memory-limited, so the kernel
+ # will OOM if we try to use them all, so use at most 4.
+ # See https://github.com/travis-ci/travis-ci/issues/1972
+ export NCPUS=$(getconf _NPROCESSORS_ONLN)
+ export JOBS=$(( $NCPUS < 4 ? $NCPUS : 4 ))
+}
+
+build() {
+ ./configure
+ make -j${JOBS} check
+}
+
+main() {
+ setup_env
+ build
+}
+
+main "$@"
diff --git a/scripts/travis-checkout.sh b/scripts/travis-checkout.sh
new file mode 100755
index 00000000..f46e510d
--- /dev/null
+++ b/scripts/travis-checkout.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+set -ex
+
+get_depot_tools() {
+ cd
+ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
+ PATH="$HOME/depot_tools:$PATH"
+}
+
+gclient_sync() {
+ # Rename the source dir to match what gclient expects.
+ srcdir=$(basename "$TRAVIS_BUILD_DIR")
+ cd "${TRAVIS_BUILD_DIR}"/..
+ mv "${srcdir}" src
+ gclient config --unmanaged https://github.com/google/breakpad.git
+ gclient sync
+}
+
+main() {
+ get_depot_tools
+ gclient_sync
+}
+
+main "$@"