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