blob: e72e2540c5cc82d205400a51d3d9528417d171cf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
#! /bin/sh
# This script is executed in the travis-ci environment.
images=("ghdl/ghdl-tools:ubuntu-mcode" "ghdl/ghdl-tools:ubuntu1404-llvm" "ghdl/ghdl-tools:ubuntu1204-llvm" "ghdl/ghdl-tools:fedora-llvm-mcode")
#--- image + identifier + compiler
regular="0+ubuntu+mcode 3+fedora+llvm"
nightly="1+ubuntu1404+llvm-3.5 2+ubuntu1204+llvm-3.8 3+fedora+mcode"
#release=()
#---
. dist/ansi_color.sh
#disable_color
thismatrix=regular
#---
task() {
printf "$ANSI_YELLOW[$1| BUILD] $2 $ANSI_NOCOLOR\n"
IFS='+' read -ra REFS <<< "$2"
DBLD=${REFS[2]}
thisworkdir="../wrk-$1"
cp -r ./ "$thisworkdir" && cd "$thisworkdir"
./dist/linux/docker-buildtest.sh -i "${images[${REFS[0]}]}" $3-t "$1" -b "$DBLD" -f "ghdl-$PKG_VER-$DBLD-$PKG_TAG-${REFS[1]}-$PKG_SHORTCOMMIT.tgz"
cd "$cloned"
cp "$thisworkdir"/ghdl-*.tgz ./
cp "$thisworkdir"/log.log "./log_$1.log"
}
#---
PKG_SHORTCOMMIT="$(printf $TRAVIS_COMMIT | cut -c1-10)"
PKG_VER=`grep Ghdl_Ver src/version.in | sed -e 's/.*"\(.*\)";/\1/'`
PKG_TAG="$TRAVIS_TAG"
if [ -z "$TRAVIS_TAG" ]; then PKG_TAG=`date -u +%Y%m%d`; fi
cloned=$(pwd)
printf "$ANSI_YELLOW[TRAVIS] Running matrix $thismatrix $ANSI_NOCOLOR\n"
eval blds='${'$thismatrix'}'
t=0; for thisbuild in $blds; do
task "$t" "$thisbuild" "$ENABLECOLOR" &
t=$(($t+1));
done
printf "$ANSI_YELLOW[TRAVIS] Waiting... $ANSI_NOCOLOR\n"
wait
printf "$ANSI_YELLOW[TRAVIS] Done waiting. Show work dir content: $ANSI_NOCOLOR\n"
ls -la
printf "$ANSI_YELLOW[TRAVIS] Check results $ANSI_NOCOLOR\n"
EXITCODE=0;
t=0; for b in $blds; do
# Read the last line of the log
RESULT[$t]=$(awk '/./{line=$0} END{print line}' "log_$t.log")
# If it did not end with [$t|SUCCESSFUL], break the build
if [ "${RESULT[$t]}" != "[$t|SUCCESSFUL]" ]; then EXITCODE=$(($t+1)); fi
# Anyway, always print the full log
printf "$ANSI_YELLOW[TRAVIS] Print BUILD $t log $ANSI_NOCOLOR\n"
cat "log_$t.log"
t=$(($t+1));
done
# The exit code indicates the last broken build (1:bnum)
exit $EXITCODE
|