-
Notifications
You must be signed in to change notification settings - Fork 2
/
.travis.yml
77 lines (66 loc) · 2.12 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
dist: xenial
language: python
python:
- '3.7'
services:
- docker
before_install:
- pip install pipenv
install:
- pipenv sync
stages:
- black
- test
- build
- deploy
before_script:
- if [ $TRAVIS_PULL_REQUEST == "false" ]; then
export TAG=latest;
else
export TAG="pull-request-$TRAVIS_PULL_REQUEST";
fi
jobs:
include:
- stage: black
install: pip install black
script: black --check .
- stage: test
install:
- pipenv sync --dev
- pip install coveralls
script:
- pytest
after_success:
- coveralls
- stage: build
script:
- docker build -t $DOCKER_REGISTRY:$TAG .
- stage: deploy
script:
- docker build -t $DOCKER_REGISTRY:$TAG .
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
- docker push $DOCKER_REGISTRY:$TAG;
on:
tags: true
if: tag IS present
deploy:
provider: heroku
app: $HEROKU_APP
api_key: $HEROKU_AUTH_KEY
- stage: deploy
script:
- docker build -t $DOCKER_REGISTRY:$TAG .
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
- docker push $DOCKER_REGISTRY:$TAG;
if: branch = master
deploy:
provider: heroku
app: $HEROKU_APP_STAGING
api_key: $HEROKU_AUTH_KEY
branches:
only:
- master
- /^v.*$/
notifications:
slack:
secure: iLR6HCfdxxhscnYxGyH71eQA5HoZNfqmbxOQfR1P2jSB47CLr0UIGgbeeQDD4LW20oCSBpQhZARphcMC3K9ep1FnW7/CGRBViR5oeVPpa7sQDeK5rrqYe20jQqUR9DQ94DemtCtOeNn/Z11IejUCgH11gUIKLjZF1747dL9R4WxRF9u4WqCcEpd8qsjHBrw3FS9KDdEF85uJutIrRb7kPC5A/s8yudLdZKGdzo+1+n8jx2KLT7PiaUfIx2duUNlzfdheUZJGQohmAItzc6FuzCLbSPTQSjZ3RYrdX8IUrc+9YdM7XrhZIZJiqYia0bT8cbcqO87rVf53BKKxYhIVNOXORcV9eHfp7zWzttjcjyrZ/7P5o5+d/k18d6uDFWRr+kWJy+VgxXcq8ub2mBJLibNN1E+PsGMgo1TBmEqPdMEQ/1sIlbeMZgTnw526JE7mVUzhcif68yxfO7d/0yKsgEaiZeXxWNQMYW1lKtY2DSBNLmnOSJAx6/hNr+voYeXRrtOnsqEdi/0+AYP3Wj2QTrA0lzm+jpfF28vcuAi0iQMrsf2aa9RsLBFsq/gq+GFZ7RdczjV0B7kfwMZxZMIW5BvJk+oxFEzew1Vs2pRf9sS/SIBli3NtnUF/B0rrDbRKSgcuzYDyQWVBWbm4N8kPfydpV2+dWt7HFoP5HVoeaSk=