moneta 1.4.1 → 1.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +418 -0
  3. data/CHANGES +4 -0
  4. data/Gemfile +1 -1
  5. data/README.md +16 -13
  6. data/lib/moneta/pool.rb +26 -6
  7. data/lib/moneta/version.rb +1 -1
  8. data/spec/active_support/cache_moneta_store_spec.rb +13 -13
  9. data/spec/helper.rb +14 -1
  10. data/spec/moneta/adapters/activerecord/adapter_activerecord_existing_connection_spec.rb +3 -1
  11. data/spec/moneta/adapters/activerecord/adapter_activerecord_spec.rb +15 -7
  12. data/spec/moneta/adapters/activerecord/standard_activerecord_spec.rb +5 -2
  13. data/spec/moneta/adapters/activerecord/standard_activerecord_with_expires_spec.rb +5 -2
  14. data/spec/moneta/adapters/activesupportcache/adapter_activesupportcache_spec.rb +3 -3
  15. data/spec/moneta/adapters/activesupportcache/adapter_activesupportcache_with_default_expires_spec.rb +2 -2
  16. data/spec/moneta/adapters/datamapper/adapter_datamapper_spec.rb +25 -8
  17. data/spec/moneta/adapters/datamapper/standard_datamapper_spec.rb +2 -2
  18. data/spec/moneta/adapters/datamapper/standard_datamapper_with_expires_spec.rb +2 -2
  19. data/spec/moneta/adapters/datamapper/standard_datamapper_with_repository_spec.rb +2 -2
  20. data/spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_spec.rb +13 -3
  21. data/spec/moneta/adapters/memcached/native/adapter_memcached_native_spec.rb +13 -3
  22. data/spec/moneta/adapters/mongo/adapter_mongo_with_default_expires_spec.rb +1 -1
  23. data/spec/moneta/adapters/redis/adapter_redis_spec.rb +13 -3
  24. data/spec/moneta/adapters/redis/standard_redis_spec.rb +8 -1
  25. data/spec/moneta/adapters/sequel/adapter_sequel_spec.rb +4 -4
  26. data/spec/moneta/adapters/sequel/helper.rb +10 -5
  27. data/spec/moneta/adapters/sequel/standard_sequel_spec.rb +1 -1
  28. data/spec/moneta/adapters/sequel/standard_sequel_with_expires_spec.rb +1 -1
  29. data/spec/moneta/adapters/sqlite/adapter_sqlite_spec.rb +1 -1
  30. data/spec/moneta/adapters/sqlite/standard_sqlite_spec.rb +1 -1
  31. data/spec/moneta/adapters/sqlite/standard_sqlite_with_expires_spec.rb +1 -1
  32. data/spec/moneta/proxies/pool/pool_spec.rb +31 -3
  33. metadata +7 -15
  34. data/.travis.yml +0 -146
  35. data/spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_with_default_expires_spec.rb +0 -15
  36. data/spec/moneta/adapters/memcached/native/adapter_memcached_native_with_default_expires_spec.rb +0 -15
  37. data/spec/moneta/adapters/redis/adapter_redis_with_default_expires_spec.rb +0 -10
  38. data/spec/moneta/proxies/proxy/proxy_redis_spec.rb +0 -13
@@ -1,4 +1,4 @@
1
- describe 'standard_datamapper_with_repository', broken: defined?(JRUBY_VERSION), adapter: :DataMapper do
1
+ describe 'standard_datamapper_with_repository', broken: defined?(JRUBY_VERSION), adapter: :DataMapper, mysql: true do
2
2
  before :all do
3
3
  require 'dm-core'
4
4
 
@@ -9,7 +9,7 @@ describe 'standard_datamapper_with_repository', broken: defined?(JRUBY_VERSION),
9
9
  moneta_store :DataMapper do
10
10
  {
11
11
  repository: :repo,
12
- setup: "mysql://#{mysql_username}:#{mysql_password}@localhost/#{mysql_database1}",
12
+ setup: "mysql://#{mysql_username}:#{mysql_password}@#{mysql_host}:#{mysql_port}/#{mysql_database1}",
13
13
  table: "simple_datamapper_with_repository"
14
14
  }
15
15
  end
@@ -7,9 +7,19 @@ describe 'adapter_memcached_dalli', retry: 3, adapter: :Memcached do
7
7
 
