build.sh 4.51 KB
Newer Older
incardon's avatar
incardon committed
1 2 3 4 5 6
#! /bin/bash

# Make a directory in /tmp/OpenFPM_pdata

echo "Directory: $1"
echo "Machine: $2"
incardon's avatar
incardon committed
7
echo "Branch name: $5"
incardon's avatar
incardon committed
8

incardon's avatar
incardon committed
9

incardon's avatar
incardon committed
10 11 12 13 14 15
if [ x"$5" == x"" ]; then
  branch=$(git ls-remote --heads origin | grep $(git rev-parse HEAD) | cut -d / -f 3)
else
  branch=$5
fi

incardon's avatar
Latest  
incardon committed
16 17 18 19 20 21 22
#### If you have a dep_dir file change the branch name to the dep_dir

dep_dir=$(cat dep_dir)
if [ x"$dep_dir" != x"" ]; then
  set -- "${@:1:4}" "$dep_dir"
fi

incardon's avatar
incardon committed
23 24 25 26 27 28 29
mkdir src/config
mkdir openfpm_numerics/src/config


if [ "$2" == "gin" ]
then
 echo "Compiling on gin\n"
incardon's avatar
incardon committed
30

incardon's avatar
incardon committed
31 32
 source "$HOME/.bashrc"

incardon's avatar
incardon committed
33 34
 ## Check if MPI folder exist if not copy MPICH

incardon's avatar
incardon committed
35
 if [ ! -d $HOME/$branch/MPI ]; then
incardon's avatar
incardon committed
36
   echo "COPY MPICH"
incardon's avatar
incardon committed
37 38
   cp -R $HOME/MPI $HOME/$branch/MPI
   echo 2 > $HOME/$branch/MPI/version
incardon's avatar
incardon committed
39 40
 fi

incardon's avatar
incardon committed
41
 ### Activate MPI and binutils ###
incardon's avatar
incardon committed
42

incardon's avatar
incardon committed
43
 export PATH="$PATH:$HOME/$branch/MPI/bin"
incardon's avatar
incardon committed
44
 export PATH="/usr/local/binutils/bin/:$PATH"
incardon's avatar
incardon committed
45

incardon's avatar
incardon committed
46
 mkdir $HOME/$branch
incardon's avatar
incardon committed
47
 if [ x"$4" == x"full" ]; then
incardon's avatar
incardon committed
48
  CC=gcc-4.9.2 CXX=g++-4.9.2 FC=gfortran-4.9.2 F77=gfortran-4.9.2 ./install -i $HOME/$branch  -s -c "--prefix=/home/jenkins/openfpm_install"
49
  echo "Moving envoronment variable"
incardon's avatar
incardon committed
50 51
  mv $HOME/openfpm_vars $HOME/openfpm_vars_$branch
  source $HOME/openfpm_vars_$branch
incardon's avatar
incardon committed
52
 elif [ x"$3" == x"numerics" ]; then
incardon's avatar
incardon committed
53 54
  branch=$(git ls-remote --heads origin | grep $(git rev-parse HEAD) | cut -d / -f 3)
  CC=gcc-4.9.2 CXX=g++-4.9.2 FC=gfortran-4.9.2 F77=gfortran-4.9.2 ./install -i $HOME/$branch  -m -s -c "--prefix=/home/jenkins/openfpm_install"
55
  echo "Mooving environment variable"
incardon's avatar
incardon committed
56 57
  mv $HOME/openfpm_vars $HOME/openfpm_vars_$branch
  source $HOME/openfpm_vars_$branch
58
  make $3
incardon's avatar
incardon committed
59
 else
incardon's avatar
incardon committed
60
  CC=gcc-4.9.2 CXX=g++-4.9.2 FC=gfortran-4.9.2 F77=gfortran-4.9.2 ./install -i $HOME/$branch  -m -s -c "--prefix=/home/jenkins/openfpm_install --no-recursion"
61
  echo "Mooving envoronment variables"
incardon's avatar
incardon committed
62 63
  mv $HOME/openfpm_vars $HOME/openfpm_vars_$branch
  source $HOME/openfpm_vars_$branch
incardon's avatar
incardon committed
64
  make $3
incardon's avatar
incardon committed
65
 fi
66

