forked from cloudfoundry/app-autoscaler
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
110 lines (104 loc) · 6.24 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
os: linux
dist: xenial
env:
global:
- NODE_VERSION=6.2
- GO_VERSION=1.15.1
- LOGLEVEL=info
language: java
cache:
directories:
- $HOME/.m2
jdk:
- openjdk8
services:
- postgresql
addons:
postgresql: "9.6"
before_install:
- source .envrc
install:
- mvn package
- npm install npm@latest -g
- nvm install $NODE_VERSION --silent
- eval "$(gimme $GO_VERSION)"
- go install github.com/onsi/ginkgo/ginkgo
before_script:
- nvm use $NODE_VERSION
- psql -c 'CREATE DATABASE autoscaler' -U postgres
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:postgresql://127.0.0.1/autoscaler --driver=org.postgresql.Driver --changeLogFile=api/db/api.db.changelog.yml update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:postgresql://127.0.0.1/autoscaler --driver=org.postgresql.Driver --changeLogFile=servicebroker/db/servicebroker.db.changelog.json update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:postgresql://127.0.0.1/autoscaler --driver=org.postgresql.Driver --changeLogFile=scheduler/db/scheduler.changelog-master.yaml update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:postgresql://127.0.0.1/autoscaler --driver=org.postgresql.Driver --changeLogFile=scheduler/db/quartz.changelog-master.yaml update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:postgresql://127.0.0.1/autoscaler --driver=org.postgresql.Driver --changeLogFile=src/autoscaler/metricscollector/db/metricscollector.db.changelog.yml update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:postgresql://127.0.0.1/autoscaler --driver=org.postgresql.Driver --changeLogFile=src/autoscaler/eventgenerator/db/dataaggregator.db.changelog.yml update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:postgresql://127.0.0.1/autoscaler --driver=org.postgresql.Driver --changeLogFile=src/autoscaler/scalingengine/db/scalingengine.db.changelog.yml update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:postgresql://127.0.0.1/autoscaler --driver=org.postgresql.Driver --changeLogFile=src/autoscaler/operator/db/operator.db.changelog.yml update
- wget https://repo.mysql.com//mysql-apt-config_0.8.14-1_all.deb
- sudo dpkg -i mysql-apt-config_0.8.14-1_all.deb
- sudo apt-get update -q
- sudo apt-get install -q -y --allow-unauthenticated -o Dpkg::Options::=--force-confnew mysql-server
- echo -e "[mysqld]\nsql_mode=NO_ENGINE_SUBSTITUTION,STRICT_ALL_TABLES\n[server]\ninnodb_log_file_size=256MB\ninnodb_buffer_pool_size=512MB\nmax_allowed_packet=32MB" | sudo tee -a /etc/mysql/my.cnf
- sudo systemctl restart mysql
- sudo mysql_upgrade
- mysql --version
- mysql -u root -e "CREATE DATABASE autoscaler;"
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:mysql://127.0.0.1/autoscaler --driver=com.mysql.cj.jdbc.Driver --changeLogFile=api/db/api.db.changelog.yml --username=root update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:mysql://127.0.0.1/autoscaler --driver=com.mysql.cj.jdbc.Driver --changeLogFile=servicebroker/db/servicebroker.db.changelog.json --username=root update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:mysql://127.0.0.1/autoscaler --driver=com.mysql.cj.jdbc.Driver --changeLogFile=scheduler/db/scheduler.changelog-master.yaml --username=root update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:mysql://127.0.0.1/autoscaler --driver=com.mysql.cj.jdbc.Driver --changeLogFile=scheduler/db/quartz.changelog-master.yaml --username=root update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:mysql://127.0.0.1/autoscaler --driver=com.mysql.cj.jdbc.Driver --changeLogFile=src/autoscaler/metricscollector/db/metricscollector.db.changelog.yml --username=root update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:mysql://127.0.0.1/autoscaler --driver=com.mysql.cj.jdbc.Driver --changeLogFile=src/autoscaler/eventgenerator/db/dataaggregator.db.changelog.yml --username=root update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:mysql://127.0.0.1/autoscaler --driver=com.mysql.cj.jdbc.Driver --changeLogFile=src/autoscaler/scalingengine/db/scalingengine.db.changelog.yml --username=root update
- java -cp 'db/target/lib/*' liquibase.integration.commandline.Main --url jdbc:mysql://127.0.0.1/autoscaler --driver=com.mysql.cj.jdbc.Driver --changeLogFile=src/autoscaler/operator/db/operator.db.changelog.yml --username=root update
jobs:
include:
- name: unit test
script:
# Unit test
- pushd src/autoscaler
- sudo cp /var/lib/mysql/ca.pem /tmp/ca.pem
- export DBURL="postgres://postgres@localhost/autoscaler?sslmode=disable"
- ginkgo -r -race -randomizeAllSpecs
- export DBURL="root@tcp(localhost)/autoscaler?tls=false"
- ginkgo -r -race -randomizeAllSpecs
- popd
- sudo rm /tmp/ca.pem
- pushd scheduler
- mvn test
- mvn test -Dspring.profiles.active=mysql
- name: integration test
script:
# Integration test
- pushd scheduler
- mvn package -DskipTests
- popd
- export DBURL="postgres://postgres@localhost/autoscaler?sslmode=disable"
- ginkgo -r -race -randomizeAllSpecs src/integration
- export DBURL="root@tcp(localhost)/autoscaler?tls=false"
- ginkgo -r -race -randomizeAllSpecs src/integration
# Tests for legacy components (node apiserver, broker and metricscollector)
# - name: legacy unit test
# script:
# - pushd api
# - npm install
# - npm test
# - popd
# - pushd servicebroker
# - npm install
# - npm test
# - popd
# - name: legacy integration test
# script:
# - pushd api
# - npm install
# - npm test
# - popd
# - pushd servicebroker
# - npm install
# - npm test
# - popd
# - pushd scheduler
# - mvn package -DskipTests
# - popd
# - ginkgo -r -race -randomizeAllSpecs src/integration_legacy