machine: services: - docker environment: LAST_STABLE: 2.4.0 EARLY_STABLE: 2.1.10 MRI_VERSIONS: 2.4.0,2.3.3,2.2.6,2.1.10 RAILS_VERSIONS: 2.3.3,2.2.6,2.1.10 RAILS5_VERSIONS: 2.3.3,2.2.6 AGENT_BUILD_PATH: "/home/ubuntu/agent" TEST_DATADOG_INTEGRATION: 1 dependencies: cache_directories: # Cache Ruby binaries and gems - "/opt/circleci/.rvm/" pre: # 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 # configure Ruby interpreters - gem install builder - bundle install - rvm get head - rvm install $MRI_VERSIONS # prepare and run the trace agent # TODO[manu]: remove this part when everything will be open source - git clone git@github.com:DataDog/datadog-trace-agent.git $AGENT_BUILD_PATH - cd $AGENT_BUILD_PATH && docker build -t datadog/trace-agent . - docker run -d -e DD_API_KEY=invalid_key_but_this_is_fine -e DD_BIND_HOST=0.0.0.0 -p 127.0.0.1:7777:7777 datadog/trace-agent override: - rvm $MRI_VERSIONS --verbose do gem update --system - rvm $MRI_VERSIONS --verbose do gem install bundler - rvm $MRI_VERSIONS --verbose do bundle install - rvm $MRI_VERSIONS --verbose do appraisal install test: override: - rvm $EARLY_STABLE --verbose do rake rubocop # Disabled $JRUBY_VERSIONS tests because of a Java incompatibility # TODO: integration tests should run with the master branch of the agent - rvm $MRI_VERSIONS --verbose do rake test:main - rvm $MRI_VERSIONS --verbose do appraisal contrib rake test:monkey - rvm $MRI_VERSIONS --verbose do appraisal contrib rake test:elasticsearch - rvm $MRI_VERSIONS --verbose do appraisal contrib rake test:http - rvm $MRI_VERSIONS --verbose do appraisal contrib rake test:redis - rvm $MRI_VERSIONS --verbose do appraisal contrib rake test:sinatra - rvm $RAILS_VERSIONS --verbose do appraisal rails3-postgres rake test:rails - rvm $RAILS_VERSIONS --verbose do appraisal rails3-mysql2 rake test:rails - rvm $RAILS_VERSIONS --verbose do appraisal rails4-postgres rake test:rails - rvm $RAILS_VERSIONS --verbose do appraisal rails4-mysql2 rake test:rails - rvm $RAILS5_VERSIONS --verbose do appraisal rails5-postgres rake test:rails - rvm $RAILS5_VERSIONS --verbose do appraisal rails5-mysql2 rake test:rails - rvm $RAILS_VERSIONS --verbose do appraisal rails3-postgres-redis rake test:railsredis - rvm $RAILS_VERSIONS --verbose do appraisal rails4-postgres-redis rake test:railsredis - rvm $RAILS5_VERSIONS --verbose do appraisal rails5-postgres-redis rake test:railsredis - rvm $LAST_STABLE --verbose do rake benchmark deployment: develop: branch: /(master)|(develop)/ # CircleCI is configured to provide VERSION_SUFFIX=$CIRCLE_BUILD_NUM commands: - S3_DIR=trace-dev rake release:docs - S3_DIR=trace-dev rake release:gem - cp -r ./rubygems/* $CIRCLE_ARTIFACTS public: tag: /v[0-9]+(\.[0-9]+)*/ commands: - S3_DIR=trace rake release:docs