diff options
author | 2017-02-04 21:25:14 +0100 | |
---|---|---|
committer | 2017-02-07 10:25:58 +0100 | |
commit | 3e07baa69f1e7de02670dd20dd7577d70c2f2653 (patch) | |
tree | 3f9966ca9ceb7dc69edfbe78f35a448b2d4f023a | |
parent | 348160a1c59da5c448a56a2e2802865f94a40ddc (diff) |
[travis] [External CI] compcert HoTT math-comp
- Improve the setup to support external contribs.
We use a more minimalistic Coq build, gaining a few extra minutes.
- [math-comp] workaround `make -j` bug to enable parallel building.
-rw-r--r-- | .travis.yml | 78 | ||||
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | Makefile.contrib | 13 | ||||
-rwxr-xr-x | tools/ci/contrib-compcert.sh | 17 | ||||
-rwxr-xr-x | tools/ci/contrib-hott.sh | 13 | ||||
-rwxr-xr-x | tools/ci/contrib-math-comp.sh | 15 |
6 files changed, 124 insertions, 17 deletions
diff --git a/.travis.yml b/.travis.yml index f9d496563..ab59cf6bf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,31 +12,75 @@ addons: packages: - opam - aspcud - - libgtk2.0-dev - - libgtksourceview2.0-dev - - texlive-latex-base - - texlive-latex-recommended - - texlive-latex-extra - - texlive-math-extra - - texlive-fonts-recommended - - texlive-fonts-extra - - latex-xcolor - - ghostscript - - transfig - - imagemagick env: global: - NJOBS=1 + - COMPILER="4.02.3" + # Main test suites matrix: - - TEST_TARGET="validate" TW="travis_wait" - - TEST_TARGET="test-suite" TW="" + - TEST_TARGET="validate" TW="travis_wait" + - TEST_TARGET="contrib-hott" + - TEST_TARGET="contrib-math-comp" + - TEST_TARGET="contrib-compcert" + +matrix: + # Extra is Full COQ build and test-suite with two compilers + include: + - env: + - TEST_TARGET="test-suite" + - EXTRA_CONF="-coqide opt -with-doc yes" + - EXTRA_OPAM="lablgtk-extras hevea" + addons: + apt: + sources: + - avsm + packages: + - opam + - aspcud + - libgtk2.0-dev + - libgtksourceview2.0-dev + - texlive-latex-base + - texlive-latex-recommended + - texlive-latex-extra + - texlive-math-extra + - texlive-fonts-recommended + - texlive-fonts-extra + - latex-xcolor + - ghostscript + - transfig + - imagemagick + - env: + - TEST_TARGET="test-suite" + - COMPILER="4.04.0" + - EXTRA_CONF="-coqide opt -with-doc yes" + - EXTRA_OPAM="lablgtk-extras hevea" + addons: + apt: + sources: + - avsm + packages: + - opam + - aspcud + - libgtk2.0-dev + - libgtksourceview2.0-dev + - texlive-latex-base + - texlive-latex-recommended + - texlive-latex-extra + - texlive-math-extra + - texlive-fonts-recommended + - texlive-fonts-extra + - latex-xcolor + - ghostscript + - transfig + - imagemagick + install: -- "[ -e .opam ] || opam init -j ${NJOBS} --compiler=4.02.3 -n -y" +- "[ -e .opam ] || opam init -j ${NJOBS} --compiler=${COMPILER} -n -y" - eval $(opam config env) - opam config var root -- opam install -j ${NJOBS} -y camlp5 ocamlfind lablgtk-extras hevea +- opam install -j ${NJOBS} -y camlp5 ocamlfind ${EXTRA_OPAM} - opam list script: -- ./configure -local -usecamlp5 -native-compiler yes -coqide opt -with-doc yes +- ./configure -local -usecamlp5 -native-compiler yes ${EXTRA_CONF} - make -j ${NJOBS} - ${TW} make -j ${NJOBS} ${TEST_TARGET} @@ -246,6 +246,11 @@ devdocclean: rm -f $(OCAMLDOCDIR)/html/*.html ########################################################################### +# Contrib tests +########################################################################### +include Makefile.contrib + +########################################################################### # Emacs tags ########################################################################### diff --git a/Makefile.contrib b/Makefile.contrib new file mode 100644 index 000000000..2e3ed94c5 --- /dev/null +++ b/Makefile.contrib @@ -0,0 +1,13 @@ +.PHONY: contrib-all contrib-hott contrib-math-comp + +contrib-all: contrib-hott contrib-math-comp + +# TODO Do generic rule +contrib-hott: + ./tools/ci/contrib-hott.sh + +contrib-math-comp: + ./tools/ci/contrib-math-comp.sh + +contrib-compcert: + ./tools/ci/contrib-compcert.sh diff --git a/tools/ci/contrib-compcert.sh b/tools/ci/contrib-compcert.sh new file mode 100755 index 000000000..416e28325 --- /dev/null +++ b/tools/ci/contrib-compcert.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# Proof of concept contrib build script. + +set -xe + +export PATH=`pwd`/bin:$PATH +ls `pwd`/bin + +opam install -j ${NJOBS} -y menhir +git clone --depth 3 -b coq-8.6 https://github.com/maximedenes/CompCert.git + +pushd CompCert +# Patch to avoid the upper version limit +sed -i.bak 's/8.6)/8.6|trunk)/' configure +./configure x86_32-linux && make -j ${NJOBS} +popd diff --git a/tools/ci/contrib-hott.sh b/tools/ci/contrib-hott.sh new file mode 100755 index 000000000..35af76ceb --- /dev/null +++ b/tools/ci/contrib-hott.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Proof of concept contrib build script. + +set -xe + +export PATH=`pwd`/bin:$PATH + +git clone --depth 3 -b mz-8.6 https://github.com/ejgallego/HoTT.git + +pushd HoTT +./autogen.sh && ./configure && make -j ${NJOBS} +popd diff --git a/tools/ci/contrib-math-comp.sh b/tools/ci/contrib-math-comp.sh new file mode 100755 index 000000000..39a92a2d8 --- /dev/null +++ b/tools/ci/contrib-math-comp.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# Proof of concept contrib build script. + +set -xe + +export PATH=`pwd`/bin:$PATH + +git clone --depth 3 https://github.com/math-comp/math-comp.git + +# odd_order takes too much time for travis. +( cd math-comp/mathcomp && \ + sed -i.bak '/PFsection/d' Make && \ + sed -i.bak '/stripped_odd_order_theorem/d' Make && \ + make Makefile.coq && make -f Makefile.coq -j ${NJOBS} all ) |