forked from walmartlabs/cookie-cutter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
126 lines (112 loc) · 4.76 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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
language: node_js
branches:
only:
- master
- develop
- /^release/.*$/
stages:
- smoke
- name: test
if: type = cron OR (type = pull_request AND (branch = master OR commit_message =~ /\[full(-| )ci\]/))
- name: integrate
if: type = cron OR (type = pull_request AND (branch = master OR commit_message =~ /\[full(-| )ci\]/))
- name: deploy
if: (branch in (master, develop) OR branch =~ ^release/.*$) AND type = push
matrix:
include:
- name: "Linux Node 10 (Lint + Test)"
os: linux
node_js: 10
stage: smoke
script: yarn build && yarn lint && yarn test
- name: "Audit Dependencies"
os: linux
node_js: 10
stage: smoke
if: type = cron
script: yarn audit
- name: "Linux Node 12"
os: linux
node_js: 12
stage: test
- name: "OSX Node 10"
os: osx
node_js: 10
stage: test
- name: "Windows Node 10"
os: windows
node_js: 10
stage: test
env:
- YARN_GPG=no # Windows build agent will hang without this
- name: "MSSQL"
os: linux
node_js: 10
stage: integrate
services:
- docker
script: yarn build && cd packages/mssql && yarn integrate
- name: "AMQP"
os: linux
node_js: 10
stage: integrate
services:
- docker
script: yarn build && cd packages/amqp && yarn integrate
- name: "Kafka"
os: linux
node_js: 10
stage: integrate
services:
- docker
script: yarn build && cd packages/kafka && yarn integrate
- name: "Prometheus"
os: linux
node_js: 10
stage: integrate
services:
- docker
script: yarn build && cd packages/prometheus && yarn integrate
- name: "S3"
os: linux
node_js: 10
stage: integrate
services:
- docker
script: yarn build && cd packages/s3 && yarn integrate
- name: "Redis"
os: linux
node_js: 10
stage: integrate
services:
- docker
script: yarn build && cd packages/redis && yarn integrate
- name: "Publish to NPM"
os: linux
node_js: 10
stage: deploy
env:
- secure: "X4e3tI6zIOShCVHgao7vd7qJQXh2nOlE0SCYGsQhSAxe3c9+rBX7ih9tS5PTACOyvxXqrhqVHhn7P9yTZQT1ponFY0yzWDHcTWtzIDLaXnL189MN6hNq7zz6aPC/zy6/RLUay63/yeyHWCl2MlJYxjcFTsgJRVU2W9hzyl99SDPQrDTNwZKN3rEdqDQxjXTZAxIRRE4RNYPfOkTQpKXIP0JiFUszKhGOE4YA56f0YNVQG2OCdlG/y38qDRK7RTVeechao3XdpkIfuDcJNlx4xFFTRmuciOIbgM6UsDZaCIKjVa06LhR9WApTGG5J91lTpC/3h6v1A0dY13drjQaHY1XLca0Yt2zYTu+o8gLngaPuqLuQDFNXBkuov/r8o8dqAIHHPr/TfeT5mSs7bgTLOFc0ABttpubk6T1LuITZvdEwtfH2z0mivad7d0P4C+jQRlN8mO8kuBzDo9BfX9Bn2yStRdvXcbjhw2tPth16RWIq2HmpTyC/wWRYFdREJnRRGC5GNnEKZbJN2zXxOrLeJkbQeFdavpwDZqKV0xi3ni5CBKIw/hF4efF5VKuIrMkTgdi3pI5QmZHqDOYNgeLG1KFTm6mwZGD9VHpFSt3WokC/92SbcxM/UvLCQ/vxp+CkvcIuzTQ9b5bCakYbAJ5MTBjzfsEhep4lB1Hytb0C668="
script: |
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
yarn build && node ./.ci/deploy.js
- name: "Publish to GitHub Pages"
if: branch = master
os: linux
node_js: 10
stage: deploy
env:
- GH_NAME=sklose
- GH_EMAIL=sebastian.klose@walmart.com
- secure: "GlsrfPBNJWOzBL0xGo/B/V9x6Q4FvTt4icFKIneqfpopPEqJZKG6Pc1IcE0bssuiv+FIq+K9I0CAQF7Lz9e5X1BT/Sscnz69qTlbf0f46DBvXE8bNeLrRH7FEQHuiyEosJiB0lF9lgok0PwCsJXyAeevktNmI9udkULk9wYGrA8EiQnrJwApYBhJenHpy51fSFO2rHwE7acgaf6kKZXvIkiaWg35+jM+JJwfw3eSWi+ktfJ3KXsMPk0eb+ji0Py85vL2IMvJt7aDYSf5RIIApZjHuWCdSw42gPX3szlmFJ7Kb6BwKQd5Bo5otIlywg3uZ4G08xnJg6vHIAxDU93bgT0i82qHAkCo8IWsl6XcZFisdjdplI1Aw2w2HiIFtT0APPmUwarQWW7m8Y6s3uTDMXQCl2CFlaL0pK4y1tfz68M3YI4aotueQDJbDxUn/C81K6RnVZPV/oXGfx3WMN6nCdMQwX2xwS6AxCO6X1N7suXmSq6Bew/yP9kO+tD8Qd2BOOnXvFCqlmHgL0MVYEAZVl3bo4aayfoquT/iLG85+XoSRgnbVXEhHiYQQP3g0AorBOamBGkaWd71kJBgwX6JTn49RFK/8A85pNEovz6L72hV9uFFlKDJpOeo5UgZOZ76xQS5TPF7HCeT8IPui5F5boN+NE9OzFG1despJYt8WEo="
script: |
git config --global user.name "${GH_NAME}"
git config --global user.email "${GH_EMAIL}"
echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc
cd docs/website && yarn install && GIT_USER="${GH_NAME}" yarn run publish-gh-pages
before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.21.1
- export PATH="$HOME/.yarn/bin:$PATH"
install:
- yarn install --frozen-lockfile
script: yarn build && yarn test