forked from dasch-swiss/dsp-api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
95 lines (85 loc) · 5.52 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
dist: trusty
sudo: required
addons:
chrome: stable
git:
depth: 1
language: scala
scala:
- 2.12.1
jdk:
- oraclejdk8
services:
- docker
env:
global:
- secure: "Sj0D8wR3Vx0J0h+LBUIh9t1PWjLJ2NEiKILf3JO5nuGdlU7dPhbFomR4w08q85O4d60km38ml7zpapC4noDQnbAFQHC6XeOe5CWPYFXCxkw7ueBoxhy/vkfSzypXp0UTNUX3S7+RcGJcTxLaZcUC9u+UaoWB0LMkmOcIlrKIDuzm3HcefMsml8gYX1xhS2TQJ8P7ZerzBmm0kERYLUabhxTnj5WAvue0d1xbUtzCzT1LpignOfsUZ9kHTagQEA15JsU0iNrMCvlDcxRWj8OzLhHRoHui4bJPQQfKEA8oMnTkPyzBRLmqafqHvmGcNQp9iGhuU04gb+FkF4gubBkLrxEvgTL/D5vIin3BHQvnZna9zSnUguZS+jw4sfEYcjZgYRzgMRPma/630ZM08FSZZ/qjSTCut4Cjua5aw2Vf9pYhf+Aad5rR0T2JmVYKp6Ik92aLhPOF9U40MacKRPPT54RIjCYcakZlmU4vl+kK37l3sYjvD57LeSs3PlqvkpSxwJzaQDhZFOZ+c7ICo+zU7DcQnWkN7k+ErKBOE7r0mIqvYuBYhdteBVKfo8a4rpDzYJDXaWzBdjc8ZKiEFQvFHngnZjR2UtKc0CAc6Y7ieCWIvBZYdMoHhKsBwFDaO1iuWwDLW3cswXaPEqENonlVAnXePu7KkQeB2acwDzPkhlI=" #DOCKER_USER
- secure: "iM3Wjt3f5yUaU16yKstwBEEFA8WKx8qcTVnOwF+o9+sooD1SZ39nYJDPgpHHNwFZ1aSkre5ATPEw+dfslr7SnnwYQeYHjYldcqudB+7pq4dmY5U3rCTsjZCH1XmLnnLO45CZRy05pIAUSxWpIiX5khWoHZd704UlDncqIU/6paWWNkywPb2P4UBZ5Xeai1NTS1URHRz0A4aD+dqwKS6P+baq4CyKLC/AqjsTDI+TV4C26FXXTgS0Ly9VfBVZ55D+SdVHgCZXJaHerAixjSX6zvenfkd/87GR6NEAgJ9QofF2nDEXBZZm4jPv5d285Cc4iUvRo1HLbI1VlALya3qUA9Prbno8QQaChNdjRS7mSplkCxZZKzBItpjvI009NPl20zX6GROb/JCjWHRZ4R358cebFKKqE4W1GBArS0piVbdqZyWA/t5KANouQIdrh+lepAf/Xq5JRcDP9r+Rk2hHLk2Rmj97gv001eRf9GjSEC1Qo1kwu1FabZok1UIemJHpY7yWO4d3ZKSOCyQ0WdW6rLMFGkouoByrFVfNPBVxLqDJ3YVL/4x5jc0Q9+G5jm6omqNwQSsn60nUizZJp1fuLGQRUNj8EDvRhxLgVkOJqFf4P/4qRas47k1wkWBk2iBlpNp2eQTY42IZovPIyT+NCfbdg0yyZRyHThpfc+KfTeg=" #DOCKER_PASS
- WEBAPI_REPO=dhlabbasel/webapi
- SALSAH_REPO=dhlabbasel/salsah
- SIPI_REPO=dhlabbasel/sipi
- COMMIT=${TRAVIS_COMMIT::8}
- TAG=${TRAVIS_BRANCH//\//-}
- DOCKERHOST=$(ip route get 8.8.8.8 | awk '{print $NF; exit}')
- CHROME_BIN=google-chrome-stable
cache:
directories:
- $HOME/.ivy2
jobs:
include:
- stage: test
script:
# start fuseki
- cd $TRAVIS_BUILD_DIR/triplestores/fuseki/ && ./fuseki-server &
# start the built-in webapi server tests
- cd $TRAVIS_BUILD_DIR/webapi/ && sbt test
- stage: test
script:
# start fuseki
- cd $TRAVIS_BUILD_DIR/triplestores/fuseki/ && ./fuseki-server &
# start the sipi container (with production config)
- docker run -d --add-host webapihost:$DOCKERHOST -v /tmp:/tmp -v $HOME:$HOME -p 1024:1024 $SIPI_REPO:develop
# start the integration tests
- cd $TRAVIS_BUILD_DIR/webapi/ && sbt fuseki-it:test
#- stage: webapi-graphdb
# script:
# # start graphdb
# - cd $TRAVIS_BUILD_DIR/triplestores/fuseki/ && ./fuseki-server &
# # start the built-in webapi server tests
# - cd $TRAVIS_BUILD_DIR/webapi/ && sbt test
#- stage: test
# script:
# #- "export DISPLAY=:99.0"
# #- "sh -e /etc/init.d/xvfb start"
# #- sleep 3 # give xvfb some time to start
# # start fuseki
# - cd $TRAVIS_BUILD_DIR/triplestores/fuseki/ && ./fuseki-server &
# # start the sipi container (with test config)
# - docker run -d --add-host webapihost:$DOCKERHOST -v /tmp:/tmp -v $HOME:$HOME -p 1024:1024 $SIPI_REPO:develop /sipi/local/bin/sipi --config=/sipi/config/sipi.knora-test-docker-config.lua
# # start the webapi and salsah server
# - cd $TRAVIS_BUILD_DIR/webapi/ && sbt "run allowResetTriplestoreContentOperationOverHTTP" &
# - cd $TRAVIS_BUILD_DIR/salsah/ && sbt run &
# # wait for the webapi server to start before we proceed with running the salsah tests
# - until netstat -an 2>/dev/null | grep '3333.*LISTEN'; do true; done
# # unzip chromedriver
# - cd $TRAVIS_BUILD_DIR/salsah/lib/chromedriver/ && unzip chromedriver_linux64.zip
# # start built-in salsah browser tests
# - cd $TRAVIS_BUILD_DIR/salsah/ && sbt headless:test
- stage: publish
script:
- docker login -u $DOCKER_USER -p $DOCKER_PASS
- docker build $TRAVIS_BUILD_DIR/webapi/ -t $WEBAPI_REPO:$COMMIT
- docker tag $WEBAPI_REPO:$COMMIT $WEBAPI_REPO:$TAG
# only push to docker if it is not a pull request
- if [ "$TRAVIS_EVENT_TYPE" != "pull_request" ]; then docker push $WEBAPI_REPO ; fi
- docker build $TRAVIS_BUILD_DIR/salsah/ -t $SALSAH_REPO:$COMMIT
- docker tag $SALSAH_REPO:$COMMIT $SALSAH_REPO:$TAG
# only push to docker if it is not a pull request
- if [ "$TRAVIS_EVENT_TYPE" != "pull_request" ]; then docker push $SALSAH_REPO ; fi
# get the develop sipi and tag it as 'develop-knora' so we know that this version is tested (only on the develop branch)
- docker pull $SIPI_REPO:develop
- if [ "$TAG" == "develop" ]; then docker tag $SIPI_REPO:develop $SIPI_REPO:knora-develop ; fi
- if [ "$TRAVIS_EVENT_TYPE" != "pull_request" ]; then docker push $SIPI_REPO ; fi
notifications:
slack:
secure: gaazomUbAB4q7bH2XOiZXqHvU2gd/X/jIRLAJW9vjcRbY6o48eiEdNXF2umraHG0q+5UUEJ5dfvxiPtC4PiUq8uD6J+R0fEWrWznYoIeEWEXjKxRxWplrWJ9Ke+PJb3wCV6cXBGMfxDpvYQbVjsy7n0aQmjNs4Drz+llqL5SilTdswTylwvUdufad0QaovXklL+p0w9vRHRKzQkYKa9phL10VcJa8TPI74tuFcTHnK6TcMNW6p0vzAaF6JVgzoRPzUgXnEPCw4pI8zqOF1ghPpQByNXKiYofPWt1yTFgb60LQarDEiHXunXAA/sf2gx616pWLVjDFGziXVzhiGUDUjM5I1p7hPyA2rTB63AAZustFcGeD+jbHNHIFhcvvCHVHjJfp8M7LrUR+MBqz5mJNi/9KgxyZ8I9Df28TxmKxGFaGW8t4PZdA75/49Hos0TqtIp5m+eo8mTksUJogEJJokRZUKraMBhC0cNCry0kp+EQ06F4usLoDyZTUar4OSuNSiymf+zwz6jZo8dF/cluRYellwewE9NJiNWGN4DiBhk2vGJ7OtWMDPkl1tqkG8npoqbT4s38esjxfa/XcworGfeqE+9mzugVzkIKIX2lB6QxZp0AKQVOiy7JwwdtcjVMLvceiNPEWfe8fhLMX02oqYz2uoibRmHMxKPa5CpmUIg=