aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author1138-4EB <1138-4EB@users.noreply.github.com>2017-02-14 19:13:00 +0100
committertgingold <tgingold@users.noreply.github.com>2017-02-14 19:13:00 +0100
commitde9c5ceb7923a896b888656fdd1f1cd238b830e0 (patch)
tree09b247593cab5d1258b74d3dded8d3feb1e32a21
parentf7e455245d9d12f69e2bb8eb67a84c1961cc20f3 (diff)
downloadghdl-de9c5ceb7923a896b888656fdd1f1cd238b830e0.tar.gz
ghdl-de9c5ceb7923a896b888656fdd1f1cd238b830e0.tar.bz2
ghdl-de9c5ceb7923a896b888656fdd1f1cd238b830e0.zip
Replace travis-ci matrix with docker containers (#272)
* Extract tag declarations from <travis-ci.sh>. Rename it to <buildtest.sh> and allow to pass -b (BLD) and -f (PKG_FILE) as arguments. Save tag declarations in <travis-ci.sh>, with a different meaning now. Modify <.travis.yml> accordingly. * chmod +x ./dist/buildtest.sh. Can be removed bi changing permissions. * Replace travis builds with docker containers. ubu1404+llvm-3.5, ubu1204+llvm-3.8, ubu+mcode, fed+mcode and fed+llvm Add PKG_DTAG and SHORT_COMMIT after PKG_FILE, to avoid collisions. DOCKER_IMG used to set image to be used in docker build. <mv> is enough if the host dir is mounted in the container. Since multiple files are added, content in <dist> split to <dist/lin> and <dist/win>. Git depth set to 10 in <.travis.yml> * Fix paths lin/linux and win/windows. Remove '_compile'. Revome wrong placed old buildtest. Add conditional builds (3). Leave 2 fixed.
-rw-r--r--.travis.yml66
-rw-r--r--appveyor.yml12
-rw-r--r--dist/linux/buildtest.sh (renamed from dist/buildtest.sh)10
-rw-r--r--dist/linux/docker-buildtest.sh22
-rw-r--r--dist/linux/envs/fedora_llvm.sh2
-rw-r--r--dist/linux/envs/fedora_mcode.sh2
-rw-r--r--dist/linux/envs/ubuntu1204_llvm38.sh2
-rw-r--r--dist/linux/envs/ubuntu1404_llvm35.sh2
-rw-r--r--dist/linux/envs/ubuntu_mcode.sh2
-rwxr-xr-xdist/linux/travis-ci.sh12
-rwxr-xr-xdist/travis-ci.sh9
-rw-r--r--dist/windows/appveyor/build.ps1 (renamed from dist/appveyor/build.ps1)0
-rw-r--r--dist/windows/appveyor/configure.ps1 (renamed from dist/appveyor/configure.ps1)0
-rw-r--r--dist/windows/appveyor/info.ps1 (renamed from dist/appveyor/info.ps1)0
-rw-r--r--dist/windows/appveyor/install.ps1 (renamed from dist/appveyor/install.ps1)0
-rw-r--r--dist/windows/appveyor/setup.ps1 (renamed from dist/appveyor/setup.ps1)0
-rw-r--r--dist/windows/appveyor/shared.psm1 (renamed from dist/appveyor/shared.psm1)0
-rw-r--r--dist/windows/appveyor/test.ps1 (renamed from dist/appveyor/test.ps1)0
-rw-r--r--dist/windows/mcode/Makefile.in (renamed from dist/mcode/Makefile.in)0
-rw-r--r--dist/windows/mcode/README (renamed from dist/mcode/README)0
-rw-r--r--dist/windows/mcode/winbuild.bat (renamed from dist/mcode/winbuild.bat)0
-rw-r--r--dist/windows/mcode/winbuild.ps1 (renamed from dist/mcode/winbuild.ps1)0
-rw-r--r--dist/windows/mcode/windows/compile-ghdl.ps1 (renamed from dist/mcode/windows/compile-ghdl.ps1)0
-rw-r--r--dist/windows/mcode/windows/compile-libraries.ps1 (renamed from dist/mcode/windows/compile-libraries.ps1)0
-rw-r--r--dist/windows/mcode/windows/compile.bat (renamed from dist/mcode/windows/compile.bat)0
-rw-r--r--dist/windows/mcode/windows/complib.bat (renamed from dist/mcode/windows/complib.bat)0
-rw-r--r--dist/windows/mcode/windows/default_pathes.ads (renamed from dist/mcode/windows/default_pathes.ads)0
-rw-r--r--dist/windows/mcode/windows/elf_arch.ads (renamed from dist/mcode/windows/elf_arch.ads)0
-rw-r--r--dist/windows/mcode/windows/ghdl.nsi (renamed from dist/mcode/windows/ghdl.nsi)0
-rw-r--r--dist/windows/mcode/windows/ghdlfilter.adb (renamed from dist/mcode/windows/ghdlfilter.adb)0
-rwxr-xr-xdist/windows/mcode/windows/ghdlversion.adb (renamed from dist/mcode/windows/ghdlversion.adb)0
-rw-r--r--dist/windows/mcode/windows/grt-backtraces-impl.ads (renamed from dist/mcode/windows/grt-backtraces-impl.ads)0
-rw-r--r--dist/windows/mcode/windows/grt-modules.adb (renamed from dist/mcode/windows/grt-modules.adb)0
-rw-r--r--dist/windows/mcode/windows/ortho_code-x86-flags.ads (renamed from dist/mcode/windows/ortho_code-x86-flags.ads)0
-rw-r--r--dist/windows/mcode/windows/shared.psm1 (renamed from dist/mcode/windows/shared.psm1)0
-rw-r--r--dist/windows/mcode/windows/targets.psm1 (renamed from dist/mcode/windows/targets.psm1)0
-rw-r--r--dist/windows/mcode/windows/windows_default_path.adb (renamed from dist/mcode/windows/windows_default_path.adb)0
-rw-r--r--dist/windows/mcode/windows/windows_default_path.ads (renamed from dist/mcode/windows/windows_default_path.ads)0
38 files changed, 86 insertions, 55 deletions
diff --git a/.travis.yml b/.travis.yml
index fe11b6252..68646c20e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,51 +1,41 @@
-language: c
branches:
except:
- appveyor
-matrix:
- include:
- - os: linux
- sudo: required
- dist: trusty
- env: BLD=llvm-3.5
- before_install:
- - sudo apt-get update -qq
- - sudo apt-get install -y gnat-4.8 zlib1g-dev
- - sudo apt-get install -y llvm-3.5-dev llvm-3.5-tools libedit-dev
- - os: linux
- sudo: false
- dist: precise
- env:
- - BLD=llvm-3.8
- addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- - llvm-toolchain-precise-3.8
- packages:
- - gnat-6
- - libstdc++-6-dev
- - clang-3.8
- - llvm-3.8-dev
- - zlib1g-dev
- - libedit-dev
- - os: linux
- sudo: false
- env: BLD=mcode
- addons:
- apt:
- packages:
- - gnat
+
+language: c
+os: linux
+sudo: required
+install: true
+services: docker
+
+env:
+ - THISENV="ubuntu1404_llvm35" && BUILDTHIS=
+ - THISENV="ubuntu1204_llvm38" && BUILDTHIS=
+ - THISENV="fedora_mcode" && BUILDTHIS=
+ - THISENV="ubuntu_mcode" && BUILDTHIS=1
+ - THISENV="fedora_llvm" && BUILDTHIS=1
+
+before_script:
+ - DONTGRAB_SRCS=$CI
+ - eval ". ./dist/linux/envs/$THISENV.sh"
+ - . ./dist/linux/travis-ci.sh
+
script:
- - . ./dist/travis-ci.sh
- - chmod +x ./dist/buildtest.sh && ./dist/buildtest.sh -b $BLD -f $PKG_FILE
+ - if [ -n "$BUILDTHIS" ]; then . ./dist/linux/docker-buildtest.sh; fi
+
+git:
+ depth: 10
+#Please note that if you use a depth of 1 and have a queue of jobs, Travis CI won’t build commits that are in the queue when you push a new commit.
+
deploy:
+# overwrite: true
provider: releases
skip_cleanup: true
api_key:
secure: k1Idw3l/35mms1mESpO+5TmA2Kmf0UlMsxjgQiWikYu6va6icJjTzCHv6d3YjF6tzkouZZa74Gep22gg46uDWU6wtcBYq5X2IxEX1U3iRxi5CNXL77ZaYdj9Nn69cNImjGPqigJMJLOuIPi31ENlxgO83U07VYE1cV603+spvxw3a1TynrBIjdugiVMIFctrmt/zTIt/jBG1oQNLPdVTRFavnjpsFlnIcO5DvHvKxoDEpF3WwPcDr6h/bmnFZSfr8Sr2pptQU1S6qtHaLJPwg8w1f93nxr1LEK2MR8eVfS5XSEVC8nBZJHksdlwx/iiGyWEqEeXLXpoaHAO3aqkhjsMA1+mKbwtHjT7WBNWorKfmQP3ZTShhksPa+oBFitC33gXGCNCFMWSVdXrTIKIN8m//KSc3VTbxHL10afO9lCD955bZi1cpFZiE471BBXDxpN9Nv+1tV7RO7e6gm+94n9CYYkdCHcFK4hj0gGXDOQlUEEmZj4vAiwaDWfByfHxDNClT3rJ8tAm9BFjdDOI54NlA15/nyx+00Kw0FEZqvIemeMsCpz4Ril2bL8BZtwYm8e5sygqgdGODtRT5Q0hbHO2fuMpth4gvGGHraGlmH1Rez5BSnUsWVSQxV4Z+9/VZtQOK6HdfbbB8dd9SlOuEN1M9EqqEHBxdvHBkoMZy1uk=
file_glob: true
- file: "ghdl-*-$BLD-*.tgz"
+ file: "$PKG_FILE"
on:
tags: true
all_branches: true
+
diff --git a/appveyor.yml b/appveyor.yml
index f30e0b04f..ddb40d297 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -44,20 +44,20 @@ init:
# installation scripts to run
install:
- - ps: .\dist\appveyor\install.ps1
- - ps: .\dist\appveyor\info.ps1
+ - ps: .\dist\windows\appveyor\install.ps1
+ - ps: .\dist\windows\appveyor\info.ps1
# Build flow
# --------------------------------------
# scripts to run before builds
before_build:
- - ps: .\dist\appveyor\configure.ps1
+ - ps: .\dist\windows\appveyor\configure.ps1
# Disable MSBuild
build: off
# build scripts to run
build_script:
- - ps: .\dist\appveyor\build.ps1
+ - ps: .\dist\windows\appveyor\build.ps1
# scripts to run after builds
#after_build:
@@ -66,11 +66,11 @@ build_script:
# --------------------------------------
# scripts to run before tests
before_test:
- - ps: .\dist\appveyor\setup.ps1
+ - ps: .\dist\windows\appveyor\setup.ps1
# test scripts to run
test_script:
- - ps: .\dist\appveyor\test.ps1
+ - ps: .\dist\windows\appveyor\test.ps1
# scripts to run after tests
#after_test:
diff --git a/dist/buildtest.sh b/dist/linux/buildtest.sh
index 5d011e50a..884a30cb8 100644
--- a/dist/buildtest.sh
+++ b/dist/linux/buildtest.sh
@@ -31,7 +31,11 @@ case "$BLD" in
../configure --prefix="$prefix"
MAKEOPTS=""
;;
-
+
+ llvm)
+ ../configure --prefix="$prefix$" --with-llvm-config
+ ;;
+
llvm-3.5)
../configure --prefix="$prefix" --with-llvm-config=llvm-config-3.5
MAKEOPTS="CXX=clang++"
@@ -41,6 +45,8 @@ case "$BLD" in
../configure --prefix="$prefix" --with-llvm-config=llvm-config-3.8
MAKEOPTS="CXX=clang++-3.8"
;;
+
+ docker) echo "Check docker container!"; exit 0;;
*)
echo "unknown build $BLD"
@@ -62,4 +68,4 @@ export GHDL="$CDIR/install-$BLD/bin/ghdl"
cd testsuite
gnatmake get_entities
./testsuite.sh
-cd ..
+cd .. \ No newline at end of file
diff --git a/dist/linux/docker-buildtest.sh b/dist/linux/docker-buildtest.sh
new file mode 100644
index 000000000..5c921b18e
--- /dev/null
+++ b/dist/linux/docker-buildtest.sh
@@ -0,0 +1,22 @@
+set -ev
+
+docker pull "$DOCKER_IMG"
+
+if [ -z "$DONTGRAB_SRCS" ]; then
+
+ 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"
+
+ docker run --name ghdl_cmp -it "$DOCKER_IMG" sh -c "$p && sh ./dist/linux/buildtest.sh -b $DBLD -f $PKG_FILE"
+ docker cp "ghdl_cmp:/work/$PKG_FILE" ./
+
+else
+
+ docker run --name ghdl_cmp -itv $(pwd):/work:Z "$DOCKER_IMG" sh -c "cd /work && sh ./dist/linux/buildtest.sh -b $DBLD -f $PKG_FILE"
+
+fi
+
+docker rm ghdl_cmp
+
+
diff --git a/dist/linux/envs/fedora_llvm.sh b/dist/linux/envs/fedora_llvm.sh
new file mode 100644
index 000000000..c44857c51
--- /dev/null
+++ b/dist/linux/envs/fedora_llvm.sh
@@ -0,0 +1,2 @@
+BLD=fed+llvm
+DOCKER_IMG="ghdl/ghdl-tools:fedora-llvm-mcode" \ No newline at end of file
diff --git a/dist/linux/envs/fedora_mcode.sh b/dist/linux/envs/fedora_mcode.sh
new file mode 100644
index 000000000..3ddb515bf
--- /dev/null
+++ b/dist/linux/envs/fedora_mcode.sh
@@ -0,0 +1,2 @@
+BLD=fed+mcode
+DOCKER_IMG="ghdl/ghdl-tools:fedora-llvm-mcode" \ No newline at end of file
diff --git a/dist/linux/envs/ubuntu1204_llvm38.sh b/dist/linux/envs/ubuntu1204_llvm38.sh
new file mode 100644
index 000000000..5f68d2ab0
--- /dev/null
+++ b/dist/linux/envs/ubuntu1204_llvm38.sh
@@ -0,0 +1,2 @@
+BLD=ubu1204+llvm-3.8
+DOCKER_IMG="ghdl/ghdl-tools:ubuntu1204-llvm" \ No newline at end of file
diff --git a/dist/linux/envs/ubuntu1404_llvm35.sh b/dist/linux/envs/ubuntu1404_llvm35.sh
new file mode 100644
index 000000000..bf4baf236
--- /dev/null
+++ b/dist/linux/envs/ubuntu1404_llvm35.sh
@@ -0,0 +1,2 @@
+BLD=ubu1404+llvm-3.5
+DOCKER_IMG="ghdl/ghdl-tools:ubuntu1404-llvm" \ No newline at end of file
diff --git a/dist/linux/envs/ubuntu_mcode.sh b/dist/linux/envs/ubuntu_mcode.sh
new file mode 100644
index 000000000..e6f7c3232
--- /dev/null
+++ b/dist/linux/envs/ubuntu_mcode.sh
@@ -0,0 +1,2 @@
+BLD=ubu+mcode
+DOCKER_IMG="ghdl/ghdl-tools:ubuntu-mcode" \ No newline at end of file
diff --git a/dist/linux/travis-ci.sh b/dist/linux/travis-ci.sh
new file mode 100755
index 000000000..1b683833c
--- /dev/null
+++ b/dist/linux/travis-ci.sh
@@ -0,0 +1,12 @@
+IFS='+' read -ra REFS <<< "$BLD"
+
+DBLD=${REFS[1]}
+PKG_DTAG=${REFS[0]}
+PKG_SHORTCOMMIT="$(echo $TRAVIS_COMMIT | cut -c1-10)"
+PKG_VER=`grep Ghdl_Ver src/version.in | sed -e 's/.*"\(.*\)";/\1/'`
+PKG_TAG="$TRAVIS_TAG"
+
+if [ -z "$BUILDTHIS" ]; then BUILDTHIS=$(echo "$TRAVIS_TAG"); fi
+if [ -z "$TRAVIS_TAG" ]; then PKG_TAG=`date -u +%Y%m%d`; fi
+
+export PKG_FILE="ghdl-$PKG_VER-$DBLD-$PKG_TAG-$PKG_DTAG-$PKG_SHORTCOMMIT.tgz" \ No newline at end of file
diff --git a/dist/travis-ci.sh b/dist/travis-ci.sh
deleted file mode 100755
index f3c34ae3d..000000000
--- a/dist/travis-ci.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-PKG_VER=`grep Ghdl_Ver src/version.in | sed -e 's/.*"\(.*\)";/\1/'`
-
-if [ "$TRAVIS_TAG" = "" ]; then
- PKG_TAG=`date -u +%Y%m%d`
-else
- PKG_TAG="$TRAVIS_TAG"
-fi
-
-export PKG_FILE="ghdl-$PKG_VER-$BLD-$PKG_TAG.tgz"
diff --git a/dist/appveyor/build.ps1 b/dist/windows/appveyor/build.ps1
index 4f1de95d2..4f1de95d2 100644
--- a/dist/appveyor/build.ps1
+++ b/dist/windows/appveyor/build.ps1
diff --git a/dist/appveyor/configure.ps1 b/dist/windows/appveyor/configure.ps1
index 7f85cfcba..7f85cfcba 100644
--- a/dist/appveyor/configure.ps1
+++ b/dist/windows/appveyor/configure.ps1
diff --git a/dist/appveyor/info.ps1 b/dist/windows/appveyor/info.ps1
index 675bbe77e..675bbe77e 100644
--- a/dist/appveyor/info.ps1
+++ b/dist/windows/appveyor/info.ps1
diff --git a/dist/appveyor/install.ps1 b/dist/windows/appveyor/install.ps1
index bcff78ac8..bcff78ac8 100644
--- a/dist/appveyor/install.ps1
+++ b/dist/windows/appveyor/install.ps1
diff --git a/dist/appveyor/setup.ps1 b/dist/windows/appveyor/setup.ps1
index 6f9b7459a..6f9b7459a 100644
--- a/dist/appveyor/setup.ps1
+++ b/dist/windows/appveyor/setup.ps1
diff --git a/dist/appveyor/shared.psm1 b/dist/windows/appveyor/shared.psm1
index 3335182ff..3335182ff 100644
--- a/dist/appveyor/shared.psm1
+++ b/dist/windows/appveyor/shared.psm1
diff --git a/dist/appveyor/test.ps1 b/dist/windows/appveyor/test.ps1
index a28186285..a28186285 100644
--- a/dist/appveyor/test.ps1
+++ b/dist/windows/appveyor/test.ps1
diff --git a/dist/mcode/Makefile.in b/dist/windows/mcode/Makefile.in
index beb450a08..beb450a08 100644
--- a/dist/mcode/Makefile.in
+++ b/dist/windows/mcode/Makefile.in
diff --git a/dist/mcode/README b/dist/windows/mcode/README
index 1e591b0b5..1e591b0b5 100644
--- a/dist/mcode/README
+++ b/dist/windows/mcode/README
diff --git a/dist/mcode/winbuild.bat b/dist/windows/mcode/winbuild.bat
index 670b77d1e..670b77d1e 100644
--- a/dist/mcode/winbuild.bat
+++ b/dist/windows/mcode/winbuild.bat
diff --git a/dist/mcode/winbuild.ps1 b/dist/windows/mcode/winbuild.ps1
index 230213fcc..230213fcc 100644
--- a/dist/mcode/winbuild.ps1
+++ b/dist/windows/mcode/winbuild.ps1
diff --git a/dist/mcode/windows/compile-ghdl.ps1 b/dist/windows/mcode/windows/compile-ghdl.ps1
index 2938683db..2938683db 100644
--- a/dist/mcode/windows/compile-ghdl.ps1
+++ b/dist/windows/mcode/windows/compile-ghdl.ps1
diff --git a/dist/mcode/windows/compile-libraries.ps1 b/dist/windows/mcode/windows/compile-libraries.ps1
index da2b29c09..da2b29c09 100644
--- a/dist/mcode/windows/compile-libraries.ps1
+++ b/dist/windows/mcode/windows/compile-libraries.ps1
diff --git a/dist/mcode/windows/compile.bat b/dist/windows/mcode/windows/compile.bat
index 0c0e33153..0c0e33153 100644
--- a/dist/mcode/windows/compile.bat
+++ b/dist/windows/mcode/windows/compile.bat
diff --git a/dist/mcode/windows/complib.bat b/dist/windows/mcode/windows/complib.bat
index bdd062b67..bdd062b67 100644
--- a/dist/mcode/windows/complib.bat
+++ b/dist/windows/mcode/windows/complib.bat
diff --git a/dist/mcode/windows/default_pathes.ads b/dist/windows/mcode/windows/default_pathes.ads
index 29fe8a3a5..29fe8a3a5 100644
--- a/dist/mcode/windows/default_pathes.ads
+++ b/dist/windows/mcode/windows/default_pathes.ads
diff --git a/dist/mcode/windows/elf_arch.ads b/dist/windows/mcode/windows/elf_arch.ads
index 325c4e5e3..325c4e5e3 100644
--- a/dist/mcode/windows/elf_arch.ads
+++ b/dist/windows/mcode/windows/elf_arch.ads
diff --git a/dist/mcode/windows/ghdl.nsi b/dist/windows/mcode/windows/ghdl.nsi
index 5b21aeaa6..5b21aeaa6 100644
--- a/dist/mcode/windows/ghdl.nsi
+++ b/dist/windows/mcode/windows/ghdl.nsi
diff --git a/dist/mcode/windows/ghdlfilter.adb b/dist/windows/mcode/windows/ghdlfilter.adb
index d75526dbd..d75526dbd 100644
--- a/dist/mcode/windows/ghdlfilter.adb
+++ b/dist/windows/mcode/windows/ghdlfilter.adb
diff --git a/dist/mcode/windows/ghdlversion.adb b/dist/windows/mcode/windows/ghdlversion.adb
index d2f1c28be..d2f1c28be 100755
--- a/dist/mcode/windows/ghdlversion.adb
+++ b/dist/windows/mcode/windows/ghdlversion.adb
diff --git a/dist/mcode/windows/grt-backtraces-impl.ads b/dist/windows/mcode/windows/grt-backtraces-impl.ads
index 81db677ed..81db677ed 100644
--- a/dist/mcode/windows/grt-backtraces-impl.ads
+++ b/dist/windows/mcode/windows/grt-backtraces-impl.ads
diff --git a/dist/mcode/windows/grt-modules.adb b/dist/windows/mcode/windows/grt-modules.adb
index de5eb79b8..de5eb79b8 100644
--- a/dist/mcode/windows/grt-modules.adb
+++ b/dist/windows/mcode/windows/grt-modules.adb
diff --git a/dist/mcode/windows/ortho_code-x86-flags.ads b/dist/windows/mcode/windows/ortho_code-x86-flags.ads
index 8915f3122..8915f3122 100644
--- a/dist/mcode/windows/ortho_code-x86-flags.ads
+++ b/dist/windows/mcode/windows/ortho_code-x86-flags.ads
diff --git a/dist/mcode/windows/shared.psm1 b/dist/windows/mcode/windows/shared.psm1
index 20aa5d7da..20aa5d7da 100644
--- a/dist/mcode/windows/shared.psm1
+++ b/dist/windows/mcode/windows/shared.psm1
diff --git a/dist/mcode/windows/targets.psm1 b/dist/windows/mcode/windows/targets.psm1
index 813873482..813873482 100644
--- a/dist/mcode/windows/targets.psm1
+++ b/dist/windows/mcode/windows/targets.psm1
diff --git a/dist/mcode/windows/windows_default_path.adb b/dist/windows/mcode/windows/windows_default_path.adb
index c627356f9..c627356f9 100644
--- a/dist/mcode/windows/windows_default_path.adb
+++ b/dist/windows/mcode/windows/windows_default_path.adb
diff --git a/dist/mcode/windows/windows_default_path.ads b/dist/windows/mcode/windows/windows_default_path.ads
index 9da3be559..9da3be559 100644
--- a/dist/mcode/windows/windows_default_path.ads
+++ b/dist/windows/mcode/windows/windows_default_path.ads