forked from DataDog/dd-trace-rb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
circle.yml
69 lines (66 loc) · 2.43 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
machine:
services:
- docker
ruby:
version:
2.2.7
environment:
LAST_STABLE: 2.4.1
EARLY_STABLE: 2.2.7
MRI_VERSIONS: 2.4.1,2.3.4,2.2.7
MRI_OLD_VERSIONS: 2.1.10,2.0.0,1.9.3
SIDEKIQ_OLD_VERSIONS: 2.1.10,2.0.0
RAILS3_VERSIONS: 2.3.4,2.2.7,2.1.10,2.0.0,1.9.3
RAILS4_VERSIONS: 2.3.4,2.2.7,2.1.10
RAILS5_VERSIONS: 2.3.4,2.2.7
RAILS3_SIDEKIQ_VERSIONS: 2.1.10,2.0.0
RAILS4_SIDEKIQ_VERSIONS: 2.3.4,2.2.7
JRUBY_VERSIONS: jruby-9.1.13.0
AGENT_BUILD_PATH: "/home/ubuntu/agent"
TEST_DATADOG_INTEGRATION: 1
dependencies:
cache_directories:
# Cache Ruby binaries and gems
- "/opt/circleci/.rvm/"
- ~/rubies_cache
pre:
- mkdir -p ~/rubies_cache
- rsync -a -v --ignore-existing ~/rubies_cache/ /opt/circleci/.rvm/rubies
# we should use an old docker-compose because CircleCI supports
# only docker-engine==1.9
- pip install docker-compose==1.7.1
- docker-compose up -d | cat
# installing dev dependencies
- |
for version in $(echo "$MRI_VERSIONS,$MRI_OLD_VERSIONS,$JRUBY_VERSIONS" | tr "," "\n"); do
$(rvm list | grep -q $version) || rvm install $version --rubygems 2.6.11
done
- gem install bundler
# remove line below once `msgpack` have a consistent version for jruby
- bundle inject msgpack 1.1.0 && sed -i "y/\"/'/" Gemfile
- bundle install
override:
- rvm $MRI_VERSIONS,$MRI_OLD_VERSIONS,$JRUBY_VERSIONS --verbose do gem install bundler
- rvm $MRI_VERSIONS,$MRI_OLD_VERSIONS,$JRUBY_VERSIONS --verbose do bundle install
# [FIXME] appraisal does not work with jruby (problem with native ext, eg sqlite3)
- rvm $MRI_VERSIONS,$MRI_OLD_VERSIONS --verbose do bundle exec appraisal install || echo FIX-ME: Ignoring non-zero exit status
post:
- rsync -a -v --ignore-existing /opt/circleci/.rvm/rubies/ ~/rubies_cache
test:
override:
- rvm $EARLY_STABLE --verbose do bundle exec rake rubocop
# TODO: integration tests should run with the master branch of the agent
- bundle exec rake ci:
parallel: true
deployment:
develop:
branch: /(master)|(develop)/
# CircleCI is configured to provide VERSION_SUFFIX=$CIRCLE_BUILD_NUM
commands:
- S3_DIR=trace-dev bundle exec rake release:docs
- S3_DIR=trace-dev bundle exec rake release:gem
- cp -r ./rubygems/* $CIRCLE_ARTIFACTS
public:
tag: /v[0-9]+(\.[0-9]+)*/
commands:
- S3_DIR=trace bundle exec rake release:docs