cztop 0.13.1 → 0.14.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 8bdb8f9f8cf64b23b91e19ddba6b38a378e86fa6
4
- data.tar.gz: 6e5ad9238d1f6efb1ef564122cd91a264c69ea3b
2
+ SHA256:
3
+ metadata.gz: 1b76df17a50c624efad9617599401e6b76ae5b50700544d37c5c8d0bf28b92a2
4
+ data.tar.gz: c956bf815260cd9cbf7368467a4c9f24d7db33969b706a8ad6d4aa9d61626187
5
5
  SHA512:
6
- metadata.gz: 53e330e301f917bef1a488724dada7b9ba2df3c6416530e7f6e8ea5a5ec615aaedace4eb1fc866e4a492354f83445f510d3034198c2bf809106633acd7077cb6
7
- data.tar.gz: '079fddf5ca0aee71575d4631ddac6c195838626bac39fa6257e5abecdda19e8e79398806b4c3bc7b723cf8f32c1d6311100da64360c87c2b302ca1595abf5293'
6
+ metadata.gz: 35945dabfac2708d8fa666638221495e5beffa0bb901733115a9cdc49a4ed7393e6528f870f5ef6952d780a1ffe96c0eebe24953ee87e20ea058e26d7e6dd333
7
+ data.tar.gz: 38343f20bfad8f9b5a3cf735d6bf4f1d23e7bc74ead44f7ebc09df7dbe4fdf2e50722710b230fdf1f70f99a5967ae3bc3eb77e056e7f24a928c8e6c1da6193f7
@@ -0,0 +1,32 @@
1
+ .rspec:
2
+ image: ruby:latest
3
+ stage: test
4
+ variables:
5
+ ZMQ_VERSION: "stable"
6
+ CZMQ_VERSION: "stable"
7
+ before_script:
8
+ - export LD_LIBRARY_PATH=$HOME/lib # custom libs (for execution)
9
+ - export PKG_CONFIG_PATH=$HOME/lib/pkgconfig # custom libs (for linking)
10
+ - env
11
+ - ci-scripts/install-deps
12
+ - gem install bundler --no-document
13
+ - bundle install --path vendor/bundle
14
+ script:
15
+ - bundle exec rspec
16
+ cache:
17
+ key: "$CI_JOB_NAME"
18
+ paths:
19
+ - "vendor/bundle"
20
+
21
+
22
+ ruby-latest_with_stable_czmq:
23
+ extends: .rspec
24
+ variables:
25
+ CZMQ_VERSION: "stable"
26
+
27
+
28
+ ruby-latest_with_HEAD_czmq:
29
+ extends: .rspec
30
+ allow_failure: true
31
+ variables:
32
+ CZMQ_VERSION: "HEAD"
data/CHANGES.md CHANGED
@@ -1,3 +1,9 @@
1
+ 0.14.1 (11/25/2019)
2
+ -----
3
+ * relax dependencies (ffi)
4
+ * respect env var ZMQ_PATH when loading ZMQ for CZTop::Poller
5
+
6
+
1
7
  0.13.1 (03/04/2018)
2
8
  -----
3
9
  * fix specs
data/README.md CHANGED
@@ -1,25 +1,18 @@
1
1
  # CZTop
2
2
 
3
3
  CZTop is a CZMQ binding for Ruby. It is based on