incardon's avatar
incardon committed
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
 if [ $? -ne 0 ]; then
   curl -X POST --data "payload={\"icon_emoji\": \":jenkins:\", \"username\": \"jenkins\"  , \"attachments\":[{ \"title\":\"Error:\", \"color\": \"#FF0000\", \"text\":\"$2 failed to complete the openfpm_pdata test \" }] }" https://hooks.slack.com/services/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
   exit 1 ;
 fi


 if [ $? -ne 0 ]; then
   curl -X POST --data "payload={\"icon_emoji\": \":jenkins:\", \"username\": \"jenkins\"  , \"attachments\":[{ \"title\":\"Error:\", \"color\": \"#FF0000\", \"text\":\"$2 failed to complete the openfpm_pdata test \" }] }" https://hooks.slack.com/services/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
   exit 1 ; 
 fi

elif [ "$2" == "taurus" ]
then
 echo "Compiling on taurus"

 source /etc/profile
 echo "$PATH"
 module load eigen/3.2.0
 module load suitesparse/4.2.1-gnu-multimkl
 module load boost/1.60.0
 module load gcc/5.3.0
 module load openmpi/1.10.2-gnu
 module unload bullxmpi
 
 export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/incard/PARMETIS/lib:/home/incard/METIS/lib:/home/incard/HDF5/lib"

incardon's avatar
incardon committed
93 94 95 96
 mkdir /scratch/p_ppm/$branch
 ./install -m -i "/scratch/p_ppm/$branch" -s -c"CXX=mpic++ --no-recursion"
 mv $HOME/openfpm_vars $HOME/openfpm_vars_$branch
 source $HOME/openfpm_vars_$branch
incardon's avatar
incardon committed
97
 make $3
incardon's avatar
incardon committed
98 99 100 101 102 103 104 105


 if [ $? -ne 0 ]; then
   curl -X POST --data "payload={\"icon_emoji\": \":jenkins:\", \"username\": \"jenkins\"  , \"attachments\":[{ \"title\":\"Error:\", \"color\": \"#FF0000\", \"text\":\"$2 failed to complete the openfpm_pdata test \" }] }" https://hooks.slack.com/services/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
   exit 1 ; 
 fi
else
 echo "Compiling general"
incardon's avatar
incardon committed
106

incardon's avatar
incardon committed
107
 source ~/.bashrc
incardon's avatar
incardon committed
108

incardon's avatar
incardon committed
109
 mkdir $HOME/$branch
incardon's avatar
incardon committed
110
 if [ x"$4" == x"full" ]; then
incardon's avatar
incardon committed
111 112 113
  ./install -i $HOME/$branch  -s -c "--prefix=/Users/jenkins/openfpm_install"
  mv $HOME/openfpm_vars $HOME/openfpm_vars_$branch
  source $HOME/openfpm_vars_$branch
incardon's avatar
incardon committed
114
 elif [ x"$3" == x"numerics" ]; then
incardon's avatar
incardon committed
115 116
  branch=$(git ls-remote --heads origin | grep $(git rev-parse HEAD) | cut -d / -f 3)
  ./install -i $HOME/$branch  -m -s -c "--prefix=/home/jenkins/openfpm_install"
incardon's avatar
incardon committed
117
  mv $HOME/openfpm_vars $HOME/openfpm_vars_$branch
incardon's avatar
incardon committed
118
  source $HOME/openfpm_vars_$branch
119
  make $3
incardon's avatar
incardon committed
120
 else
incardon's avatar
incardon committed
121 122 123
  ./install -i $HOME/$branch -m -s -c "--prefix=/Users/jenkins/openfpm_install --no-recursion"
  mv $HOME/openfpm_vars $HOME/openfpm_vars_$branch
  source $HOME/openfpm_vars_$branch
incardon's avatar
incardon committed
124
  make $3
incardon's avatar
incardon committed
125
 fi
incardon's avatar
incardon committed
126 127 128 129 130 131 132 133 134

 if [ $? -ne 0 ]; then
   curl -X POST --data "payload={\"icon_emoji\": \":jenkins:\", \"username\": \"jenkins\"  , \"attachments\":[{ \"title\":\"Error:\", \"color\": \"#FF0000\", \"text\":\"$2 failed to complete the openfpm_pdata test \" }] }" https://hooks.slack.com/services/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
   exit 1 ;
 fi

fi