Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into 'python_bindings_host_load_plugin'
[simgrid.git] / tools / jenkins / ci-starpu.sh
1 #!/usr/bin/env sh
2
3 # Test this script locally as follows (rerun `docker pull simgrid/unstable` to get a fresh version).
4 # cd (simgrid)/tools/jenkins
5 # docker run -it --rm --volume `pwd`:/source simgrid/unstable /source/ci-starpu.sh
6
7 set -ex
8
9 export SUDO=""
10
11 echo "XXXXXXXXXXXXXXXX Install APT dependencies"
12 $SUDO apt-get update
13 $SUDO apt-get -y install build-essential libboost-all-dev wget git xsltproc
14
15 for i in master 1.3 ; do
16   echo "XXXXXXXXXXXXXXXX Build and test StarPU $i"
17   rm -rf starpu*
18   wget https://files.inria.fr/starpu/simgrid/starpu-simgrid-$i.tar.gz
19   md5sum starpu-simgrid-$i.tar.gz
20   tar xf starpu-simgrid-$i.tar.gz
21   cd starpu-1*
22
23   # NOTE: Do *not* introduce parameters to "make it work" here.
24   # Things should "just work" with default parameters!
25   # Users should not have to tinker to get starpu working on top of SimGrid, that is precisely why we have this CI
26
27   if [ $i = master ]; then
28     # On master, fail if we use deprecated functions, so that StarPU people know they have to stop using them, fix it, and thus make CI happy again
29     CFLAGS="-Werror=deprecated-declarations"
30     CXXFLAGS="-Werror=deprecated-declarations"
31   else
32     CFLAGS=""
33     CXXFLAGS=""
34   fi
35   if ! ./configure CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" \
36                    --enable-simgrid --disable-shared --enable-mpi --enable-mpi-check --disable-cuda \
37                    --disable-build-doc --enable-quick-check
38   then
39     cat ./config.log
40     false
41   fi
42   make -j$(nproc) V=1
43
44   for STARPU_SCHED in eager dmdas ; do
45     export STARPU_SCHED
46     if ! make check -k
47     then
48       make showsuite
49       make showfailed
50       false
51     fi
52   done
53   cd ..
54 done