ejgallego/coq-serapi:.travis.yml@9773d09
dist: xenial
sudo: required
language: c
branches:
only:
- v8.8
- v8.9
- v8.10
- v8.11
- v8.12
- v8.13
cache:
apt: true
directories:
- $HOME/.opam
addons:
apt:
packages:
- gcc-multilib
env:
global:
- OPAMJOBS="2"
- OPAMROOTISOK="true"
- OPAMYES="true"
- NJOBS="2"
- COQ_REPOS="https://github.com/coq/coq.git"
- COQ_VERSION="v8.13"
- COQ_BRANCH="v8.13"
- COQ_CONF="-local -native-compiler no -coqide no"
- COMPILER="4.07.1"
- EXTRA_OPAM="coq.8.13.0 coq-mathcomp-ssreflect"
# - SERAPI_COQ_HOME="$HOME/coq-$COQ_VERSION/_build/install/default/lib/"
# Main test suites; SERAPI_COQ_HOME controls if opam is used or a
# git branch is installed.
matrix:
- TEST_TARGET="test" COMPILER="4.07.1"
- TEST_TARGET="test" COMPILER="4.08.1"
- TEST_TARGET="test" COMPILER="4.09.1"
- TEST_TARGET="test" COMPILER="4.10.1"
- TEST_TARGET="test" COMPILER="4.11.1"
- TEST_TARGET="js-dune" COMPILER="4.07.1+32bit" EXTRA_OPAM="coq.8.13.0 js_of_ocaml js_of_ocaml-lwt"
- TEST_TARGET="test" COMPILER="4.11.1" EXTRA_OPAM="dune" SERAPI_COQ_HOME="$HOME/coq-$COQ_VERSION/_build/install/default/lib/"
install:
- sudo curl -sL https://github.com/ocaml/opam/releases/download/2.0.7/opam-2.0.7-x86_64-linux -o /usr/bin/opam
- sudo chmod 755 /usr/bin/opam
- opam init -c "$COMPILER" --disable-sandboxing
- opam switch set "$COMPILER"
- eval $(opam env)
# OPAM 2 seems quite broken here
- opam repos add coq-released http://coq.inria.fr/opam/released
- opam config set-global jobs $NJOBS
- opam pin add -y -n --kind=path coq-serapi .
- opam install -y --deps-only -j $NJOBS coq-serapi
- opam pin remove coq-serapi
- opam list
- >
if [[ -v SERAPI_COQ_HOME ]]; then
opam install -y zarith &&
git clone --depth=3 -b "$COQ_BRANCH" "$COQ_REPOS" "$HOME/coq-$COQ_VERSION" &&
pushd "$HOME/coq-$COQ_VERSION" &&
make -f Makefile.dune world &&
popd;
PATH="$HOME/coq-$COQ_VERSION/_build/install/default/bin":$PATH &&
git clone --depth=3 -b master https://github.com/math-comp/math-comp.git &&
pushd math-comp/mathcomp/ssreflect &&
make && make install &&
popd;
fi
- if [[ -v EXTRA_OPAM ]]; then travis_wait opam install --ignore-constraints-on=coq $EXTRA_OPAM; fi
script:
- set -e
- echo 'Building SerAPI...' && echo -en 'travis_fold:start:serapi.build\\r'
- make -j "$NJOBS" SERAPI_COQ_HOME="$SERAPI_COQ_HOME" "$TEST_TARGET"
- ls -lR _build/install/default/ || true
- ls -lR _build/default/sertop/*.js || true
- echo -en 'travis_fold:end:serapi.build\\r'
Build Config
{
"os": [
"linux"
],
"env": {
"global": [
"TRAVIS_COMMIT_SHORT=\"$(echo $TRAVIS_COMMIT | cut -b1-7)\"",
"TRAVIS_COMMIT_LESSSHORT=\"$(echo $TRAVIS_COMMIT | cut -b1-9)\""
]
},
"dist": "xenial",
"group": "edge",
"matrix": {
"include": [
{
"name": "linux",
"stage": "test",
"addons": {
"artifacts": {
"paths": [
"./build/linux/amd64/gcloud-cleanup",
"./build/darwin/amd64/gcloud-cleanup",
"./build.tar.gz"
],
"enabled": true,
"target_paths": [
"travis-ci/gcloud-cleanup/$TRAVIS_BRANCH",
"travis-ci/gcloud-cleanup/$TRAVIS_COMMIT",
"travis-ci/gcloud-cleanup/$TRAVIS_COMMIT_SHORT",
"travis-ci/gcloud-cleanup/$TRAVIS_COMMIT_LESSSHORT"
]
}
},
"script": [
"make copyright",
"git diff --exit-code",
"git diff --cached --exit-code",
"make"
],
"after_success": [
"bash <(curl -s https://codecov.io/bash)",
"tar -czvf build.tar.gz build Procfile Makefile"
],
"before_script": [
"eval \"$(gimme 1.11.4)\""
]
},
{
"if": "type != 'pull_request'",
"name": "docker",
"addons": {
"apt": {
"packages": [
"docker-ce"
]
}
},
"script": [
"export DOCKER_IMAGE_REPO=travisci/gcloud-cleanup",
"export VERSION_VALUE=$(git describe --always --dirty --tags 2>/dev/null)",
"export DOCKER_DEST=$DOCKER_IMAGE_REPO:$VERSION_VALUE",
"docker build -t $DOCKER_DEST .",
"docker run --rm -it $DOCKER_DEST gcloud-cleanup --help",
"script/docker-push $DOCKER_DEST"
]
}
]
},
"language": "shell"
}