aboutsummaryrefslogtreecommitdiffstats
path: root/dist
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2017-08-16 08:05:39 +0200
committerTristan Gingold <tgingold@free.fr>2017-08-16 08:05:39 +0200
commit61b24c93601ecf7b9013b0926d9bda74e9eddadd (patch)
treeb1fed87aa8a8bf9327ed0957358536a9ba798f3b /dist
parent200e893607444cb3fe2a355430767215bee8fe70 (diff)
downloadghdl-61b24c93601ecf7b9013b0926d9bda74e9eddadd.tar.gz
ghdl-61b24c93601ecf7b9013b0926d9bda74e9eddadd.tar.bz2
ghdl-61b24c93601ecf7b9013b0926d9bda74e9eddadd.zip
Reimport appveyor and travis-ci scripts from v0.34
Diffstat (limited to 'dist')
-rwxr-xr-xdist/linux/buildtest.sh55
-rwxr-xr-xdist/linux/docker-buildtest.sh26
-rwxr-xr-xdist/linux/travis-ci.sh77
-rw-r--r--dist/windows/appveyor/build.ps157
-rw-r--r--dist/windows/appveyor/configure.ps169
-rw-r--r--dist/windows/appveyor/setup.ps159
-rw-r--r--dist/windows/appveyor/test.ps12
7 files changed, 147 insertions, 198 deletions
diff --git a/dist/linux/buildtest.sh b/dist/linux/buildtest.sh
index f8347070d..86722b785 100755
--- a/dist/linux/buildtest.sh
+++ b/dist/linux/buildtest.sh
@@ -10,10 +10,10 @@ set -e
for arg in "$@"; do
shift
case "$arg" in
- "--color"|"-color") set -- "$@" "-c";;
- "--build"|"-build") set -- "$@" "-b";;
- "--file"|"-file") set -- "$@" "-f";;
- "--taskid"|"-taskid") set -- "$@" "-t";;
+ "--color"|"-color") set -- "$@" "-c";;
+ "--build"|"-build") set -- "$@" "-b";;
+ "--file"|"-file") set -- "$@" "-f";;
+ "--taskid"|"-taskid") set -- "$@" "-t";;
*) set -- "$@" "$arg"
esac
done
@@ -22,10 +22,12 @@ while getopts ":b:f:t:c" opt; do
case $opt in
c) enable_color;;
b) BLD=$OPTARG ;;
- f) PKG_FILE=$OPTARG;;
+ f) PKG_FILE=$OPTARG;;
t) TASK=$OPTARG;;
- \?) printf "$ANSI_RED[GHDL] Invalid option: -$OPTARG $ANSI_NOCOLOR\n" >&2; exit 1 ;;
- :) printf "$ANSI_RED[GHDL] Option -$OPTARG requires an argument. $ANSI_NOCOLOR\n" >&2; exit 1 ;;
+ \?) printf "$ANSI_RED[GHDL] Invalid option: -$OPTARG $ANSI_NOCOLOR\n" >&2
+ exit 1 ;;
+ :) printf "$ANSI_RED[GHDL] Option -$OPTARG requires an argument. $ANSI_NOCOLOR\n" >&2
+ exit 1 ;;
esac
done
@@ -33,7 +35,6 @@ done
printf "$ANSI_BLUE[$TASK| GHDL] Prepare $(pwd) $ANSI_NOCOLOR\n"
CDIR=$(pwd)
-mkdir logs
prefix="$CDIR/install-$BLD"
mkdir "$prefix"
mkdir "build-$BLD"
@@ -49,27 +50,30 @@ env 1>> ../log.log 2>&1
printf "$ANSI_BLUE[$TASK| GHDL - build] Configure $ANSI_NOCOLOR\n"
case "$BLD" in
mcode)
- ../configure "--prefix=$prefix" 1>> ../log.log 2>&1
- ;;
-
+ ../configure "--prefix=$prefix" 1>> ../log.log 2>&1
+ ;;
+
llvm)
- ../configure "--prefix=$prefix" "--with-llvm-config" 1>> ../log.log 2>&1
- ;;
-
+ ../configure "--prefix=$prefix" "--with-llvm-config" 1>> ../log.log 2>&1
+ ;;
+
llvm-3.5)
- ../configure "--prefix=$prefix" "--with-llvm-config=llvm-config-3.5" 1>> ../log.log 2>&1
- MAKEOPTS="CXX=clang++"
- ;;
+ ../configure "--prefix=$prefix" "--with-llvm-config=llvm-config-3.5" 1>> ../log.log 2>&1
+ MAKEOPTS="CXX=clang++"
+ ;;
llvm-3.8)
- ../configure "--prefix=$prefix" "--with-llvm-config=llvm-config-3.8" 1>> ../log.log 2>&1
- MAKEOPTS="CXX=clang++-3.8"
- ;;
+ ../configure "--prefix=$prefix" "--with-llvm-config=llvm-config-3.8" 1>> ../log.log 2>&1
+ MAKEOPTS="CXX=clang++-3.8"
+ ;;
- docker) printf "$ANSI_MAGENTA[$TASK| GHDL - build] Check docker container! $ANSI_NOCOLOR\n"; exit 0;;
+ docker)
+ printf "$ANSI_MAGENTA[$TASK| GHDL - build] Check docker container! $ANSI_NOCOLOR\n"
+ exit 0;;
- *) printf "$ANSI_RED[$TASK| GHDL - build] Unknown build $BLD $ANSI_NOCOLOR\n"
- exit 1;;
+ *)
+ printf "$ANSI_RED[$TASK| GHDL - build] Unknown build $BLD $ANSI_NOCOLOR\n"
+ exit 1;;
esac
#---
@@ -90,10 +94,11 @@ tar -zcvf "$PKG_FILE" -C "$prefix" . 1>> log.log 2>&1
export ENABLECOLOR="$ENABLECOLOR"
export TASK="$TASK"
export GHDL="$CDIR/install-$BLD/bin/ghdl"
-cd testsuite && ./testsuite.sh
+cd testsuite
+./testsuite.sh
cd ..
#---
# Do not remove this line, and don't write anything below, since it is used to identify successful builds
-echo "[$TASK|SUCCESSFUL]" 1>> log.log 2>&1 \ No newline at end of file
+echo "[$TASK|SUCCESSFUL]" 1>> log.log 2>&1
diff --git a/dist/linux/docker-buildtest.sh b/dist/linux/docker-buildtest.sh
index 919a314d6..a3f38a32c 100755
--- a/dist/linux/docker-buildtest.sh
+++ b/dist/linux/docker-buildtest.sh
@@ -10,13 +10,13 @@ set -e
for arg in "$@"; do
shift
case "$arg" in
- "--color"|"-color") set -- "$@" "-c";;
- "--grab"|"-grab") set -- "$@" "-g";;
- "--image"|"-image") set -- "$@" "-i";;
- "--build"|"-build") set -- "$@" "-b";;
- "--file"|"-file") set -- "$@" "-f";;
- "--taskid"|"-taskid") set -- "$@" "-t";;
- *) set -- "$@" "$arg"
+ "--color"|"-color") set -- "$@" "-c";;
+ "--grab"|"-grab") set -- "$@" "-g";;
+ "--image"|"-image") set -- "$@" "-i";;
+ "--build"|"-build") set -- "$@" "-b";;
+ "--file"|"-file") set -- "$@" "-f";;
+ "--taskid"|"-taskid") set -- "$@" "-t";;
+ *) set -- "$@" "$arg";;
esac
done
# Parse args
@@ -28,8 +28,10 @@ while getopts ":i:b:f:t:cg" opt; do
b) BLD=$OPTARG ;;
f) PKG_FILE=$OPTARG;;
t) TASK=$OPTARG;;
- \?) printf "$ANSI_RED[BUILD] Invalid option: -$OPTARG $ANSI_NOCOLOR\n" >&2; exit 1 ;;
- :) printf "$ANSI_RED[BUILD] Option -$OPTARG requires an argument $ANSI_NOCOLOR\n" >&2; exit 1 ;;
+ \?) printf "$ANSI_RED[BUILD] Invalid option: -$OPTARG $ANSI_NOCOLOR\n" >&2
+ exit 1 ;;
+ :) printf "$ANSI_RED[BUILD] Option -$OPTARG requires an argument $ANSI_NOCOLOR\n" >&2
+ exit 1 ;;
esac
done
@@ -45,7 +47,7 @@ printf "$ANSI_YELLOW[$TASK| BUILD] Docker run $DOCKER_IMG $BLD $PKG_FILE $ANSI_N
if [ -n "$GRAB_SRCS" ]; then
printf "$ANSI_YELLOW[$TASK| BUILD] Grab sources$ANSI_NOCOLOR\n"
-
+
p="mkdir /work && cd /work"
p="$p && curl -L https://github.com/tgingold/ghdl/archive/master.tar.gz | tar xz"
p="$p && mv ghdl-master/* ./ && rm -rf ghdl-master"
@@ -56,9 +58,9 @@ if [ -n "$GRAB_SRCS" ]; then
set -e
docker cp "ghdl_cmp:/work/$PKG_FILE" ./
docker rm ghdl_cmp
-
+
else
docker run --rm -tv $(pwd):/work:Z -w="/work" "$DOCKER_IMG" sh -c "./dist/linux/buildtest.sh $ENABLECOLOR-t $TASK -b $BLD -f $PKG_FILE"
-fi \ No newline at end of file
+fi
diff --git a/dist/linux/travis-ci.sh b/dist/linux/travis-ci.sh
index e72e2540c..7c36f6546 100755
--- a/dist/linux/travis-ci.sh
+++ b/dist/linux/travis-ci.sh
@@ -1,69 +1,88 @@
-#! /bin/sh
+#! /bin/bash
# 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")
+# List of docker images
+
+images=("ghdl/ghdl-tools:ubuntu-mcode"
+ "ghdl/ghdl-tools:ubuntu1404-llvm"
+ "ghdl/ghdl-tools:ubuntu1204-llvm"
+ "ghdl/ghdl-tools:fedora-llvm-mcode")
+
+# docker image index + identifier + compiler
-#--- 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=()
+# Selected build matrix
+thismatrix=regular
+
#---
. dist/ansi_color.sh
-
#disable_color
-thismatrix=regular
+# Display env (to debug)
+printf "$ANSI_YELLOW[TRAVIS] Travis environment $ANSI_NOCOLOR\n"
+env | grep TRAVIS
-#---
+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)-$PKG_SHORTCOMMIT";
+fi
+
+cloned=$(pwd)
+
+#### Per build function
task() {
printf "$ANSI_YELLOW[$1| BUILD] $2 $ANSI_NOCOLOR\n"
IFS='+' read -ra REFS <<< "$2"
DBLD=${REFS[2]}
+ DDIST=${REFS[1]}
+ DIMG=${images[${REFS[0]}]}
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"
+ ./dist/linux/docker-buildtest.sh -i "$DIMG" $ENABLE_COLOR -t "$1" -b "$DBLD" -f "ghdl-$PKG_TAG-$DBLD-$DDIST.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)
+#### Start builds
printf "$ANSI_YELLOW[TRAVIS] Running matrix $thismatrix $ANSI_NOCOLOR\n"
eval blds='${'$thismatrix'}'
t=0; for thisbuild in $blds; do
- task "$t" "$thisbuild" "$ENABLECOLOR" &
+ task "$t" "$thisbuild" &
t=$(($t+1));
done
+#### Wait end of builds
+
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"
+
+#### Check results, disp logs
+
EXITCODE=0;
t=0; for b in $blds; do
+ workdir="../wrk-$t"
+ # Display log
+ printf "$ANSI_YELLOW[TRAVIS] Print BUILD $t log $ANSI_NOCOLOR\n"
+ cat $workdir/log.log
+
# Read the last line of the log
- RESULT[$t]=$(awk '/./{line=$0} END{print line}' "log_$t.log")
+ RESULT="$(tail -1 $workdir/log.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"
+ if [ "$RESULT" != "[$t|SUCCESSFUL]" ]; then
+ printf "$ANSI_RED[TRAVIS] BUILD $t failed $ANSI_NOCOLOR\n"
+ EXITCODE=1;
+ else
+ cp $workdir/ghdl-*.tgz .
+ fi
t=$(($t+1));
done
-# The exit code indicates the last broken build (1:bnum)
-exit $EXITCODE \ No newline at end of file
+exit $EXITCODE
diff --git a/dist/windows/appveyor/build.ps1 b/dist/windows/appveyor/build.ps1
index 844bfba9a..2421bd16d 100644
--- a/dist/windows/appveyor/build.ps1
+++ b/dist/windows/appveyor/build.ps1
@@ -46,12 +46,65 @@ function Restore-NativeCommandStream
}
}
-Write-Host "Building GHDL and libraries..." -Foreground Yellow
-cd $env:GHDL_BUILD_DIR
+#### Environment
+
+$BUILD_DIRNAME = "$($env:BUILD_MINGW)-$($env:BUILD_BACKEND)"
+$GHDL_BUILD_DIR = "$($env:APPVEYOR_BUILD_FOLDER)\build\$BUILD_DIRNAME"
+
+if ($env:APPVEYOR_REPO_TAG -eq "true")
+{
+ $PREFIX_DIRNAME = "$($env:APPVEYOR_REPO_TAG_NAME)-$BUILD_DIRNAME"
+}
+else
+{
+ $PREFIX_DIRNAME = "$($env:APPVEYOR_BUILD_VERSION)-$BUILD_DIRNAME"
+}
+
+$GHDL_PREFIX_DIR = "c:/Tools/GHDL/$PREFIX_DIRNAME"
+$ZipFile = "ghdl-$PREFIX_DIRNAME.zip"
+
+$env:GHDL_BUILD_DIR = $GHDL_BUILD_DIR
+$env:GHDL_PREFIX_DIR = $GHDL_PREFIX_DIR
+
+#### Build
+
+mkdir $GHDL_BUILD_DIR | cd
+
+if ($env:BUILD_BACKEND -eq "mcode")
+{ Write-Host "Configuring GHDL for $($env:BUILD_MINGW), mcode..." -Foreground Yellow
+
+ c:\msys64\usr\bin\bash.exe -c "../../configure --prefix=$GHDL_PREFIX_DIR LDFLAGS=-static" 2>&1 | Restore-NativeCommandStream | %{ "$_" }
+}
+elseif ($env:BUILD_BACKEND -eq "llvm")
+{ Write-Host "Configuring GHDL for $($env:BUILD_MINGW), LLVM..." -Foreground Yellow
+
+ c:\msys64\usr\bin\bash.exe -c "../../configure --prefix=$GHDL_PREFIX_DIR --with-llvm-config LDFLAGS=-static CXX=g++" 2>&1 | Restore-NativeCommandStream | %{ "$_" }
+}
+
+Write-Host "Building GHDL and libraries..." -Foreground Yellow
c:\msys64\usr\bin\make.exe 2>&1 | Restore-NativeCommandStream | %{ "$_" }
$Err = $LastExitCode
+if ($Err -eq 0)
+{
+ Write-Host "Installing GHDL and libraries..." -Foreground Yellow
+ c:\msys64\usr\bin\make.exe install 2>&1 | Restore-NativeCommandStream | %{ "$_" }
+ $Err = $LastExitCode
+}
+
+#### Binaries
+
+if ($Err -eq 0)
+{
+ Write-Host "Building binary archives..." -Foreground Yellow
+ cd c:\Tools
+ 7z a "$($env:APPVEYOR_BUILD_FOLDER)\$ZipFile" -r "GHDL\$PREFIX_DIRNAME\"
+
+ cd $env:APPVEYOR_BUILD_FOLDER
+ Push-AppveyorArtifact $ZipFile
+}
+
cd $env:APPVEYOR_BUILD_FOLDER
exit $Err
diff --git a/dist/windows/appveyor/configure.ps1 b/dist/windows/appveyor/configure.ps1
deleted file mode 100644
index f7f3561af..000000000
--- a/dist/windows/appveyor/configure.ps1
+++ /dev/null
@@ -1,69 +0,0 @@
-function Restore-NativeCommandStream
-{ <#
- .SYNOPSIS
- This CmdLet gathers multiple ErrorRecord objects and reconstructs outputs
- as a single line.
-
- .DESCRIPTION
- This CmdLet collects multiple ErrorRecord objects and emits one String
- object per line.
- .PARAMETER InputObject
- A object stream is required as an input.
- .PARAMETER Indent
- Indentation string.
- #>
- [CmdletBinding()]
- param(
- [Parameter(ValueFromPipeline=$true)]
- $InputObject
- )
-
- begin
- { $LineRemainer = "" }
-
- process
- { if ($InputObject -is [System.Management.Automation.ErrorRecord])
- { if ($InputObject.FullyQualifiedErrorId -eq "NativeCommandError")
- { Write-Output $InputObject.ToString() }
- elseif ($InputObject.FullyQualifiedErrorId -eq "NativeCommandErrorMessage")
- { $NewLine = $LineRemainer + $InputObject.ToString()
- while (($NewLinePos = $NewLine.IndexOf("`n")) -ne -1)
- { Write-Output $NewLine.Substring(0, $NewLinePos)
- $NewLine = $NewLine.Substring($NewLinePos + 1)
- }
- $LineRemainer = $NewLine
- }
- }
- elseif ($InputObject -is [String])
- { Write-Output $InputObject }
- else
- { Write-Host "Unsupported object in pipeline stream" }
- }
-
- end
- { if ($LineRemainer -ne "")
- { Write-Output $LineRemainer }
- }
-}
-
-$GHDL_BUILD_DIR = "$($env:APPVEYOR_BUILD_FOLDER)\build\$($env:BUILD_MINGW)-$($env:BUILD_BACKEND)"
-$GHDL_PREFIX_DIR = "c:/Tools/GHDL/0.34-dev-$($env:BUILD_MINGW)-$($env:BUILD_BACKEND)"
-
-$env:GHDL_BUILD_DIR = $GHDL_BUILD_DIR
-$env:GHDL_PREFIX_DIR = $GHDL_PREFIX_DIR
-
-mkdir $GHDL_BUILD_DIR | cd
-
-if ($env:BUILD_BACKEND -eq "mcode")
-{ Write-Host "Configuring GHDL for $($env:BUILD_MINGW), mcode..." -Foreground Yellow
-
- c:\msys64\usr\bin\bash.exe -c "../../configure --prefix=$GHDL_PREFIX_DIR LDFLAGS=-static" 2>&1 | Restore-NativeCommandStream | %{ "$_" }
-}
-elseif ($env:BUILD_BACKEND -eq "llvm")
-{ Write-Host "Configuring GHDL for $($env:BUILD_MINGW), LLVM-3.5..." -Foreground Yellow
-
- c:\msys64\usr\bin\bash.exe -c "../../configure --prefix=$GHDL_PREFIX_DIR --with-llvm-config LDFLAGS=-static CXX=g++" 2>&1 | Restore-NativeCommandStream | %{ "$_" }
-}
-
-cd $env:APPVEYOR_BUILD_FOLDER
-exit 0
diff --git a/dist/windows/appveyor/setup.ps1 b/dist/windows/appveyor/setup.ps1
deleted file mode 100644
index 6f9b7459a..000000000
--- a/dist/windows/appveyor/setup.ps1
+++ /dev/null
@@ -1,59 +0,0 @@
-function Restore-NativeCommandStream
-{ <#
- .SYNOPSIS
- This CmdLet gathers multiple ErrorRecord objects and reconstructs outputs
- as a single line.
-
- .DESCRIPTION
- This CmdLet collects multiple ErrorRecord objects and emits one String
- object per line.
- .PARAMETER InputObject
- A object stream is required as an input.
- .PARAMETER Indent
- Indentation string.
- #>
- [CmdletBinding()]
- param(
- [Parameter(ValueFromPipeline=$true)]
- $InputObject
- )
-
- begin
- { $LineRemainer = "" }
-
- process
- { if ($InputObject -is [System.Management.Automation.ErrorRecord])
- { if ($InputObject.FullyQualifiedErrorId -eq "NativeCommandError")
- { Write-Output $InputObject.ToString() }
- elseif ($InputObject.FullyQualifiedErrorId -eq "NativeCommandErrorMessage")
- { $NewLine = $LineRemainer + $InputObject.ToString()
- while (($NewLinePos = $NewLine.IndexOf("`n")) -ne -1)
- { Write-Output $NewLine.Substring(0, $NewLinePos)
- $NewLine = $NewLine.Substring($NewLinePos + 1)
- }
- $LineRemainer = $NewLine
- }
- }
- elseif ($InputObject -is [String])
- { Write-Output $InputObject }
- else
- { Write-Host "Unsupported object in pipeline stream" }
- }
-
- end
- { if ($LineRemainer -ne "")
- { Write-Output $LineRemainer }
- }
-}
-
-Write-Host "Installing GHDL and libraries..." -Foreground Yellow
-cd $env:GHDL_BUILD_DIR
-c:\msys64\usr\bin\make.exe install 2>&1 | Restore-NativeCommandStream | %{ "$_" }
-
-cd c:\Tools
-7z a "$($env:APPVEYOR_BUILD_FOLDER)\ghdl-0.34-dev-$($env:BUILD_MINGW)-$($env:BUILD_BACKEND).zip" -r "GHDL\0.34-dev-$($env:BUILD_MINGW)-$($env:BUILD_BACKEND)\"
-
-cd $env:APPVEYOR_BUILD_FOLDER
-Push-AppveyorArtifact "ghdl-0.34-dev-$($env:BUILD_MINGW)-$($env:BUILD_BACKEND).zip"
-
-exit 0
diff --git a/dist/windows/appveyor/test.ps1 b/dist/windows/appveyor/test.ps1
index 7d427460a..65045f889 100644
--- a/dist/windows/appveyor/test.ps1
+++ b/dist/windows/appveyor/test.ps1
@@ -87,8 +87,6 @@ cd ..\..
$TestFramework = "VESTS"
Write-Host "Running VESTS tests..." -Foreground Yellow
-c:\msys64\mingw64\bin\gnatmake.exe get_entities 2>&1 | Restore-NativeCommandStream | %{ "$_" }
-
cd vests
$TestName = "VESTS test:" # {0}" -f $Directory