4
- [czmq-ffi-gen](https://github.com/paddor/czmq-ffi-gen), the generated low-level
4
+ [czmq-ffi-gen](https://gitlab.com/paddor/czmq-ffi-gen), the generated low-level
5
5
  FFI binding of [CZMQ](https://github.com/zeromq/czmq) and has a focus on being
6
6
  easy to use for Rubyists (POLS) and providing first class support for security
7
7
  mechanisms (like CURVE).
8
8
 
9
- You might wanna check out
10
- [cztop-patterns](https://github.com/paddor/cztop-patterns). It's still very
11
- new, but will contain some reusable patterns described in the Zguide.
12
-
13
- [![Build Status on Travis CI](https://travis-ci.org/paddor/cztop.svg?branch=master)](https://travis-ci.org/paddor/cztop?branch=master)
14
- [![Code Climate](https://codeclimate.com/repos/56677a7849f50a141c001784/badges/48f3cca3c62df9e4b17b/gpa.svg)](https://codeclimate.com/repos/56677a7849f50a141c001784/feed)
15
- [![Inline docs](http://inch-ci.org/github/paddor/cztop.svg?branch=master&style=shields)](http://inch-ci.org/github/paddor/cztop)
16
- [![Dependency Status](https://gemnasium.com/paddor/cztop.svg)](https://gemnasium.com/paddor/cztop)
17
- [![Coverage Status](https://coveralls.io/repos/paddor/cztop/badge.svg?branch=master&service=github)](https://coveralls.io/github/paddor/cztop?branch=master)
9
+ [![pipeline status](https://gitlab.com/paddor/cztop/badges/master/pipeline.svg)](https://gitlab.com/paddor/cztop/commits/master)
10
+ [![Coverage Status](https://coveralls.io/repos/gitlab/paddor/cztop/badge.svg?branch=master)](https://coveralls.io/gitlab/paddor/cztop?branch=master)
18
11
  [![ISC License](https://img.shields.io/badge/license-ISC_License-blue.svg)](LICENSE)
19
12
 
20
13
  ## Goals
21
14
 
22
- Here are some some of the goals I have/had in mind for this library:
15
+ Here are some some of the goals I had in mind for this library:
23
16
 
24
17
  - [x] as easy as possible, Ruby-esque API
25
18
  - [x] first class support for security (CURVE mechanism)
@@ -100,11 +93,10 @@ More information in the [API documentation](http://www.rubydoc.info/github/paddo
100
93
  * but you can: `CZTop::Socket.new_by_type(:REP)`
101
94
  * e.g. `#subscribe` only exists on CZTop::Socket::SUB
102
95
  * DRAFT API ready
103
- * CLIENT/SERVER/RADIO/DISH/SCATTER/GATHER and other DRAFT methods are supported if the libraries (ZMQ/CZMQ) have been compiled with DRAFT APIs enabled (`--enable-drafts`)
104
- * there is `#routing_id` and `#routing_id=` on the following classes:
105
- * CZTop::Message
106
- * CZTop::Frame
107
- * there is `#group` and `#group=` on CZTop::Frame
96
+ * certain DRAFT methods are supported if the libraries (ZMQ/CZMQ) have been compiled with DRAFT APIs enabled (`--enable-drafts`)
97
+ * use `CZMQ::FFI.has_draft?` to check if the CZMQ DRAFT API is available
98
+ * use `CZMQ::FFI::LibZMQ.has_draft?` to check if the ZMQ DRAFT API is available
99
+ * extend CZTop to your needs
108
100
  * ZMTP 3.1 heartbeat ready
109
101
  * `socket.options.heartbeat_ivl = 2000`
110
102
  * `socket.options.heartbeat_timeout = 8000`
@@ -113,8 +105,8 @@ More information in the [API documentation](http://www.rubydoc.info/github/paddo
113
105
 
114
106
  You'll need:
115
107
 
116
- * CZMQ >= 4.0.0
117
- * ZMQ >= 4.2.0
108
+ * CZMQ >= 4.1
109
+ * ZMQ >= 4.2
118
110
 
119
111
  For security mechanisms like CURVE, it's recommended to use Libsodium. However,
120
112
  ZMQ can be compiled with tweetnacl enabled.
@@ -165,222 +157,22 @@ Or install it yourself as:
165
157
  The API should be fairly straight-forward to anyone who is familiar with CZMQ
166
158
  and Ruby. The following API documentation is currently available:
167
159
 
168
- * [YARD API documentation](http://www.rubydoc.info/github/paddor/cztop) (HEAD)
169
160
  * [YARD API documentation](http://www.rubydoc.info/gems/cztop) (release)
170
161
 
171
- Feel free to start a [wiki](https://github.com/paddor/cztop/wiki) page.
162
+ Feel free to start a [wiki](https://gitlab.com/paddor/cztop/wiki) page.
172
163
 
173
164
  ## Performance
174
165
 
175
166
  Performance should be pretty okay since this is based on czmq-ffi-gen, which is
176
- reasonably thin. CZTop is basically only a convenience layer on top, with some
177
- nice error checking. But hey, it's Ruby. Don't expect 5M messages per second
178
- with a latency of 3us.
179
-
180
- The measured latency on my laptop ranges from ~20us to ~60us per message for
181
- 1kb messages, depending on whether transport is inproc, IPC, or TCP/IP.
167
+ reasonably thin. CZTop is just a convenience layer.
182
168
 
183
- Make sure you check out the
184
- [perf](https://github.com/paddor/cztop/blob/master/perf) directory for latency
169
+ Make sure to check out the
170
+ [perf](https://gitlab.com/paddor/cztop/blob/master/perf) directory for latency
185
171
  and throughput measurement scripts.
186
172
 
187
173
  ## Usage
188
174
 
189
- See the [examples](https://github.com/paddor/cztop/blob/master/examples) directory for some examples. Here's a very simple one:
190
-
191
- ### rep.rb:
192
-
193
- ```ruby
194
- #!/usr/bin/env ruby
195
- require 'cztop'
196
-
197
- # create and bind socket
198
- socket = CZTop::Socket::REP.new("ipc:///tmp/req_rep_example")
199
- puts "<<< Socket bound to #{socket.last_endpoint.inspect}"
200
-
201
- # Simply echo every message, with every frame String#upcase'd.
202
- while msg = socket.receive
203
- puts "<<< #{msg.to_a.inspect}"
204
- socket << msg.to_a.map(&:upcase)
205
- end
206
- ```
207
-
208
- ### req.rb:
209
-
210
- ```ruby
211
- #!/usr/bin/env ruby
212
- require 'cztop'
213
-
214
- # connect
215
- socket = CZTop::Socket::REQ.new("ipc:///tmp/req_rep_example")
216
- puts ">>> Socket connected."
217
-
218
- # simple string
219
- socket << "foobar"
220
- msg = socket.receive
221
- puts ">>> #{msg.to_a.inspect}"
222
-
223
- # multi frame message as array
224
- socket << %w[foo bar baz]
225
- msg = socket.receive
226
- puts ">>> #{msg.to_a.inspect}"
227
-
228
- # manually instantiating a Message
229
- msg = CZTop::Message.new("bla")
230
- msg << "another frame" # append a frame
231
- socket << msg
232
- msg = socket.receive
233
- puts ">>> #{msg.to_a.inspect}"
234
-
235
- ##
236
- # This will send 20 additional messages:
237
- #
238
- # $ ./req.rb 20
239
- #
240
- if ARGV.first
241
- ARGV.first.to_i.times do
242
- socket << ["fooooooooo", "baaaaaar"]
243
- puts ">>> " + socket.receive.to_a.inspect
244
- end
245
- end
246
- ```
247
-
248
- ### Running it
249
-
250
- ```
251
- $ ./rep.rb & ./req.rb 3
252
- [3] 35321
253
- >>> Socket connected.
254
- <<< Socket bound to "ipc:///tmp/req_rep_example"
255
- <<< ["foobar"]
256
- >>> ["FOOBAR"]
257
- <<< ["foo", "bar", "baz"]
258
- >>> ["FOO", "BAR", "BAZ"]
259
- <<< ["bla", "another frame"]
260
- >>> ["BLA", "ANOTHER FRAME"]
261
- <<< ["fooooooooo", "baaaaaar"]
262
- >>> ["FOOOOOOOOO", "BAAAAAAR"]
263
- <<< ["fooooooooo", "baaaaaar"]
264
- >>> ["FOOOOOOOOO", "BAAAAAAR"]
265
- <<< ["fooooooooo", "baaaaaar"]
266
- >>> ["FOOOOOOOOO", "BAAAAAAR"]
267
- $
268
- ```
269
-
270
- ## TODO
271
-
272
- * [x] pack generated code into its own gem ([czmq-ffi-gen](https://github.com/paddor/czmq-ffi-gen))
273
- * think of a neat Ruby API, including:
274
- - [x] Actor
275
- - [x] Beacon
276
- - [x] Certificate
277
- - [x] Socket
278
- - [50%] access to all socket options
279
- - [x] Security mechanisms
280
- - [x] Message
281
- - [x] Frame
282
- - [x] enumerable Frames
283
- - [x] Authenticator
284
- - [x] Loop
285
- - [x] Monitor
286
- - [x] Poller
287
- - [x] Proxy
288
- - [x] Config
289
- - [x] Z85
290
- * write the missing XML API files in CZMQ
291
- - [x] zarmour.xml
292
- - [x] zconfig.xml
293
- - [x] zsock_option.xml
294
- - [x] zcert.xml
295
- - [x] zcertstore.xml
296
- * [x] check availability of libsodium within CZTop
297
- * [x] read error strings for exceptions where appropriate (zmq_strerror)
298
- * [x] add support for ZMTP 3.1 heartbeats in CZMQ
299
- * [x] add padded variant of Z85
300
- * add more examples
301
- * [x] [simple REQ/REP](https://github.com/paddor/cztop/tree/master/examples/simple_req_rep)
302
- * [x] [Taxy System](https://github.com/paddor/cztop/tree/master/examples/taxi_system) with CURVE security and heartbeating
303
- * [x] change from ROUTER/DEALER to SERVER/CLIENT
304
- * [x] [Actor](https://github.com/paddor/cztop/tree/master/examples/ruby_actor) with Ruby block
305
- * [ ] PUSH/PULL
306
- * [ ] PUB/SUB
307
- * [ ] add performance benchmarks
308
- * [x] inproc latency
309
- * [x] inproc throughput
310
- * [x] local/remote latency
311
- * [ ] local/remote throughput
312
- * see [perf](https://github.com/paddor/cztop/blob/master/perf) directory
313
- * [x] support older versions of ZMQ
314
- * [x] ZMQ HEAD
315
- * [x] tested on CI
316
- * [x] ZMQ 4.1
317
- * [x] tested on CI
318
- * as of April 2016, this isn't the case anymore
319
- * [x] ZMQ 4.0
320
- * [x] tested on CI
321
- * as of March 2016, this isn't the case anymore
322
- * [ ] ZMQ 3.2
323
- * too big a pain ([d5172ab](https://github.com/paddor/czmq-ffi-gen/commit/d5172ab6db64999c50ba24f71569acf1dd45af51))
324
- * [x] support multiple versions of CZMQ
325
- * [x] CZMQ HEAD
326
- * [x] test on CI
327
- * [x] CZMQ 3.0.2 (current stable)
328
- * no `zcert_meta_unset()` ([zeromq/czmq#1246](https://github.com/zeromq/czmq/issues/1246))
329
- * [x] adapt czmq-ffi-gen so it doesn't raise while `attach_function`
330
- * no `zproc`(especially no `zproc_has_curve()`)
331
- * [x] adapt czmq-ffi-gen so it doesn't raise while `attach_function`, attach `zsys_has_curve()` instead (under same name)
332
- * [x] adapt test suite to skip affected test examples
333
- * [x] test on CI
334
- * as of March, 2016, this isn't the case anymore
335
- * [x] port [Poller](http://www.rubydoc.info/gems/cztop/CZTop/Poller) to `zmq_poll()`
336
- * backwards compatible (`#add_reader`, `#add_writer`, `#wait` behave the same)
337
- * but in addition, it has `#readables` and `#writables` which return arrays of sockets
338
- * could then be used in Celluloid::ZMQ
339
- * [ ] add `Message#to_s`
340
- * return frame as string, if there's only one frame
341
- * raise if there are multiple frames
342
- * only safe to use on messages from SERVER/CLIENT sockets
343
- * single-part messages are the future
344
- * not sure yet
345
- * [x] get rid of Loop
346
- * cannot handle CLIENT/SERVER sockets
347
- * there good timer gems for Ruby
348
- * Poller can be used to embed in an existing event loop (Celluloid), or make your own trivial one
349
- * [x] provide `z85encode` and `z85decode` utilities
350
- * can be used in a pipeline (limited memory usage)
351
- * reusable interface: `Z85::Pipe`
352
-
353
- ## Reasons
354
-
355
- Why another CZMQ Ruby binding? Here is a list of existing projects I found and
356
- the issues with them, from my point of view:
357
-
358
- * [Asmod4n/ruby-ffi-czmq](https://github.com/Asmod4n/ruby-ffi-czmq)
359
- * outdated
360
- * according to its author, it's an "abomination"
361
- * [methodmissing/rbczmq](https://github.com/methodmissing/rbczmq)
362
- * no support for security features (see [methodmissing/rbczmq#28](https://github.com/methodmissing/rbczmq/issues/28))
363
- * no JRuby support (see [methodmissing/rbczmq#48](https://github.com/methodmissing/rbczmq/issues/48))
364
- * doesn't feel like Ruby
365
- * [mtortonesi/ruby-czmq](https://github.com/mtortonesi/ruby-czmq)
366
- * no tests
367
- * no documentation
368
- * outdated
369
- * doesn't feel like Ruby
370
- * [chuckremes/ffi-rzmq](https://github.com/chuckremes/ffi-rzmq)
371
- * support discontinued
372
- * low level ZMQ gem, not CZMQ
373
-
374
- Furthermore, I knew about the generated low-level Ruby FFI binding in the
375
- [zeromq/czmq](https://github.com/zeromq/czmq) repository. I wanted to make use
376
- of it because I love that it's generated (and thus, most likely correct
377
- and up-to-date). Unfortunately, it was in pretty bad shape and missing a few
378
- CZMQ classes.
379
-
380
- So I decided to improve the quality and usability of the binding and add the
381
- missing classes. The result is
382
- [czmq-ffi-gen](https://github.com/paddor/czmq-ffi-gen) which provides a solid
383
- foundation for CZTop.
175
+ See the [examples](https://gitlab.com/paddor/cztop/blob/master/examples) directory for some examples.
384
176
 
385
177
 
386
178
  ## Contributing
@@ -2,7 +2,7 @@
2
2
  set -e
3
3
  mkdir -p vendor
4
4
  cd vendor
5
- git clone --depth 1 https://github.com/paddor/czmq-ffi-gen
5
+ git clone --depth 1 https://gitlab.com/paddor/czmq-ffi-gen
6
6
  cd czmq-ffi-gen
7
7
  ci-scripts/install-libzmq
8
8
  ci-scripts/install-libczmq
@@ -18,10 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency "czmq-ffi-gen", "~> 0.15.0"
21
+ spec.add_runtime_dependency "czmq-ffi-gen", "~> 0.16"
22
22
 
23
- spec.add_development_dependency "bundler", "~> 1.10"
24
- spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "bundler"
24
+ spec.add_development_dependency "rake"
25
25
  spec.add_development_dependency "rspec"
26
26
  spec.add_development_dependency "minitest"
27
27
  spec.add_development_dependency "rspec-given", "~> 3.8.0"
@@ -8,7 +8,7 @@ module CZTop
8
8
  # Warns if CURVE security isn't available.
9
9
  # @return [void]
10
10
  def self.check_curve_availability
11
- return if Zproc.has_curve
11
+ return if Zsys.has_curve
12
12
  warn "CZTop: CURVE isn't available. Consider installing libsodium."
13
13
  end
14
14
 
@@ -9,8 +9,9 @@ module CZTop
9
9
 
10
10
  extend ::FFI::Library
11
11
  lib_name = 'libzmq'
12
- lib_paths = ['/usr/local/lib', '/opt/local/lib', '/usr/lib64']
13
- .map { |path| "#{path}/#{lib_name}.#{::FFI::Platform::LIBSUFFIX}" }
12
+ lib_dirs = ['/usr/local/lib', '/opt/local/lib', '/usr/lib64']
13
+ lib_dirs = [*ENV['LIBZMQ_PATH'].split(':'), *lib_dirs] if ENV['LIBZMQ_PATH']
14
+ lib_paths = lib_dirs.map { |path| "#{path}/#{lib_name}.#{::FFI::Platform::LIBSUFFIX}" }
14
15
  ffi_lib lib_paths + [lib_name]
15
16
 
16
17
  # This represents a +zmq_poller_event_t+ as in:
@@ -1,3 +1,3 @@
1
1
  module CZTop
2
- VERSION = "0.13.1"
2
+ VERSION = "0.14.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cztop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.1
4
+ version: 0.14.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrik Wenger
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-03-04 00:00:00.000000000 Z
11
+ date: 2019-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: czmq-ffi-gen
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.15.0
19
+ version: '0.16'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.15.0
26
+ version: '0.16'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1.10'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '1.10'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -216,8 +216,8 @@ extensions: []
216
216
  extra_rdoc_files: []
217
217
  files:
218
218
  - ".gitignore"
219
+ - ".gitlab-ci.yml"
219
220
  - ".rspec"
220
- - ".travis.yml"
221
221
  - ".yardopts"
222
222
  - AUTHORS
223
223
  - CHANGES.md
@@ -302,8 +302,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
302
302
  - !ruby/object:Gem::Version
303
303
  version: '0'
304
304
  requirements: []
305
- rubyforge_project:
306
- rubygems_version: 2.6.8
305
+ rubygems_version: 3.0.6
307
306
  signing_key:
308
307
  specification_version: 4
309
308
  summary: CZMQ Ruby binding, based on the generated low-level FFI bindings of CZMQ
@@ -1,37 +0,0 @@
1
- language: ruby
2
- dist: trusty
3
- sudo: false
4
- cache:
5
- directories:
6
- - $HOME/.ccache
7
- - $HOME/.bundle
8
- rvm:
9
- - 2.4.2
10
- - 2.3.5
11
- - 2.2.8
12
- - jruby-head
13
- - rubinius-3.86
14
- env:
15
- # NOTE: These are recognized by czmq-ffi-gen's CI scripts.
16
- - CZMQ_VERSION=HEAD ZMQ_VERSION=HEAD
17
- - CZMQ_VERSION=stable ZMQ_VERSION=stable
18
- matrix:
19
- exclude:
20
- - rvm: 2.3.5
21
- env: CZMQ_VERSION=HEAD ZMQ_VERSION=HEAD
22
- - rvm: 2.2.8
23
- env: CZMQ_VERSION=HEAD ZMQ_VERSION=HEAD
24
- - rvm: jruby-head
25
- env: CZMQ_VERSION=HEAD ZMQ_VERSION=HEAD
26
- - rvm: rubinius-3.86
27
- env: CZMQ_VERSION=HEAD ZMQ_VERSION=HEAD
28
- allow_failures:
29
- - rvm: rubinius-3.86
30
- before_install:
31
- - PATH="/usr/lib/ccache:$PATH" # enable ccache
32
- - export LD_LIBRARY_PATH=$HOME/lib # custom libs (for execution)
33
- - export PKG_CONFIG_PATH=$HOME/lib/pkgconfig # custom libs (for linking)
34
- - export BUNDLE_PATH=$HOME/.bundle # bundle caching
35
- - ci-scripts/install-deps
36
- - gem install bundler -v 1.10.6
37
- script: bundle exec rake spec