]> rtime.felk.cvut.cz Git - nul-nightly.git/blob - cron.sh
New nightly build log
[nul-nightly.git] / cron.sh
1 #!/bin/bash
2 set -e
3 PATH=$HOME/bin:$PATH
4 ret=0
5 log=logs/$(date '+nul_%F_%T.log')
6
7 cd ~/nul
8 umask 022
9
10 git fetch --quiet
11 git stash --quiet # Save any chnages made by humans e.g. some testing
12 #git checkout --quiet master
13 #git reset --quiet --hard origin/master
14 git clean --quiet -fxd > /dev/null
15 git submodule --quiet foreach --recursive 'git stash --quiet; git clean --quiet -fxd'
16 git submodule --quiet update --init
17
18 #if ! cmp $0 michal/wvtest/nul-nightly-cron.sh; then
19 #    cp michal/wvtest/nul-nightly-cron.sh $0 && exec $0
20 #fi
21
22 cd ~/nul-nightly
23 if nul-nightly.sh > $log 2>&1; then
24     ( cd ~/nul; git push --quiet -f origin master:tested ) || :
25 else
26     ret=1
27     (
28 #To: commits-nul@os
29         cat <<EOF
30 Subject: NUL nightly build/test failed!
31 To: sojkam1@fel.cvut.cz
32
33 Full log can be found at compile.felk.cvut.cz:$PWD/$log
34
35 EOF
36         export COLUMNS=100
37         cat $log | tr -d '\015' | wvformat --before-failure=10 | wvwrap #| iconv -f ASCII -t ASCII//IGNORE
38     ) | /usr/sbin/sendmail -ti
39 fi
40
41 git add $log
42 git commit --quiet -m 'New nightly build log'
43
44 make
45
46 git push --quiet