forked from dannecker/report.api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
100 lines (100 loc) · 5.32 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
language: elixir
cache:
directories:
- deps
- _build
services:
- docker
- postgresql
addons:
postgresql: "9.5"
apt:
packages:
- postgresql-9.5-postgis-2.3
- docker-ce
elixir:
- 1.5.2
otp_release:
- 20.1
notifications:
slack:
rooms:
- secure: "WilReWpOLJvNyW9mASNQ4i2XmGoq6KnD8HX/kHIJg8EuVBrfCVgQ24bDq/L4nMTG3ho911HuGT07Aq1jPuFPT47zMoGGeEn9qAi7Lb/fWIv4XAoig8egCkWBSQkn4z1Yf6rz7HLYyaXRZwFdrkxT65nTO+TN5q3zAnN3UT8RSGG+O0DiWfqULAJkQWi8SHIvYF7L0YOgLphsNo+9qPLhQS+IVlOefcwprWNsAEyyjHfGfzC5UPRjrkuvyqWToSGMu7czKaaUgXJ8Tr5ERZkX6YMF4fe+H5EdbUEWyIaRw+p/0GIIEWAxkO/13ssJ71pISCiqp2Gal3nkjwu4ozOzYqTDtxAXd8PY30J3UK4rdyW9rhAozu/1MyIbnBDh8R1zKfI0SwHhNZjFTd4OH2xR37ly88j5YQlDp4DcTM/GIW0CPCmQ+t2e5moXdd6x4zrg6gBW4qUEwvnPoytA9N8DL4No7ZxF/IMgF+9jg9VipQkB8z/BmkB1IxjpA7049muiQOlGaO43As5zVdYcjBhrGhagxzwba3MWb4uDjgKl92F6IofNlqdMQdd4ZDGArI0lOlnozvCzMHi/oe7JLGdWKvzfDFcF6nBLQZruW16gwQluYmB8LPAK40ft3vLdPPqV8WqcoKLPYCEnAwc/Jcjqqq63jxj50gEZLjanicqv1Bs="
on_success: always
env:
global:
- Chart=reports
- MIX_ENV=test
# Set this to `true` if you want to require each commit to be semver-tagged with [major], [minor] or [patch] tags.
- REQUIRE_VERSION_TAGS="false"
# Main branch that will build new releases by-default
- TRUNK_BRANCH="master"
# Docker Hub token
- DOCKER_HUB_ACCOUNT=edenlabllc
- secure: "P3zPrTcFnNJv/S6fEwg0rSywqPFU1+k6tORdSYjR932frlYAHhEVausKeqMAd8ny55hmWJT8BHBdWELwoz3el5EaDP+o/A29cV3aSPP4ng2RHo19QWnz2ha8al2f/orfDtZwlV0sFuUJzZAEPgXjgMlbICrRIwQWQEIwXNxVpCajPhCVlysnMUUhlOrQK4HrNqU+TGoCIyU6jXlYGep84BAD+23LgYc5e65Jbx3xIMr61Kd81OS+mbHmnrw0cptcRqvH94xd/p8Z+J6XsUksqvQMeo+HNoIh8l1qUWSnrVvPFLXHevrYqwKPlAKlmlGn7lDJcq9c8oJ6OcGxkrilSsldUvqFgytUpQtCCS8Y6ys2a6oEvwQj9KUWqw49oBTPnHFtC/+CVy94ovaMTY9c0nD4n7OYn7uElJOJGuGebX0ilLVIyQOZn6I9M330AuMh0WDR09UZK1ktnYZOs7teyYJXZ22qoNQZmZqHqUMMw6u2mz8oRsrLvuXXhQWNvstH2iveMM365SAk4vIv5EngEMm+pWpi4FGs1QYj8utRGfo6bWN4Jx1pJwnGji1kbCCYqThH4CZpMs/J3NneWfGbAf6lOoD8tzDZrUAKGI81ea4KlwYIjGNltTQe6LhjUud3hUcuhZp7E1F97Fi2xvodfjZ+QnsxRUzf+hZXVwhD0GI="
# GitHub Token
- secure: "o94WBV0Kd1RcR5WWm2cBZxhprCkzb+Rg/9/Io3PUL2oRMCknZnmTXNXq9NCxMiOKA/lquuXcMAfbFHirfnbIz5Zt8mdQPXG2z2kVYbydrG7vawFHydFd3Htjk3Rr38ASWuSYWJB7wYxLhthM0A+4V1iDOl6f0A+T1iHUpFmR296BBpcuqD8NZU1neaYqH0ytgqebCf1rxD7MS6bCxWqkzxKSyXaw+79jKQ8nrBvAWVkiMcy1OzPor/mmZFzlBsm9dWh8Z3bMHJ+jglXY83WFLeCHoPee71/ZuqcQ15WhItc9IBLsyKpKFqt2NLDgOGBWmTrWRkBOydgJrM6I+5Cp9hotQwthqcdUESMwHhLT3ZkSiNjFU+A7r51KL4G5cYFrcifB1yTdsD1AiG9ZqrX8JzQSKZeINFK4aUoiL4U/4JyPK5NqW8MNEemde72j75rWEHPyc4aIXJzYI6AzaYebxqG53YkpTsTQFh+j7BF3CZ6yGUCUobaO9yuL+zSlU3b+IAl7San1TbuJc9XuLaMA9XyQZSe1f0Hzoje35KPC2NAg/YkNKr+OZDqDEjur+uYPimBBVIFgWpQdbtfD7DAmTgMk9Eb0J6wChV32hq+cFYsU7Sbs18QBwSl4m2X+UY5J95DiDCIjgOtU9n/bD8L4/w/mkYiHW91QJIYvQnT5iSY="
branches:
# Releases are generated automatically, stop infinite build loop
except:
- /^[0-9]*\.[0-9]*\.[0-9]*/
before_install:
# Expose MQ and DB to Docker container
- sudo ./bin/ci/init-db.sh
before_script:
# Extract project name and version from mix.exs
- source ./bin/ci/release/fetch-project-environment.sh
# Load information about new version
- source ./bin/ci/release/fetch-source-version.sh
# Load information about changelog
- source ./bin/ci/release/fetch-changelog.sh
script:
# Increment version in mix.exs
- ./bin/ci/release/put-source-version.sh
# Run all tests except pending ones
- ./bin/mix_tests.sh || travis_terminate 1
# Build Docker container
- ./bin/ci/release/build-container.sh || travis_terminate 1
# Initialize DB for Docker container
- source .env; PGPASSWORD="${DB_PASSWORD}"; psql -U ${DB_USER} -w -c"CREATE DATABASE ${DB_NAME}"
# Run Docker container
- ./bin/ci/release/start-container.sh || travis_terminate 1
- sleep 5
- docker ps
- RUNNING_CONTAINERS=`docker ps | wc -l`;
if [ "${RUNNING_CONTAINERS//[[:space:]]/}" == "1" ]; then
echo "[E] Container is not started\!";
docker logs report_api --details --since 5h;
exit 1;
fi;
# Run acceptance tests on Docker container
# - "CONTAINER_HTTP_HOST=localhost CONTAINER_HTTP_PORT=4000 mix test test/acceptance"
- ./bin/ci/release/push-changes.sh || travis_terminate 1
- openssl aes-256-cbc -K $encrypted_7e692fa65543_key -iv $encrypted_7e692fa65543_iv -in eHealth-8110bd102a69.json.enc -out eHealth-8110bd102a69.json -d
- sudo ./bin/deploy.sh || travis_terminate 1
# Also you can
# - automatically build images and push them to Docker Hub;
# - create new git tag with build version and GitHub release on it.
#
# 1, Encrypt your docker user name and password and add to environment variables:
#
# $ travis encrypt DOCKER_USERNAME=sample_username DOCKER_PASSWORD=strong_password
#
# More info: https://docs.travis-ci.com/user/encryption-keys/
#
# 2. Add env "DOCKER_HUB_ACCOUNT=org_name" to set Hub's organization or account that will hold images.
# Sample:
#
# env:
# global:
# - DOCKER_HUB_ACCOUNT=org_name # Docker Hub Account or Organization that will hold images
# - secure: "encrypeted_credentials" # Encrypted credentials to login into Docker Hub
#
# 3. Uncomment following lines:
#
# after_success:
# # Submit Docker container to Docker Hub and create GitHub Release by pushing tag with changelog
# - ./bin/ci/release/push-changes.sh
#
# 4. If you are using public Travis-CI version it doesn't support deploy keys, so you will need to add a user-token to
# push script manually.