8
8
  include_context :start_memcached, 11212
9
9
 
10
- moneta_build do
11
- Moneta::Adapters::MemcachedDalli.new(server: "127.0.0.1:11212")
10
+ describe 'without default expires' do
11
+ moneta_build do
12
+ Moneta::Adapters::MemcachedDalli.new(server: "127.0.0.1:11212")
13
+ end
14
+
15
+ moneta_specs ADAPTER_SPECS.with_native_expires
12
16
  end
13
17
 
14
- moneta_specs ADAPTER_SPECS.with_native_expires
18
+ describe 'with default expires' do
19
+ moneta_build do
20
+ Moneta::Adapters::MemcachedDalli.new(server: '127.0.0.1:11212', expires: min_ttl)
21
+ end
22
+
23
+ moneta_specs NATIVE_EXPIRY_SPECS.with_default_expires
24
+ end
15
25
  end
@@ -7,9 +7,19 @@ describe 'adapter_memcached_native', isolate: true, unstable: defined?(JRUBY_VER
7
7
 
8
8
  include_context :start_memcached, 11214
9
9
 
10
- moneta_build do
11
- Moneta::Adapters::MemcachedNative.new(server: "127.0.0.1:11214")
10
+ describe 'without default expires' do
11
+ moneta_build do
12
+ Moneta::Adapters::MemcachedNative.new(server: "127.0.0.1:11214")
13
+ end
14
+
15
+ moneta_specs ADAPTER_SPECS.with_native_expires
12
16
  end
13
17
 
14
- moneta_specs ADAPTER_SPECS.with_native_expires
18
+ describe 'with default expires' do
19
+ moneta_build do
20
+ Moneta::Adapters::MemcachedNative.new(server: '127.0.0.1:11214', expires: min_ttl)
21
+ end
22
+
23
+ moneta_specs NATIVE_EXPIRY_SPECS.with_default_expires
24
+ end
15
25
  end
@@ -1,6 +1,6 @@
1
1
  describe 'adapter_mongo_with_default_expires', isolate: true, adapter: :Mongo do
2
2
  let(:t_res) { 0.125 }
3
- let(:min_ttl) { t_res }
3
+ let(:min_ttl) { t_res * 4 }
4
4
 
5
5
  moneta_build do
6
6
  Moneta::Adapters::Mongo.new(
@@ -2,9 +2,19 @@ describe 'adapter_redis', adapter: :Redis do
2
2
  let(:t_res) { 0.125 }
3
3
  let(:min_ttl) { t_res }
4
4
 
5
- moneta_build do
6
- Moneta::Adapters::Redis.new(db: 6)
5
+ describe 'without default expiry' do
6
+ moneta_build do
7
+ Moneta::Adapters::Redis.new(host: redis_host, port: redis_port, db: 6)
8
+ end
9
+
10
+ moneta_specs ADAPTER_SPECS.with_each_key.with_native_expires
7
11
  end
8
12
 
9
- moneta_specs ADAPTER_SPECS.with_each_key.with_native_expires
13
+ describe 'with default expiry' do
14
+ moneta_build do
15
+ Moneta::Adapters::Redis.new(host: redis_host, port: redis_port, db: 6, expires: min_ttl)
16
+ end
17
+
18
+ moneta_specs NATIVE_EXPIRY_SPECS.with_default_expires
19
+ end
10
20
  end
@@ -2,6 +2,13 @@ describe 'standard_redis', adapter: :Redis do
2
2
  let(:t_res) { 0.125 }
3
3
  let(:min_ttl) { t_res }
4
4
 
5
- moneta_store :Redis, db: 4
5
+ moneta_store :Redis do
6
+ {
7
+ db: 4,
8
+ host: redis_host,
9
+ port: redis_port
10
+ }
11
+ end
12
+
6
13
  moneta_specs STANDARD_SPECS.with_native_expires.with_each_key
7
14
  end
@@ -5,7 +5,7 @@ describe ':Sequel adapter', adapter: :Sequel do
5
5
 
6
6
  specs = ADAPTER_SPECS.with_each_key.with_values(:nil)
7
7
 
8
- context 'with MySQL backend' do
8
+ context 'with MySQL backend', mysql: true do
9
9
  moneta_build do
10
10
  Moneta::Adapters::Sequel.new(opts.merge(db: mysql_uri))
11
11
  end
@@ -13,7 +13,7 @@ describe ':Sequel adapter', adapter: :Sequel do
13
13
  include_examples :adapter_sequel, specs
14
14
  end
15
15
 
16
- context "with SQLite backend" do
16
+ context "with SQLite backend", sqlite: true do
17
17
  moneta_build do
18
18
  Moneta::Adapters::Sequel.new(opts.merge(db: sqlite_uri('adapter_sequel.db')))
19
19
  end
@@ -21,7 +21,7 @@ describe ':Sequel adapter', adapter: :Sequel do
21
21
  include_examples :adapter_sequel, specs.without_concurrent
22
22
  end
23
23
 
24
- context "with Postgres backend" do
24
+ context "with Postgres backend", postgres: true do
25
25
  moneta_build do
26
26
  Moneta::Adapters::Sequel.new(opts.merge(postgres_options))
27
27
  end
@@ -37,7 +37,7 @@ describe ':Sequel adapter', adapter: :Sequel do
37
37
  include_examples :adapter_sequel, specs, optimize: false
38
38
  end
39
39
 
40
- context "with Postgres HStore backend" do
40
+ context "with Postgres HStore backend", postgres: true do
41
41
  moneta_build do
42
42
  Moneta::Adapters::Sequel.new(postgres_hstore_options)
43
43
  end
@@ -2,9 +2,11 @@ RSpec.shared_context :sequel do
2
2
  def mysql_uri database=nil
3
3
  database ||= mysql_database1
4
4
  if defined?(JRUBY_VERSION)
5
- "jdbc:mysql://localhost/#{database}?user=#{mysql_username}&useSSL=false"
5
+ uri = "jdbc:mysql://#{mysql_host}:#{mysql_port}/#{database}?user=#{mysql_username}&useSSL=false"
6
+ uri += "&password=#{mysql_password}" if mysql_password
7
+ uri
6
8
  else
7
- "mysql2://#{mysql_username}:@localhost/#{database}"
9
+ "mysql2://#{mysql_username}:#{mysql_password}@#{mysql_host}:#{mysql_port}/#{database}"
8
10
  end
9
11
  end
10
12
 
@@ -15,11 +17,14 @@ RSpec.shared_context :sequel do
15
17
  def postgres_options database=nil
16
18
  database ||= postgres_database1
17
19
  if defined?(JRUBY_VERSION)
18
- {db: "jdbc:postgresql://localhost/#{database}?user=#{postgres_username}"}
20
+ uri = "jdbc:postgresql://localhost/#{database}?user=#{postgres_username}"
21
+ uri += "&password=#{postgres_password}" if postgres_password
22
+ {db: uri}
19
23
  else
20
24
  {
21
25
  db: "postgres://localhost/#{database}",
22
- user: postgres_username
26
+ user: postgres_username,
27
+ password: postgres_password
23
28
  }
24
29
  end
25
30
  end
@@ -33,7 +38,7 @@ RSpec.shared_context :sequel do
33
38
  def h2_uri
34
39
  "jdbc:h2:" + tempdir
35
40
  end
36
- end
41
+ end
37
42
 
38
43
  RSpec.shared_examples :adapter_sequel do |specs, optimize: true|
39
44
  shared_examples :each_key_server do
@@ -1,6 +1,6 @@
1
1
  require_relative './helper.rb'
2
2
 
3
- describe 'standard_sequel', adapter: :Sequel do
3
+ describe 'standard_sequel', adapter: :Sequel, postgres: true do
4
4
  include_context :sequel
5
5
 
6
6
  moneta_store(:Sequel) { postgres_options.merge(table: "standard_sequel") }
@@ -1,6 +1,6 @@
1
1
  require_relative './helper.rb'
2
2
 
3
- describe 'standard_sequel_with_expires', adapter: :Sequel do
3
+ describe 'standard_sequel_with_expires', adapter: :Sequel, postgres: true do
4
4
  include_context :sequel
5
5
 
6
6
  let(:t_res) { 0.125 }
@@ -1,4 +1,4 @@
1
- describe 'adapter_sqlite', unsupported: defined?(JRUBY_VERSION), adapter: :Sqlite do
1
+ describe 'adapter_sqlite', unsupported: defined?(JRUBY_VERSION), adapter: :Sqlite, sqlite: true do
2
2
  moneta_build do
3
3
  Moneta::Adapters::Sqlite.new(file: File.join(tempdir, "adapter_sqlite"))
4
4
  end
@@ -1,4 +1,4 @@
1
- describe 'standard_sqlite', unsupported: defined?(JRUBY_VERSION), adapter: :Sqlite do
1
+ describe 'standard_sqlite', unsupported: defined?(JRUBY_VERSION), adapter: :Sqlite, sqlite: true do
2
2
  moneta_store :Sqlite do
3
3
  {file: File.join(tempdir, "standard_sqlite")}
4
4
  end
@@ -1,4 +1,4 @@
1
- describe 'standard_sqlite_with_expires', unsupported: defined?(JRUBY_VERSION), adapter: :Sqlite do
1
+ describe 'standard_sqlite_with_expires', unsupported: defined?(JRUBY_VERSION), adapter: :Sqlite, sqlite: true do
2
2
  let(:t_res) { 0.125 }
3
3
  let(:min_ttl) { 1 }
4
4
  use_timecop
@@ -1,6 +1,6 @@
1
1
  require 'timeout'
2
2
 
3
- describe "pool", proxy: :Pool do
3
+ describe "pool", proxy: :Pool, broken: ::Gem::Version.new(RUBY_ENGINE_VERSION) < ::Gem::Version.new('2.4.0') do
4
4
  describe "Moneta::Pool" do
5
5
  # To test the pool, we create the store once and pass the same object around
6
6
  # whenever a new store is requested.
@@ -153,7 +153,7 @@ describe "pool", proxy: :Pool do
153
153
  describe "closing stores after TTL expiry" do
154
154
  let(:num) { max || min + 10 }
155
155
 
156
- it "closes available stores after ttl" do
156
+ it "closes unneeded stores after ttl" do
157
157
  stores.each do |store|
158
158
  allow(store).to receive(:close)
159
159
  end
@@ -169,6 +169,32 @@ describe "pool", proxy: :Pool do
169
169
  end
170
170
  end
171
171
 
172
+ shared_examples :ttl_with_nonzero_min do |ttl:, min:, max: nil|
173
+ describe "TTL check" do
174
+ let(:num) { max || min + 10 }
175
+
176
+ # This is testing that a very specific bug is fixed - see
177
+ # https://github.com/moneta-rb/moneta/issues/197. A better long-term
178
+ # solution would be to have more granular tests of the functions in the
179
+ # PoolManager
180
+ it "doesn't cause a busy-loop when there are available stores" do
181
+ # Check a store in and out - now the manager needs to decide whether to close
182
+ # stores after ttl seconds.
183
+ store = subject.check_out
184
+ subject.check_in(store)
185
+ sleep ttl
186
+ expect(subject.stats[:available]).to be > 0
187
+
188
+ # needs to be less than the TTL, but otherwise not important.
189
+ sleep_time = ttl / 2.0
190
+ sleep sleep_time
191
+
192
+ # during the sleep, the pool manager should have been idle.
193
+ expect(subject.stats[:idle_time]).to be >= sleep_time
194
+ end
195
+ end
196
+ end
197
+
172
198
  shared_examples :timeout do |timeout, max:|
173
199
  describe "raising an error after timeout" do
174
200
  let(:num) { max }
@@ -233,6 +259,7 @@ describe "pool", proxy: :Pool do
233
259
  include_examples :min, 10
234
260
  include_examples :max, 20, timeout: 4
235
261
  include_examples :ttl, 1, min: 10, max: 20
262
+ include_examples :ttl_with_nonzero_min, ttl: 1, min: 10, max: 20
236
263
  include_examples :timeout, 4, max: 20
237
264
  end
238
265
 
@@ -243,6 +270,7 @@ describe "pool", proxy: :Pool do
243
270
  include_examples :min, 10
244
271
  include_examples :max, 10, timeout: 4
245
272
  include_examples :ttl, 2, min: 10, max: 10
273
+ include_examples :ttl_with_nonzero_min, ttl: 2, min: 10, max: 10
246
274
  include_examples :timeout, 4, max: 10
247
275
  end
248
276
 
@@ -292,7 +320,7 @@ describe "pool", proxy: :Pool do
292
320
  end
293
321
 
294
322
  it "raises a ShutdownError if the pool is stopped while waiting for a store" do
295
- # Exaust the pool
323
+ # Exhaust the pool
296
324
  store = stores.first
297
325
  allow(store).to receive(:close).once
298
326
  expect(subject.check_out).to eq store
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moneta
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.1
4
+ version: 1.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Mendler
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2020-10-27 00:00:00.000000000 Z
14
+ date: 2021-05-11 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: parallel_tests
@@ -110,10 +110,10 @@ extra_rdoc_files:
110
110
  - SPEC.md
111
111
  - LICENSE
112
112
  files:
113
+ - ".github/workflows/ruby.yml"
113
114
  - ".gitignore"
114
115
  - ".rspec"
115
116
  - ".rubocop.yml"
116
- - ".travis.yml"
117
117
  - ".yardopts"
118
118
  - CHANGES
119
119
  - CONTRIBUTORS
@@ -299,10 +299,8 @@ files:
299
299
  - spec/moneta/adapters/lruhash/standard_lruhash_with_expires_spec.rb
300
300
  - spec/moneta/adapters/memcached/adapter_memcached_spec.rb
301
301
  - spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_spec.rb
302
- - spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_with_default_expires_spec.rb
303
302
  - spec/moneta/adapters/memcached/dalli/standard_memcached_dalli_spec.rb
304
303
  - spec/moneta/adapters/memcached/native/adapter_memcached_native_spec.rb
305
- - spec/moneta/adapters/memcached/native/adapter_memcached_native_with_default_expires_spec.rb
306
304
  - spec/moneta/adapters/memcached/native/standard_memcached_native_spec.rb
307
305
  - spec/moneta/adapters/memcached/standard_memcached_spec.rb
308
306
  - spec/moneta/adapters/memcached_helper.rb
@@ -324,7 +322,6 @@ files:
324
322
  - spec/moneta/adapters/pstore/standard_pstore_spec.rb
325
323
  - spec/moneta/adapters/pstore/standard_pstore_with_expires_spec.rb
326
324
  - spec/moneta/adapters/redis/adapter_redis_spec.rb
327
- - spec/moneta/adapters/redis/adapter_redis_with_default_expires_spec.rb
328
325
  - spec/moneta/adapters/redis/standard_redis_spec.rb
329
326
  - spec/moneta/adapters/restclient/adapter_restclient_spec.rb
330
327
  - spec/moneta/adapters/restclient/helper.rb
@@ -369,7 +366,6 @@ files:
369
366
  - spec/moneta/proxies/optionmerger/optionmerger_spec.rb
370
367
  - spec/moneta/proxies/pool/pool_spec.rb
371
368
  - spec/moneta/proxies/proxy/proxy_expires_memory_spec.rb
372
- - spec/moneta/proxies/proxy/proxy_redis_spec.rb
373
369
  - spec/moneta/proxies/shared/shared_tcp_spec.rb
374
370
  - spec/moneta/proxies/shared/shared_unix_spec.rb
375
371
  - spec/moneta/proxies/transformer/transformer_bencode_spec.rb
@@ -433,9 +429,9 @@ licenses:
433
429
  - MIT
434
430
  metadata:
435
431
  bug_tracker_uri: https://github.com/moneta-rb/moneta/issues
436
- changelog_uri: https://github.com/moneta-rb/moneta/blob/v1.4.1/CHANGES
437
- documentation_uri: https://www.rubydoc.info/gems/moneta/1.4.1
438
- source_code_uri: https://github.com/moneta-rb/moneta/tree/v1.4.1
432
+ changelog_uri: https://github.com/moneta-rb/moneta/blob/v1.4.2/CHANGES
433
+ documentation_uri: https://www.rubydoc.info/gems/moneta/1.4.2
434
+ source_code_uri: https://github.com/moneta-rb/moneta/tree/v1.4.2
439
435
  post_install_message:
440
436
  rdoc_options: []
441
437
  require_paths:
@@ -451,7 +447,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
451
447
  - !ruby/object:Gem::Version
452
448
  version: '0'
453
449
  requirements: []
454
- rubygems_version: 3.1.4
450
+ rubygems_version: 3.2.15
455
451
  signing_key:
456
452
  specification_version: 4
457
453
  summary: A unified interface to key/value stores, including Redis, Memcached, TokyoCabinet,
@@ -545,10 +541,8 @@ test_files:
545
541
  - spec/moneta/adapters/lruhash/standard_lruhash_with_expires_spec.rb
546
542
  - spec/moneta/adapters/memcached/adapter_memcached_spec.rb
547
543
  - spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_spec.rb
548
- - spec/moneta/adapters/memcached/dalli/adapter_memcached_dalli_with_default_expires_spec.rb
549
544
  - spec/moneta/adapters/memcached/dalli/standard_memcached_dalli_spec.rb
550
545
  - spec/moneta/adapters/memcached/native/adapter_memcached_native_spec.rb
551
- - spec/moneta/adapters/memcached/native/adapter_memcached_native_with_default_expires_spec.rb
552
546
  - spec/moneta/adapters/memcached/native/standard_memcached_native_spec.rb
553
547
  - spec/moneta/adapters/memcached/standard_memcached_spec.rb
554
548
  - spec/moneta/adapters/memcached_helper.rb
@@ -570,7 +564,6 @@ test_files:
570
564
  - spec/moneta/adapters/pstore/standard_pstore_spec.rb
571
565
  - spec/moneta/adapters/pstore/standard_pstore_with_expires_spec.rb
572
566
  - spec/moneta/adapters/redis/adapter_redis_spec.rb
573
- - spec/moneta/adapters/redis/adapter_redis_with_default_expires_spec.rb
574
567
  - spec/moneta/adapters/redis/standard_redis_spec.rb
575
568
  - spec/moneta/adapters/restclient/adapter_restclient_spec.rb
576
569
  - spec/moneta/adapters/restclient/helper.rb
@@ -615,7 +608,6 @@ test_files:
615
608
  - spec/moneta/proxies/optionmerger/optionmerger_spec.rb
616
609
  - spec/moneta/proxies/pool/pool_spec.rb
617
610
  - spec/moneta/proxies/proxy/proxy_expires_memory_spec.rb
618
- - spec/moneta/proxies/proxy/proxy_redis_spec.rb
619
611
  - spec/moneta/proxies/shared/shared_tcp_spec.rb
620
612
  - spec/moneta/proxies/shared/shared_unix_spec.rb
621
613
  - spec/moneta/proxies/transformer/transformer_bencode_spec.rb
data/.travis.yml DELETED
@@ -1,146 +0,0 @@
1
- dist: xenial
2
- language: ruby
3
- rvm:
4
- - 2.7
5
- - 2.6
6
- - 2.5
7
- - 2.4
8
- - 2.3
9
- - jruby-9.2.9.0
10
- - rbx-3
11
- services:
12
- - mysql
13
- - riak
14
- - redis
15
- - cassandra
16
- - memcached
17
- - mongodb
18
- - postgresql
19
- addons:
20
- apt:
21
- sources:
22
- - cassandra
23
- - sourceline: "deb https://apache.bintray.com/couchdb-deb xenial main"
24
- key_url: https://couchdb.apache.org/repo/bintray-pubkey.asc
25
- - sourceline: "deb https://packagecloud.io/basho/riak/ubuntu/ xenial main"
26
- key_url: https://packagecloud.io/basho/riak/gpgkey
27
- packages:
28
- - cassandra
29
- - libkyotocabinet-dev
30
- - libleveldb-dev
31
- - liblzo2-dev
32
- - libtdb-dev
33
- - libtokyocabinet-dev
34
- - tokyotyrant
35
- - riak
36
- postgresql: '9.6'
37
- before_install:
38
- - gem install bundler
39
- - script/start-services
40
- cache:
41
- bundler: true
42
- directories:
43
- - downloads
44
- before_script:
45
- - mysql -e 'create database moneta;'
46
- - mysql -e 'create database moneta2;'
47
- - psql -c 'create database moneta1;' -U postgres
48
- - psql -c 'create extension hstore;' -U postgres moneta1
49
- - psql -c 'create database moneta2;' -U postgres
50
- # FIXME: remove this once moneta no longer generates hundreds of warnings
51
- # in Ruby 2.7
52
- - if echo $RUBY_VERSION | grep -q 'ruby-2.7'; then export RUBYOPT='-W0'; fi
53
- - export
54
- env:
55
- matrix:
56
- - SCRIPT='script/parallel-tests ~unstable --
57
- test/action_dispatch/session_moneta_store_test.rb
58
- spec/moneta/adapters/activerecord
59
- spec/moneta/adapters/localmemcache
60
- spec/moneta/adapters/activesupportcache
61
- spec/moneta/adapters/lruhash
62
- spec/moneta/adapters/gdbm
63
- spec/moneta/adapters/null
64
- spec/moneta/adapters/datamapper
65
- spec/moneta/adapters/pstore
66
- spec/moneta/adapters/daybreak
67
- spec/moneta/adapters/redis
68
- spec/moneta/adapters/dbm
69
- spec/moneta/adapters/restclient
70
- spec/moneta/adapters/file
71
- spec/moneta/adapters/fog
72
- spec/moneta/adapters/sdbm
73
- spec/moneta/adapters/tokyocabinet
74
- spec/moneta/adapters/leveldb
75
- spec/moneta/adapters/tokyotyrant
76
- spec/moneta/adapters/lmdb
77
- spec/moneta/adapters/yaml
78
- '
79
- - SCRIPT='script/parallel-tests ~unstable --
80
- spec/moneta/adapters/client
81
- spec/moneta/adapters/memory
82
- spec/moneta/adapters/cookie
83
- spec/moneta/adapters/mongo
84
- spec/moneta/adapters/tdb
85
- spec/moneta/adapters/kyotocabinet
86
- '
87
- - SCRIPT='script/parallel-tests ~unstable --
88
- spec/moneta/adapters/couch/standard_couch_spec.rb
89
- '
90
- - SCRIPT='script/parallel-tests ~unstable --
91
- spec/moneta/adapters/couch/standard_couch_with_expires_spec.rb
92
- '
93
- - SCRIPT='script/parallel-tests ~unstable --
94
- spec/moneta/adapters/memcached/dalli
95
- '
96
- - SCRIPT='script/parallel-tests ~unstable --
97
- spec/moneta/adapters/memcached/native
98
- spec/moneta/adapters/couch/adapter_couch_spec.rb
99
- '
100
- - SCRIPT='script/parallel-tests ~unstable --
101
- spec/moneta/adapters/cassandra/adapter_cassandra_spec.rb
102
- spec/moneta/adapters/cassandra/standard_cassandra_spec.rb
103
- '
104
- - SCRIPT='script/parallel-tests ~unstable --
105
- spec/moneta/adapters/cassandra/adapter_cassandra_with_default_expires_spec.rb
106
- spec/moneta/adapters/hashfile
107
- spec/moneta/adapters/sqlite
108
- spec/moneta/adapters/sequel
109
- '
110
- - SCRIPT='script/parallel-tests ~unstable --
111
- spec/moneta/proxies
112
- '
113
- - SCRIPT='script/parallel-tests ~unstable --remainder'
114
- - SCRIPT='script/parallel-tests unstable'
115
- - SCRIPT='script/benchmarks uniform_small'
116
- - SCRIPT='script/benchmarks uniform_medium'
117
- - SCRIPT='script/benchmarks uniform_large'
118
- - SCRIPT='script/benchmarks normal_small'
119
- - SCRIPT='script/benchmarks normal_medium'
120
- - SCRIPT='script/benchmarks normal_large'
121
- - SCRIPT='rubocop lib'
122
- matrix:
123
- allow_failures:
124
- - rvm: rbx-3
125
- - env: SCRIPT='script/parallel-tests unstable'
126
- exclude:
127
- - rvm: 2.6
128
- env: SCRIPT='rubocop lib'
129
- - rvm: 2.5
130
- env: SCRIPT='rubocop lib'
131
- - rvm: 2.4
132
- env: SCRIPT='rubocop lib'
133
- - rvm: 2.3
134
- env: SCRIPT='rubocop lib'
135
- - rvm: 2.2
136
- env: SCRIPT='rubocop lib'
137
- - rvm: jruby-9.2.9.0
138
- env: SCRIPT='rubocop lib'
139
- - rvm: rbx-3
140
- env: SCRIPT='rubocop lib'
141
-
142
- script: "bundle exec $SCRIPT"
143
- branches:
144
- only:
145
- - master
146
- - travis