This repository has been archived by the owner on Jun 13, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path.travis.yml
110 lines (98 loc) · 5.67 KB
/
.travis.yml
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
language: scala
dist: trusty
addons:
chrome: stable
apt:
# These are all scala-native dependencies. To find what othen dependencies
# are allowed and what are their sources, see
# https://docs.travis-ci.com/user/installing-dependencies/#Identifying-the-source-for-a-missing-package
sources:
- debian-sid
packages:
- clang-3.8=1:3.8-2ubuntu3~trusty5
- libllvm3.8v4=1:3.8-2ubuntu3~trusty5
- libclang-common-3.8-dev=1:3.8-2ubuntu3~trusty5
- libclang1-3.8=1:3.8-2ubuntu3~trusty5
- llvm-3.8=1:3.8-2ubuntu3~trusty5
- llvm-3.8-dev=1:3.8-2ubuntu3~trusty5
- llvm-3.8-runtime=1:3.8-2ubuntu3~trusty5
- libgc-dev=1:7.2d-5ubuntu2.1
- libunwind8
- libunwind8-dev
- make
scala:
- 2.11.11
# Tricks to avoid unnecessary cache updates, from
# http://www.scala-sbt.org/0.13/docs/Travis-CI-with-sbt.html
sudo: false
# Test the two most common implementations of Java 8, Oracle's and OpenJDK
jdk:
- oraclejdk8
- openjdk8
script:
# testing all code files have the correct copyright headers
- sbt headerCheck | tee headercheck.log; test $(grep "There are files without headers" headercheck.log | wc -l) = 0 && echo "No files without headers, continuing. For now, ignoring the 'Unable to auto detect project license' exception, it works well even if it's shown"
# checking formatting
- sbt "; scalafmt::test; sbt:scalafmt::test; test:scalafmt::test"
- ./runtests.sh /tmp/chromedriver_download/chromedriver /tmp/re2/usr
# <Comment>
# Tricks to avoid unnecessary cache updates, from
# http://www.scala-sbt.org/0.13/docs/Travis-CI-with-sbt.html
cache:
directories:
- $HOME/.ivy2/cache/
- $HOME/.sbt/boot/
- $HOME/.sbt/0.13/dependency
- $HOME/.sbt/launchers
- $HOME/.nvm
- /tmp/re2/
- /tmp/chromedriver_download/
before_cache:
# Cleanup the cached directories to avoid unnecessary cache updates
- find $HOME/.ivy2/cache -name "ivydata-*.properties" -print -delete
- find $HOME/.sbt -name "*.lock" -print -delete
- rm -rf /tmp/re2/.git
# </Comment>
before_script:
# launch a headlessX server where web browser tests will open its windows
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- sleep 3
before_install:
# Install chromedriver, used for executing tests with Google Chrome. We do
# this funny testing to see if the directory exists because if it exists it
# means that it has been restored from the cache and thus we should not have
# to do anything
- test -f /tmp/chromedriver_download/chromedriver || (rm -rf /tmp/chromedriver_download; mkdir /tmp/chromedriver_download && wget https://chromedriver.storage.googleapis.com/2.31/chromedriver_linux64.zip -O /tmp/chromedriver_download/chromedriver_linux64.zip && test $(sha256sum /tmp/chromedriver_download/chromedriver_linux64.zip | cut -d' ' -f1) = 3e372ef676beb3a03aba72089ec0624bb9d3b52597635f907d4c23390fb485a0 && unzip /tmp/chromedriver_download/chromedriver_linux64.zip -d /tmp/chromedriver_download && chmod 777 /tmp/chromedriver_download/chromedriver)
# install re2 like scala-native does but in /tmp so that it doesn't require
# sudo:
# https://github.com/scala-native/scala-native/blob/master/bin/travis_setup.sh
# We do this funny testing to see if the directory exists because if it exists
# it means that it has been restored from the cache and thus we should not
# have to do anything
- BACK=$(pwd); test -f /tmp/re2/usr/include/re2/re2.h || (rm -rf /tmp/re2; export CXX=clang++-3.8 && cd /tmp/ && git clone https://code.googlesource.com/re2 && cd re2 && git checkout e2deff36afd0a71adbf71cb11fba71ed2a407e4f && make -j4 test && make install prefix=/tmp/re2/usr/ && make testinstall prefix=/tmp/re2/usr/); cd $BACK
install:
# specify node.js version
- . $HOME/.nvm/nvm.sh
- nvm install 6.11.1
- nvm use 6.11.1
- npm install
after_success:
# Send coverage report to codecov
- bash <(curl -s https://codecov.io/bash)
notifications:
on_success: change
email:
recipients:
# generated using:
#
# gem install travis
# travis encrypt [email protected] -r nVotesOrg/scala-js-basic-example
#
# Read more in: https://docs.travis-ci.com/user/encryption-keys/
secure: "sudlB7XaEq3mMQ/jSJPtssQaTL9i6zrHpF4Xa0TKHX69nkSg7/Aq/Z37Qe4o1ABmTImHc/b5ipdGAxC5OCVuRazDdh7P7e24QFPETEsWdmVRVS3/6DGAYIbugA937Zw47LarK3v6OQJfGYcj1scRfRqDwrO4ngoIMawwFSo209COaniCPnGi7gAm/BNwZkS0PwdxQPSTNrZAgR5VKawoZHJZDosQE6CnpjFBnfa/JZDYfj/AIk0U7ygpRWiO5Rcndudc/jr69bz/6EpUcwwAQHg6RnzX2fCoCgyOVlzTPHNb3MUWV8CBe5EK20PSxijzRouY0zH0Mx9TQq9GIJrD75IJ8vYtdIutrfz9EX9sMS5grfnielxZleeQ6mXD6CrseVmL9RJFPXmZZay1uJ0fhg+w2Rc1wK7FaDgGLueKBSWUQmx79K93OsPhC/FqCUCsk6ua6lqtv2v6uBx54KJnU7pTTkgb+/lrMMOrDkR7qbvRt/613TqxehgK/zA+j4VKw+7XrViYUJ65iM0n6ljSbDbw5BZh9cssRY7vyXW4gTx4m9NiebXiTy8UZ2EJq9X/U+5T9KvcOpTBdKBxYrDHftZoSPb5itty3g4TwdCUA8dh7WunK4KBYdlWx6iLvY/5O0w6V3yDwoYluakp/MG5ioYnwk8kRQ0uYMc1qMriuPE="
env:
global:
# This is the CODECOV environment token, used by the script that sends the
# coverage report to codecov.io
secure: "qOBO+4Bd81kH+XYPfCOVxC+hmO3pYRbBSdcW9LpiKcJTDg5/0NNbfviVvAulzdoBFS+sAuh16r6tddeaqMfZsQ1q8lZKV6W9gXmupovUCHUb+KyOjJ0nNoNFkwnmQgNkFVjlrB8oWYpmXLpOTlij0eKIRx+HdAEA8/lyIkIynABUIxK4Viq9am7zoDyb+74YLt2IKYdOy7yKckWHdyf8Vuq65NvyMhcBzC4mVSJUPVwcjWbcIMN5VSSRuRZhGkjpcNOzc5dKBE2s86vJwcWNnmeySgS8RZDszI6KJDo8s5mgn/UwHWiaJ4S71z8EjcYowltzFrR+4oj510McNktDdMxmqmKNnuKi1T5slKBPdsMAK18nV3UJQrVO6w6wUMZyiqd2Z+tzs1C/1QR7ZCVNCX/7i/lYgqpIkEa4wDIBYccXwbxemswjp8fuK18LxXbM22a50TMwAkMSl8g5qWEb5kfn2eVhMfHmFppHhn3r4+pSlS4MvdcD9IEqZ3TyOgk1OO/iJHbkKGkSU1yYfYd6gpIAlV+vTk2tl4dtYhBHDb5HZKM7tyoAye29Eh+U1e1I6bjU6p8H4fcNlx6JahEBYrWJrLodF0CSRrmJD9IZ5hKzr11nWMQiZH+guuwosCmgdGM49xSoXjw8TesPbwGUOFvcEkkeqP2UkBRKLGaFgjc="