forked from StackStorm/st2-packages
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcircle.yml
96 lines (89 loc) · 2.83 KB
/
circle.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
# Setup in CircleCI account the following ENV variables:
# IS_PRODUCTION (default: 0)
# IS_ENTERPRISE (default: 0)
# PACKAGECLOUD_ORGANIZATION (default: stackstorm)
# PACKAGECLOUD_TOKEN
# DOCKER_USER
# DOCKER_EMAIL
# DOCKER_PASSWORD
general:
artifacts:
- ~/packages
notify:
webhooks:
- url: https://webhooks.stackstorm.net:8531/webhooks/build/events
machine:
# Overwrite these ENV variables in parametrized (manual/API) builds
environment:
DISTROS: "wheezy jessie trusty xenial el6 el7"
NOTESTS: "xenial el7"
ST2_GITURL: https://github.com/StackStorm/st2
ST2_GITREV: master
ST2MISTRAL_GITREV: master
ST2_DOCKERFILES_REPO: https://github.com/StackStorm/st2-dockerfiles
ST2_PACKAGES: "st2 st2mistral"
BUILD_DOCKER: 0
DEPLOY_DOCKER: 0
DEPLOY_PACKAGES: 1
pre:
- mkdir -p ~/packages
# Need latest Docker version for some features to work (CircleCI by default works with outdated version)
- |
sudo curl -L -o /usr/bin/docker 'http://s3-external-1.amazonaws.com/circle-downloads/docker-1.9.0-circleci'
sudo chmod 0755 /usr/bin/docker
services:
- docker
- mongodb
- postgresql
- rabbitmq-server
checkout:
post:
- .circle/buildenv_st2.sh
- .circle/buildenv_mistral.sh
dependencies:
cache_directories:
- ~/.cache/pip
pre:
- sudo .circle/configure-services.sh
- sudo .circle/fix-cache-permissions.sh
- sudo apt-get -y install parallel jq
- gem install package_cloud
- sudo pip install wheel docker-compose
- docker-compose version
- docker version
override:
- .circle/docker-compose.sh pull ${DISTRO}
post:
- .circle/docker-compose.sh build ${DISTRO}
test:
override:
- .circle/docker-compose.sh test ${DISTRO}:
parallel: true
# Copy all Packages to node0
- rsync -rv /tmp/st2-packages/ node0:~/packages/${DISTRO}:
parallel: true
post:
- .circle/docker.sh build st2
- .circle/docker.sh build st2actionrunner st2api st2stream st2auth st2exporter st2notifier st2resultstracker st2rulesengine st2sensorcontainer st2garbagecollector
- .circle/docker.sh run st2api
- .circle/docker.sh test st2api 'st2 --version'
deployment:
publish:
branch:
- master
- /v[0-9]+\.[0-9]+/
- feature/circleci
owner: StackStorm
commands:
# Deploy to PackageCloud all artifacts for respective distros in parallel
- |
DISTROS=($DISTROS)
parallel -v -j0 --line-buffer .circle/packagecloud.sh deploy {} ~/packages/{} ::: ${DISTROS[@]::$CIRCLE_NODE_TOTAL}
- .circle/docker.sh deploy st2actionrunner st2api st2stream st2auth st2exporter st2notifier st2resultstracker st2rulesengine st2sensorcontainer st2garbagecollector
- .circle/save_payload.py ~/packages
experimental:
notify:
branches:
only:
- master
- /v[0-9]+\.[0-9]+/