2018-10-16 00:06:16 -07:00
|
|
|
#!/usr/bin/env bash
|
2016-02-18 07:11:59 -08:00
|
|
|
#**************************************************************************
|
|
|
|
#* *
|
|
|
|
#* OCaml *
|
|
|
|
#* *
|
|
|
|
#* Anil Madhavapeddy, OCaml Labs *
|
|
|
|
#* *
|
|
|
|
#* Copyright 2014 Institut National de Recherche en Informatique et *
|
|
|
|
#* en Automatique. *
|
|
|
|
#* *
|
|
|
|
#* All rights reserved. This file is distributed under the terms of *
|
|
|
|
#* the GNU Lesser General Public License version 2.1, with the *
|
|
|
|
#* special exception on linking described in the file LICENSE. *
|
|
|
|
#* *
|
|
|
|
#**************************************************************************
|
2015-09-11 04:58:31 -07:00
|
|
|
|
2019-06-19 07:15:02 -07:00
|
|
|
set -e
|
|
|
|
|
2017-07-03 08:53:37 -07:00
|
|
|
# TRAVIS_COMMIT_RANGE has the form <commit1>...<commit2>
|
|
|
|
# TRAVIS_CUR_HEAD is <commit1>
|
|
|
|
# TRAVIS_PR_HEAD is <commit2>
|
2017-07-05 06:18:39 -07:00
|
|
|
#
|
|
|
|
# The following diagram illustrates the relationship between
|
|
|
|
# the commits:
|
|
|
|
#
|
|
|
|
# (trunk) (pr branch)
|
|
|
|
# TRAVIS_CUR_HEAD TRAVIS_PR_HEAD
|
|
|
|
# | /
|
2017-08-12 13:21:48 -07:00
|
|
|
# ... ...
|
2017-07-05 06:18:39 -07:00
|
|
|
# | /
|
|
|
|
# TRAVIS_MERGE_BASE
|
|
|
|
#
|
2019-06-19 07:15:02 -07:00
|
|
|
echo "TRAVIS_COMMIT_RANGE=$TRAVIS_COMMIT_RANGE"
|
|
|
|
echo "TRAVIS_COMMIT=$TRAVIS_COMMIT"
|
|
|
|
if [[ $TRAVIS_EVENT_TYPE = 'pull_request' ]] ; then
|
2018-07-11 11:34:48 -07:00
|
|
|
FETCH_HEAD=$(git rev-parse FETCH_HEAD)
|
2019-06-19 07:15:02 -07:00
|
|
|
echo "FETCH_HEAD=$FETCH_HEAD"
|
2018-07-11 11:34:48 -07:00
|
|
|
else
|
|
|
|
FETCH_HEAD=$TRAVIS_COMMIT
|
|
|
|
fi
|
2018-07-11 03:42:38 -07:00
|
|
|
|
2019-04-30 00:57:56 -07:00
|
|
|
if [[ $TRAVIS_EVENT_TYPE = 'push' ]] ; then
|
2019-06-19 07:15:02 -07:00
|
|
|
if ! git cat-file -e "$TRAVIS_COMMIT" 2> /dev/null ; then
|
2019-04-30 00:57:56 -07:00
|
|
|
echo 'TRAVIS_COMMIT does not exist - CI failure'
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
if [[ $TRAVIS_COMMIT != $(git rev-parse FETCH_HEAD) ]] ; then
|
2019-06-19 07:15:02 -07:00
|
|
|
echo 'WARNING! Travis TRAVIS_COMMIT and FETCH_HEAD do not agree!'
|
|
|
|
if git cat-file -e "$TRAVIS_COMMIT" 2> /dev/null ; then
|
|
|
|
echo 'TRAVIS_COMMIT exists, so going with it'
|
2019-04-30 00:57:56 -07:00
|
|
|
else
|
2019-06-19 07:15:02 -07:00
|
|
|
echo 'TRAVIS_COMMIT does not exist; setting to FETCH_HEAD'
|
2019-04-30 00:57:56 -07:00
|
|
|
TRAVIS_COMMIT=$FETCH_HEAD
|
|
|
|
fi
|
2018-07-11 03:42:38 -07:00
|
|
|
fi
|
|
|
|
fi
|
2018-07-04 01:54:04 -07:00
|
|
|
|
|
|
|
set -x
|
|
|
|
|
|
|
|
PREFIX=~/local
|
|
|
|
|
2020-04-17 06:11:22 -07:00
|
|
|
MAKE="make $MAKE_ARG"
|
|
|
|
SHELL=dash
|
2018-07-04 01:54:04 -07:00
|
|
|
|
2017-07-05 03:13:56 -07:00
|
|
|
TRAVIS_CUR_HEAD=${TRAVIS_COMMIT_RANGE%%...*}
|
|
|
|
TRAVIS_PR_HEAD=${TRAVIS_COMMIT_RANGE##*...}
|
2017-07-14 11:21:39 -07:00
|
|
|
case $TRAVIS_EVENT_TYPE in
|
|
|
|
# If this is not a pull request then TRAVIS_COMMIT_RANGE may be empty.
|
2017-10-11 12:38:53 -07:00
|
|
|
pull_request)
|
2018-07-11 03:20:50 -07:00
|
|
|
DEEPEN=50
|
2019-06-19 07:15:02 -07:00
|
|
|
while ! git merge-base "$TRAVIS_CUR_HEAD" "$TRAVIS_PR_HEAD" >& /dev/null
|
2018-07-11 03:20:50 -07:00
|
|
|
do
|
2019-06-19 07:15:02 -07:00
|
|
|
echo "Deepening $TRAVIS_BRANCH by $DEEPEN commits"
|
|
|
|
git fetch origin --deepen=$DEEPEN "$TRAVIS_BRANCH"
|
2018-07-11 03:20:50 -07:00
|
|
|
((DEEPEN*=2))
|
|
|
|
done
|
2019-06-19 07:15:02 -07:00
|
|
|
TRAVIS_MERGE_BASE=$(git merge-base "$TRAVIS_CUR_HEAD" "$TRAVIS_PR_HEAD");;
|
2017-07-14 11:21:39 -07:00
|
|
|
esac
|
2017-07-03 08:53:37 -07:00
|
|
|
|
2015-11-27 03:48:29 -08:00
|
|
|
BuildAndTest () {
|
2017-08-29 02:42:23 -07:00
|
|
|
mkdir -p $PREFIX
|
2016-11-12 06:10:32 -08:00
|
|
|
cat<<EOF
|
2015-11-27 12:05:06 -08:00
|
|
|
------------------------------------------------------------------------
|
2017-07-31 04:25:17 -07:00
|
|
|
This test builds the OCaml compiler distribution with your pull request
|
|
|
|
and runs its testsuite.
|
2015-11-27 12:05:06 -08:00
|
|
|
|
|
|
|
Failing to build the compiler distribution, or testsuite failures are
|
|
|
|
critical errors that must be understood and fixed before your pull
|
2017-07-31 04:25:17 -07:00
|
|
|
request can be merged.
|
2015-11-27 12:05:06 -08:00
|
|
|
------------------------------------------------------------------------
|
|
|
|
EOF
|
2018-11-07 05:28:51 -08:00
|
|
|
|
2020-04-20 03:07:28 -07:00
|
|
|
# Ensure that make distclean can be run from an empty tree
|
|
|
|
$MAKE distclean
|
|
|
|
|
2019-07-18 12:27:39 -07:00
|
|
|
if [ "$MIN_BUILD" = "1" ] ; then
|
|
|
|
configure_flags="\
|
|
|
|
--prefix=$PREFIX \
|
|
|
|
--disable-shared \
|
|
|
|
--disable-debug-runtime \
|
|
|
|
--disable-instrumented-runtime \
|
|
|
|
--disable-systhreads \
|
|
|
|
--disable-str-lib \
|
|
|
|
--disable-unix-lib \
|
|
|
|
--disable-bigarray-lib \
|
|
|
|
--disable-ocamldoc \
|
|
|
|
--disable-native-compiler \
|
2020-02-13 08:53:07 -08:00
|
|
|
--enable-ocamltest \
|
2020-04-17 06:11:22 -07:00
|
|
|
--disable-dependency-generation \
|
2019-07-18 12:27:39 -07:00
|
|
|
$CONFIG_ARG"
|
|
|
|
else
|
|
|
|
configure_flags="\
|
|
|
|
--prefix=$PREFIX \
|
|
|
|
--enable-flambda-invariants \
|
2020-02-13 08:53:07 -08:00
|
|
|
--enable-ocamltest \
|
2020-04-17 06:11:22 -07:00
|
|
|
--disable-dependency-generation \
|
2019-07-18 12:27:39 -07:00
|
|
|
$CONFIG_ARG"
|
|
|
|
fi
|
2017-08-29 02:42:23 -07:00
|
|
|
case $XARCH in
|
|
|
|
x64)
|
2018-11-07 05:28:51 -08:00
|
|
|
./configure $configure_flags
|
2017-08-29 02:42:23 -07:00
|
|
|
;;
|
|
|
|
i386)
|
2020-04-23 07:58:36 -07:00
|
|
|
./configure --build=x86_64-pc-linux-gnu --host=i386-linux \
|
|
|
|
CC='gcc -m32' AS='as --32' ASPP='gcc -m32 -c' \
|
|
|
|
PARTIALLD='ld -r -melf_i386' \
|
2018-11-07 05:28:51 -08:00
|
|
|
$configure_flags
|
2015-11-27 03:48:29 -08:00
|
|
|
;;
|
|
|
|
*)
|
|
|
|
echo unknown arch
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
2017-08-29 02:42:23 -07:00
|
|
|
|
|
|
|
export PATH=$PREFIX/bin:$PATH
|
2019-07-18 12:27:39 -07:00
|
|
|
if [ "$MIN_BUILD" = "1" ] ; then
|
|
|
|
if $MAKE world.opt ; then
|
|
|
|
echo "world.opt is not supposed to work!"
|
|
|
|
exit 1
|
|
|
|
else
|
|
|
|
$MAKE world
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
$MAKE world.opt
|
|
|
|
$MAKE ocamlnat
|
|
|
|
fi
|
2020-01-29 06:30:15 -08:00
|
|
|
echo Ensuring that all names are prefixed in the runtime
|
|
|
|
./tools/check-symbol-names runtime/*.a
|
2018-03-20 23:59:24 -07:00
|
|
|
cd testsuite
|
|
|
|
echo Running the testsuite with the normal runtime
|
|
|
|
$MAKE all
|
2019-07-18 12:27:39 -07:00
|
|
|
if [ "$MIN_BUILD" != "1" ] ; then
|
|
|
|
echo Running the testsuite with the debug runtime
|
|
|
|
$MAKE USE_RUNTIME='d' OCAMLTESTDIR="$(pwd)/_ocamltestd" TESTLOG=_logd all
|
|
|
|
fi
|
2018-03-20 23:59:24 -07:00
|
|
|
cd ..
|
2019-07-27 12:18:38 -07:00
|
|
|
if command -v pdflatex &>/dev/null ; then
|
|
|
|
echo Ensuring that all library documentation compiles
|
2020-04-17 06:11:22 -07:00
|
|
|
$MAKE -C ocamldoc html_doc pdf_doc texi_doc
|
2019-07-27 12:18:38 -07:00
|
|
|
fi
|
2017-08-29 02:42:23 -07:00
|
|
|
$MAKE install
|
2019-07-18 12:27:39 -07:00
|
|
|
if fgrep 'SUPPORTS_SHARED_LIBRARIES=true' Makefile.config &>/dev/null ; then
|
|
|
|
echo Check the code examples in the manual
|
|
|
|
$MAKE manual-pregen
|
|
|
|
fi
|
2017-08-29 02:42:23 -07:00
|
|
|
# check_all_arches checks tries to compile all backends in place,
|
|
|
|
# we would need to redo (small parts of) world.opt afterwards to
|
|
|
|
# use the compiler again
|
|
|
|
$MAKE check_all_arches
|
2020-04-20 03:07:28 -07:00
|
|
|
# Ensure that .gitignore is up-to-date - this will fail if any untreacked or
|
|
|
|
# altered files exist.
|
|
|
|
test -z "$(git status --porcelain)"
|
2017-10-07 04:26:21 -07:00
|
|
|
# check that the 'clean' target also works
|
|
|
|
$MAKE clean
|
2020-04-20 03:07:28 -07:00
|
|
|
$MAKE -C manual clean
|
|
|
|
# check that the `distclean` target definitely cleans the tree
|
|
|
|
$MAKE distclean
|
|
|
|
# Check the working tree is clean
|
|
|
|
test -z "$(git status --porcelain)"
|
|
|
|
# Check that there are no ignored files
|
|
|
|
test -z "$(git ls-files --others -i --exclude-standard)"
|
2015-11-27 03:48:29 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
CheckChangesModified () {
|
2016-11-12 06:10:32 -08:00
|
|
|
cat<<EOF
|
2016-11-12 06:09:40 -08:00
|
|
|
------------------------------------------------------------------------
|
2015-11-27 12:05:06 -08:00
|
|
|
This test checks that the Changes file has been modified by the pull
|
|
|
|
request. Most contributions should come with a message in the Changes
|
|
|
|
file, as described in our contributor documentation:
|
|
|
|
|
|
|
|
https://github.com/ocaml/ocaml/blob/trunk/CONTRIBUTING.md#changelog
|
|
|
|
|
|
|
|
Some very minor changes (typo fixes for example) may not need
|
2016-11-13 15:36:45 -08:00
|
|
|
a Changes entry. In this case, you may explicitly disable this test by
|
|
|
|
adding the code word "No change entry needed" (on a single line) to
|
2016-11-26 18:56:43 -08:00
|
|
|
a commit message of the PR, or using the "no-change-entry-needed" label
|
|
|
|
on the github pull request.
|
2016-11-12 06:09:40 -08:00
|
|
|
------------------------------------------------------------------------
|
|
|
|
EOF
|
2015-11-27 12:05:06 -08:00
|
|
|
# check that Changes has been modified
|
2019-06-19 07:15:02 -07:00
|
|
|
git diff "$TRAVIS_MERGE_BASE..$TRAVIS_PR_HEAD" --name-only --exit-code \
|
|
|
|
Changes > /dev/null && CheckNoChangesMessage || echo pass
|
2016-11-13 15:36:45 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
CheckNoChangesMessage () {
|
2017-10-11 12:38:53 -07:00
|
|
|
API_URL=https://api.github.com/repos/$TRAVIS_REPO_SLUG/issues/$TRAVIS_PULL_REQUEST/labels
|
2019-06-19 07:15:02 -07:00
|
|
|
if [[ -n $(git log --grep='[Nn]o [Cc]hange.* needed' --max-count=1 \
|
|
|
|
"$TRAVIS_MERGE_BASE..$TRAVIS_PR_HEAD") ]]
|
2016-11-26 18:56:43 -08:00
|
|
|
then echo pass
|
2019-06-19 07:15:02 -07:00
|
|
|
elif [[ -n $(curl "$API_URL" | grep 'no-change-entry-needed') ]]
|
2016-11-26 18:56:43 -08:00
|
|
|
then echo pass
|
|
|
|
else exit 1
|
2016-11-13 15:36:45 -08:00
|
|
|
fi
|
2015-11-27 03:48:29 -08:00
|
|
|
}
|
|
|
|
|
2018-05-21 06:11:40 -07:00
|
|
|
CheckManual () {
|
|
|
|
cat<<EOF
|
|
|
|
--------------------------------------------------------------------------
|
2019-07-03 09:41:13 -07:00
|
|
|
This test checks the global structure of the reference manual
|
|
|
|
(e.g. missing chapters).
|
2018-05-21 06:11:40 -07:00
|
|
|
--------------------------------------------------------------------------
|
|
|
|
EOF
|
|
|
|
# we need some of the configuration data provided by configure
|
|
|
|
./configure
|
2019-07-03 09:41:13 -07:00
|
|
|
$MAKE check-stdlib check-case-collision -C manual/tests
|
|
|
|
|
2018-05-21 06:11:40 -07:00
|
|
|
}
|
|
|
|
|
2015-11-27 03:48:29 -08:00
|
|
|
CheckTestsuiteModified () {
|
2016-11-12 06:10:32 -08:00
|
|
|
cat<<EOF
|
2016-11-12 06:09:40 -08:00
|
|
|
------------------------------------------------------------------------
|
2015-11-27 12:05:06 -08:00
|
|
|
This test checks that the OCaml testsuite has been modified by the
|
|
|
|
pull request. Any new feature should come with tests, bugs should come
|
|
|
|
with regression tests, and generally any change in behavior that can
|
2016-06-18 18:09:04 -07:00
|
|
|
be exercised by a test should come with a test or modify and existing
|
2015-11-27 12:05:06 -08:00
|
|
|
test. See our contributor documentation:
|
|
|
|
|
|
|
|
https://github.com/ocaml/ocaml/blob/trunk/CONTRIBUTING.md#test-you-must
|
|
|
|
|
|
|
|
Modifications that result in no change in observable behavior
|
|
|
|
(documentation contributions for example) can hardly be tested, in
|
|
|
|
which case it is acceptable for this test to fail.
|
|
|
|
|
|
|
|
Note: the heuristic used by this test is extremely fragile; passing it
|
|
|
|
does *not* imply that your change is appropriately tested.
|
2016-11-12 06:09:40 -08:00
|
|
|
------------------------------------------------------------------------
|
|
|
|
EOF
|
2015-11-27 12:05:06 -08:00
|
|
|
# check that at least a file in testsuite/ has been modified
|
2019-06-19 07:15:02 -07:00
|
|
|
git diff "$TRAVIS_MERGE_BASE..$TRAVIS_PR_HEAD" --name-only --exit-code \
|
2017-10-11 12:38:53 -07:00
|
|
|
testsuite > /dev/null && exit 1 || echo pass
|
2015-11-27 03:48:29 -08:00
|
|
|
}
|
|
|
|
|
2018-06-30 08:54:47 -07:00
|
|
|
# Test to see if any part of the directory name has been marked prune
|
|
|
|
not_pruned () {
|
|
|
|
DIR=$(dirname "$1")
|
2019-06-19 07:15:02 -07:00
|
|
|
if [[ $DIR = '.' ]] ; then
|
2018-06-30 08:54:47 -07:00
|
|
|
return 0
|
|
|
|
else
|
2018-12-19 07:20:51 -08:00
|
|
|
case ",$(git check-attr typo.prune "$DIR" | sed -e 's/.*: //')," in
|
|
|
|
,set,)
|
2018-06-30 08:54:47 -07:00
|
|
|
return 1
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
|
2019-06-19 07:15:02 -07:00
|
|
|
not_pruned "$DIR"
|
2018-06-30 08:54:47 -07:00
|
|
|
return $?
|
|
|
|
esac
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
2017-08-12 05:06:28 -07:00
|
|
|
CheckTypoTree () {
|
2017-04-17 13:23:23 -07:00
|
|
|
export OCAML_CT_HEAD=$1
|
2017-08-12 05:06:28 -07:00
|
|
|
export OCAML_CT_LS_FILES="git diff-tree --no-commit-id --name-only -r $2 --"
|
2019-06-19 07:15:02 -07:00
|
|
|
export OCAML_CT_CAT='git cat-file --textconv'
|
2018-07-03 05:04:59 -07:00
|
|
|
export OCAML_CT_PREFIX="$1:"
|
2019-06-19 07:15:02 -07:00
|
|
|
GIT_INDEX_FILE=tmp-index git read-tree --reset -i "$1"
|
|
|
|
git diff-tree --diff-filter=d --no-commit-id --name-only -r "$2" \
|
2018-06-30 08:46:59 -07:00
|
|
|
| (while IFS= read -r path
|
2017-04-17 13:23:23 -07:00
|
|
|
do
|
2019-06-19 07:15:02 -07:00
|
|
|
if not_pruned "$path" ; then
|
2018-06-30 08:54:47 -07:00
|
|
|
echo "Checking $1: $path"
|
2019-06-19 07:15:02 -07:00
|
|
|
if ! tools/check-typo "./$path" ; then
|
2018-06-30 08:54:47 -07:00
|
|
|
touch check-typo-failed
|
|
|
|
fi
|
|
|
|
else
|
2018-12-19 07:20:51 -08:00
|
|
|
echo "NOT checking $1: $path (typo.prune)"
|
2017-04-17 13:23:23 -07:00
|
|
|
fi
|
2019-04-30 00:52:27 -07:00
|
|
|
case "$path" in
|
|
|
|
configure|configure.ac|VERSION|tools/ci/travis/travis-ci.sh)
|
|
|
|
touch CHECK_CONFIGURE;;
|
|
|
|
esac
|
2017-04-17 13:23:23 -07:00
|
|
|
done)
|
|
|
|
rm -f tmp-index
|
2019-06-19 07:15:02 -07:00
|
|
|
if [[ -e CHECK_CONFIGURE ]] ; then
|
2019-03-18 06:26:58 -07:00
|
|
|
rm -f CHECK_CONFIGURE
|
2019-04-30 00:52:27 -07:00
|
|
|
echo "configure generation altered in $1"
|
2019-06-19 07:15:02 -07:00
|
|
|
echo 'Verifying that configure.ac generates configure'
|
2019-03-18 06:26:58 -07:00
|
|
|
git checkout "$1"
|
|
|
|
mv configure configure.ref
|
2018-12-04 02:29:02 -08:00
|
|
|
make configure
|
2019-03-18 06:26:58 -07:00
|
|
|
if ! diff -q configure configure.ref >/dev/null ; then
|
|
|
|
echo "configure.ac no longer generates configure, \
|
2018-12-04 02:29:02 -08:00
|
|
|
please run rm configure ; make configure and commit"
|
2019-03-18 06:26:58 -07:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
fi
|
2017-04-17 13:23:23 -07:00
|
|
|
}
|
|
|
|
|
2017-08-12 05:06:28 -07:00
|
|
|
CHECK_ALL_COMMITS=0
|
|
|
|
|
|
|
|
CheckTypo () {
|
2019-06-19 07:15:02 -07:00
|
|
|
export OCAML_CT_GIT_INDEX='tmp-index'
|
|
|
|
export OCAML_CT_CA_FLAG='--cached'
|
2017-04-17 13:23:23 -07:00
|
|
|
# Work around an apparent bug in Ubuntu 12.4.5
|
|
|
|
# See https://bugs.launchpad.net/ubuntu/+source/gawk/+bug/1647879
|
|
|
|
rm -f check-typo-failed
|
2019-06-19 07:15:02 -07:00
|
|
|
if [[ -z $TRAVIS_COMMIT_RANGE ]]
|
|
|
|
then CheckTypoTree "$TRAVIS_COMMIT" "$TRAVIS_COMMIT"
|
2017-04-17 14:08:40 -07:00
|
|
|
else
|
2019-06-19 07:15:02 -07:00
|
|
|
if [[ $TRAVIS_EVENT_TYPE = 'pull_request' ]]
|
2018-07-11 12:00:57 -07:00
|
|
|
then TRAVIS_COMMIT_RANGE=$TRAVIS_MERGE_BASE..$TRAVIS_PULL_REQUEST_SHA
|
2017-04-17 14:08:40 -07:00
|
|
|
fi
|
2019-06-19 07:15:02 -07:00
|
|
|
if [[ $CHECK_ALL_COMMITS -eq 1 ]]
|
2017-08-12 05:06:28 -07:00
|
|
|
then
|
2019-06-19 07:15:02 -07:00
|
|
|
for commit in $(git rev-list "$TRAVIS_COMMIT_RANGE" --reverse)
|
2017-04-17 14:08:40 -07:00
|
|
|
do
|
2019-06-19 07:15:02 -07:00
|
|
|
CheckTypoTree "$commit" "$commit"
|
2017-04-17 14:08:40 -07:00
|
|
|
done
|
2017-08-12 05:06:28 -07:00
|
|
|
else
|
2019-06-19 07:15:02 -07:00
|
|
|
if [[ -z $TRAVIS_PULL_REQUEST_SHA ]]
|
|
|
|
then CheckTypoTree "$TRAVIS_COMMIT" "$TRAVIS_COMMIT"
|
|
|
|
else CheckTypoTree "$TRAVIS_COMMIT" "$TRAVIS_COMMIT_RANGE"
|
2017-08-12 05:06:28 -07:00
|
|
|
fi
|
|
|
|
fi
|
2017-04-17 13:23:23 -07:00
|
|
|
fi
|
|
|
|
echo complete
|
2019-06-19 07:15:02 -07:00
|
|
|
if [[ -e check-typo-failed ]]
|
2017-04-17 13:23:23 -07:00
|
|
|
then exit 1
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2015-11-27 03:48:29 -08:00
|
|
|
case $CI_KIND in
|
|
|
|
build) BuildAndTest;;
|
2016-11-13 16:19:10 -08:00
|
|
|
changes)
|
|
|
|
case $TRAVIS_EVENT_TYPE in
|
|
|
|
pull_request) CheckChangesModified;;
|
|
|
|
esac;;
|
2018-05-21 06:11:40 -07:00
|
|
|
manual)
|
|
|
|
CheckManual;;
|
2016-11-13 16:19:10 -08:00
|
|
|
tests)
|
|
|
|
case $TRAVIS_EVENT_TYPE in
|
|
|
|
pull_request) CheckTestsuiteModified;;
|
|
|
|
esac;;
|
2017-04-17 13:23:23 -07:00
|
|
|
check-typo)
|
|
|
|
set +x
|
2017-08-12 05:06:28 -07:00
|
|
|
CheckTypo;;
|
2015-11-27 03:48:29 -08:00
|
|
|
*) echo unknown CI kind
|
|
|
|
exit 1
|
|
|
|
;;
|
2014-05-01 03:30:21 -07:00
|
|
|
esac
|