dist: xenial language: ruby rvm: - 2.7 - 2.6 - 2.5 - 2.4 - 2.3 - jruby-9.2.9.0 - rbx-3 services: - mysql - riak - redis - cassandra - memcached - mongodb - postgresql addons: apt: sources: - cassandra - sourceline: "deb https://apache.bintray.com/couchdb-deb xenial main" key_url: https://couchdb.apache.org/repo/bintray-pubkey.asc - sourceline: "deb https://packagecloud.io/basho/riak/ubuntu/ xenial main" key_url: https://packagecloud.io/basho/riak/gpgkey packages: - cassandra - libkyotocabinet-dev - libleveldb-dev - liblzo2-dev - libtdb-dev - libtokyocabinet-dev - tokyotyrant - riak postgresql: '9.6' before_install: - gem install bundler - script/start-services cache: bundler: true directories: - downloads before_script: - mysql -e 'create database moneta;' - mysql -e 'create database moneta2;' - psql -c 'create database moneta1;' -U postgres - psql -c 'create extension hstore;' -U postgres moneta1 - psql -c 'create database moneta2;' -U postgres # FIXME: remove this once moneta no longer generates hundreds of warnings # in Ruby 2.7 - if echo $RUBY_VERSION | grep -q 'ruby-2.7'; then export RUBYOPT='-W0'; fi - export env: matrix: - SCRIPT='script/parallel-tests ~unstable -- test/action_dispatch/session_moneta_store_test.rb spec/moneta/adapters/activerecord spec/moneta/adapters/localmemcache spec/moneta/adapters/activesupportcache spec/moneta/adapters/lruhash spec/moneta/adapters/gdbm spec/moneta/adapters/null spec/moneta/adapters/datamapper spec/moneta/adapters/pstore spec/moneta/adapters/daybreak spec/moneta/adapters/redis spec/moneta/adapters/dbm spec/moneta/adapters/restclient spec/moneta/adapters/file spec/moneta/adapters/fog spec/moneta/adapters/sdbm spec/moneta/adapters/tokyocabinet spec/moneta/adapters/leveldb spec/moneta/adapters/tokyotyrant spec/moneta/adapters/lmdb spec/moneta/adapters/yaml ' - SCRIPT='script/parallel-tests ~unstable -- spec/moneta/adapters/client spec/moneta/adapters/memory spec/moneta/adapters/cookie spec/moneta/adapters/mongo spec/moneta/adapters/tdb spec/moneta/adapters/kyotocabinet ' - SCRIPT='script/parallel-tests ~unstable -- spec/moneta/adapters/couch/standard_couch_spec.rb ' - SCRIPT='script/parallel-tests ~unstable -- spec/moneta/adapters/couch/standard_couch_with_expires_spec.rb ' - SCRIPT='script/parallel-tests ~unstable -- spec/moneta/adapters/memcached/dalli ' - SCRIPT='script/parallel-tests ~unstable -- spec/moneta/adapters/memcached/native spec/moneta/adapters/couch/adapter_couch_spec.rb ' - SCRIPT='script/parallel-tests ~unstable -- spec/moneta/adapters/cassandra/adapter_cassandra_spec.rb spec/moneta/adapters/cassandra/standard_cassandra_spec.rb ' - SCRIPT='script/parallel-tests ~unstable -- spec/moneta/adapters/cassandra/adapter_cassandra_with_default_expires_spec.rb spec/moneta/adapters/hashfile spec/moneta/adapters/sqlite spec/moneta/adapters/sequel ' - SCRIPT='script/parallel-tests ~unstable -- spec/moneta/proxies ' - SCRIPT='script/parallel-tests ~unstable --remainder' - SCRIPT='script/parallel-tests unstable' - SCRIPT='script/benchmarks uniform_small' - SCRIPT='script/benchmarks uniform_medium' - SCRIPT='script/benchmarks uniform_large' - SCRIPT='script/benchmarks normal_small' - SCRIPT='script/benchmarks normal_medium' - SCRIPT='script/benchmarks normal_large' - SCRIPT='rubocop lib' matrix: allow_failures: - rvm: rbx-3 - env: SCRIPT='script/parallel-tests unstable' exclude: - rvm: 2.6 env: SCRIPT='rubocop lib' - rvm: 2.5 env: SCRIPT='rubocop lib' - rvm: 2.4 env: SCRIPT='rubocop lib' - rvm: 2.3 env: SCRIPT='rubocop lib' - rvm: 2.2 env: SCRIPT='rubocop lib' - rvm: jruby-9.2.9.0 env: SCRIPT='rubocop lib' - rvm: rbx-3 env: SCRIPT='rubocop lib' script: "bundle exec $SCRIPT" branches: only: - master - travis