Skip to content

Commit 91f5898

Browse files
authored
Merge pull request #227 from ioquatix/add-development-workflow
CI: Add development Workflow for testing using GitHub Actions
2 parents 497a304 + a8a8b33 commit 91f5898

20 files changed

+120
-76
lines changed

.github/workflows/development.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Development
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
test:
7+
name: ${{matrix.ruby}} on ${{matrix.os}}
8+
runs-on: ${{matrix.os}}-latest
9+
continue-on-error: ${{matrix.experimental}}
10+
11+
strategy:
12+
matrix:
13+
os:
14+
- ubuntu
15+
16+
ruby:
17+
- "2.6"
18+
- "2.7"
19+
- "3.0"
20+
21+
experimental: [false]
22+
env: [""]
23+
24+
include:
25+
- os: ubuntu
26+
ruby: truffleruby
27+
experimental: true
28+
- os: ubuntu
29+
ruby: jruby
30+
experimental: true
31+
- os: ubuntu
32+
ruby: head
33+
experimental: true
34+
35+
steps:
36+
- uses: actions/checkout@v2
37+
38+
- name: Install dependencies
39+
run: sudo apt-get install libcurl4-openssl-dev
40+
41+
- uses: ruby/setup-ruby@v1
42+
with:
43+
ruby-version: ${{matrix.ruby}}
44+
bundler-cache: true
45+
46+
- name: Run tests
47+
timeout-minutes: 5
48+
run: ${{matrix.env}} bundle exec rspec

.travis.yml

Lines changed: 0 additions & 6 deletions
This file was deleted.

Gemfile

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,20 @@ gemspec
33

44
gem 'jruby-openssl', :platforms => :jruby
55

6-
# compatibility restrictions for http clients under existing travis test environments
7-
gem 'public_suffix', '~> 2.0' # or remove rubies < 2.1 from travis.yml
6+
gem 'public_suffix', '~> 4.0'
87

98
# http clients
109
gem 'httpclient', '~> 2.3', :require => false
11-
gem 'curb', '~> 0.8', :require => false, :platforms => :ruby
12-
gem 'em-http-request', :require => false, :platforms => [:ruby, :jruby]
10+
gem 'curb', '~> 0.8', :require => false, :platforms => [:ruby]
11+
gem 'em-http-request', :require => false, :platforms => [:ruby]
1312
gem 'em-synchrony', :require => false, :platforms => [:ruby, :jruby]
1413
gem 'excon', '~> 0.21', :require => false, :platforms => [:ruby, :jruby]
15-
gem 'net-http-persistent', '~> 2.8', :require => false
14+
gem 'net-http-persistent', '~> 4.0', :require => false
1615
gem 'http', :require => false
1716

17+
# adapter extensions
18+
gem 'rack'
19+
gem 'socksify'
20+
1821
# coverage
1922
gem 'simplecov', :require => false
20-
gem 'coveralls_reborn', :require => false

README.md

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,7 @@ A common interface for Ruby's HTTP libraries.
55
[Documentation](https://www.rubydoc.info/gems/httpi) |
66
[Mailing list](https://groups.google.com/forum/#!forum/httpirb)
77

8-
[![Build Status](https://secure.travis-ci.org/savonrb/httpi.svg?branch=master)](http://travis-ci.org/savonrb/httpi)
9-
[![Gem Version](https://badge.fury.io/rb/httpi.svg)](http://badge.fury.io/rb/httpi)
10-
[![Code Climate](https://codeclimate.com/github/savonrb/httpi.svg)](https://codeclimate.com/github/savonrb/httpi)
11-
[![Coverage Status](https://coveralls.io/repos/savonrb/httpi/badge.svg?branch=master)](https://coveralls.io/r/savonrb/httpi)
12-
8+
[![Development Status](https://github.com/savon/httpi/workflows/Development/badge.svg)](https://github.com/savon/httpi/actions?workflow=Development)
139

1410
## Installation
1511

@@ -28,7 +24,6 @@ gem 'httpi', '~> 2.1.0'
2824

2925
## Usage example
3026

31-
3227
``` ruby
3328
require "httpi"
3429

httpi.gemspec

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,19 @@ Gem::Specification.new do |s|
1111
s.homepage = "http://github.com/savonrb/#{s.name}"
1212
s.summary = "Common interface for Ruby's HTTP libraries"
1313
s.description = s.summary
14-
s.required_ruby_version = '>= 1.9.2'
14+
15+
s.required_ruby_version = '>= 2.3'
1516

1617
s.license = 'MIT'
1718

1819
s.add_dependency 'rack'
1920
s.add_dependency 'socksify'
2021

2122
s.add_development_dependency 'rubyntlm', '~> 0.3.2'
22-
s.add_development_dependency 'rake', '~> 10.0'
23+
s.add_development_dependency 'rake', '~> 13.0'
2324
s.add_development_dependency 'rspec', '~> 3.5'
2425
s.add_development_dependency 'mocha', '~> 0.13'
25-
s.add_development_dependency 'puma', '~> 2.3.2'
26+
s.add_development_dependency 'puma', '~> 5.0'
2627
s.add_development_dependency 'webmock'
2728

2829
s.files = `git ls-files`.split("\n")

spec/fixtures/client_cert.pem

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
-----BEGIN CERTIFICATE-----
2-
MIICbTCCAdYCCQDC4v8d04615DANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJE
3-
RTEQMA4GA1UECBMHSGFtYnVyZzEQMA4GA1UEBxMHSGFtYnVyZzEOMAwGA1UEChMF
4-
aHR0cGkxFDASBgNVBAMTC2V4YW1wbGUuY29tMSIwIAYJKoZIhvcNAQkBFhNleGFt
5-
cGxlQGV4YW1wbGUuY29tMB4XDTEwMTAxNTE4NTg0N1oXDTExMTAxNTE4NTg0N1ow
6-
ezELMAkGA1UEBhMCREUxEDAOBgNVBAgTB0hhbWJ1cmcxEDAOBgNVBAcTB0hhbWJ1
7-
cmcxDjAMBgNVBAoTBWh0dHBpMRQwEgYDVQQDEwtleGFtcGxlLmNvbTEiMCAGCSqG
8-
SIb3DQEJARYTZXhhbXBsZUBleGFtcGxlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOB
9-
jQAwgYkCgYEAvJiaojIFQAbFczXkBmjxpxra9LbQm0VIESFSl8uBSjmG/gmCBwKg
10-
8O94P3tAjDNClC+fEqBLE37KH4qe76yw7upgRruP5jQzUEL1yCaVtA/DoqgaCxZy
11-
7VhB2A3f71Zw6kQPt3BOME68fnGsTX65x9XAawCGzGmJSk/Z6wvml1MCAwEAATAN
12-
BgkqhkiG9w0BAQUFAAOBgQCxOyni9LOKf17vUKVG8Y4TBzRYwm8/hlEdVEU3JKG0
13-
/aCCwIJLHl+z+3L4r81IN3+YKrHilqx9K0emboJbBRQklYsv/AE+J44Bq3llRiro
14-
0e5zwH61jb1j+kxhcxoGiiy8R7hYho24ljuMgFGqtK3kZSP/t9tBLLVp+ItWQ6xX
15-
5g==
2+
MIIDVTCCAj2gAwIBAgIBATANBgkqhkiG9w0BAQsFADAjMSEwHwYDVQQKDBhEZXZl
3+
bG9wbWVudC9DTj1sb2NhbGhvc3QwHhcNMTgwODEwMDAzMTQzWhcNMjgwODA3MDAz
4+
MTQzWjAjMSEwHwYDVQQKDBhEZXZlbG9wbWVudC9DTj1sb2NhbGhvc3QwggEiMA0G
5+
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDbU3vifU9omTx5T6ECuYnvryr4iWPP
6+
A4sXhduO8aD3IdA8zHlPtZnmh0liE30nAY00xKa4Eisxs9/UgUoHlEb5nCtYs6Od
7+
9pjiuyry2G5lBHIhLlVNTbReRKfjhr3ewUxcnQN0xiynjfsUMbzoVI1ZsGDWZ9gF
8+
4DHg3Accee3+/BNBDTWixYXh64D9YI1Tj/3fC1I2taUp32jdLXE9mbCByQlk5EZf
9+
BZUWx868FtwwzU3ymbq2uQQtTl5a0QHqLUwb0nkdewoRvaZJFkopI+1tgy0Hs+pY
10+
QM99vQWS7ViM5qbVYtPil/4VVWJbx/kQi/To4/Q8TxYbIRkoeJSOq9U3AgMBAAGj
11+
gZMwgZAwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQU4W1eb4Zc4NOpBe8UXcmIzLHB
12+
FFQwSwYDVR0jBEQwQoAU4W1eb4Zc4NOpBe8UXcmIzLHBFFShJ6QlMCMxITAfBgNV
13+
BAoMGERldmVsb3BtZW50L0NOPWxvY2FsaG9zdIIBATAUBgNVHREEDTALgglsb2Nh
14+
bGhvc3QwDQYJKoZIhvcNAQELBQADggEBAM7oYR6eVIascNLhgfJFboVernRl137Y
15+
7hyjBQTSleMame/VN1MwMscUYpen8rFu9lUviKe9fxV/7OqNR4vvZ83ttbb+CxJ7
16+
3mwoQHufjrGcxsWUKrmtJsXAGZpGJFw7ygnKDAfDPKWSKYeUuQ417AutPWSvhWqa
17+
LEohhNCeHJj/+3U2vj2g2rvy0AASeMff9IMz/lpPZ2bjJQjlITXXPvswB2/uZSRT
18+
KWEifqfo03/nTjhzN7dz2hXEeZHroCq6FZa1R6smYVM79TORFWiKfdKtjXI8wQQ2
19+
BhVJpWQB2yw9d/4Q7x2EPjJEPiVoRLW0vF8uxr++14nhVkSpYJCSNAw=
1620
-----END CERTIFICATE-----

spec/fixtures/client_key.pem

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,27 @@
11
-----BEGIN RSA PRIVATE KEY-----
2-
MIICXQIBAAKBgQC8mJqiMgVABsVzNeQGaPGnGtr0ttCbRUgRIVKXy4FKOYb+CYIH
3-
AqDw73g/e0CMM0KUL58SoEsTfsofip7vrLDu6mBGu4/mNDNQQvXIJpW0D8OiqBoL
4-
FnLtWEHYDd/vVnDqRA+3cE4wTrx+caxNfrnH1cBrAIbMaYlKT9nrC+aXUwIDAQAB
5-
AoGBAKjrGh1KJg+pwPInA5yGJGMil5h1obRgwmKtcPeKi7u6eOFSDMdQoGwMYKyj
6-
LTYlt21Yleat8XB9sHW9yAstpq5dU8Id2A4wfbJeaBYpek7u5+QwBENO4UrnulTk
7-
W0d+jECBVYECn8wCStxfoFcQQRhlGrsOn05379cD8e1odMOJAkEA3o/7CsgXqahG
8-
7L1HaWYtKnpFfTS+EQgdGvSahOolByAKTtMA2TUBU1FdlCk+ggWBGorqmWON5Qnm
9-
7UDHjOasZQJBANjuPOqa9ubqHccGwHec+72pQz6q5e8f1gf1XPn7EEuXsBzYiMMH
10-
qEa8zpfF0TmhQ0oWN75Cq709gfVVBfx/bVcCQHan1HN/Ef6FlKqKjxQGQXYwEfQa
11-
tmpmJP5GAktyeaM+1cAIhp9GvxooeveOtaCkRpxcC48ToIbHrLI4oyrfoHECQQC6
12-
bAHtmz6TMp5ka2j7Yez1EIC5WiQ/WxyTukgsi5V1YOX35B2jfPEf2SGxTE6BOBSb
13-
lnxRBPqRpkoIiwiZ9OgBAkBOWKBuHXmXM6wr+0p4KQ/DOeStZiBxUT8rYbX/i1BI
14-
/9Xo48KNerTx7qoDK+jIslDrilahvcwUz0fuVV7rHy/X
2+
MIIEpAIBAAKCAQEA21N74n1PaJk8eU+hArmJ768q+IljzwOLF4XbjvGg9yHQPMx5
3+
T7WZ5odJYhN9JwGNNMSmuBIrMbPf1IFKB5RG+ZwrWLOjnfaY4rsq8thuZQRyIS5V
4+
TU20XkSn44a93sFMXJ0DdMYsp437FDG86FSNWbBg1mfYBeAx4NwHHHnt/vwTQQ01
5+
osWF4euA/WCNU4/93wtSNrWlKd9o3S1xPZmwgckJZORGXwWVFsfOvBbcMM1N8pm6
6+
trkELU5eWtEB6i1MG9J5HXsKEb2mSRZKKSPtbYMtB7PqWEDPfb0Fku1YjOam1WLT
7+
4pf+FVViW8f5EIv06OP0PE8WGyEZKHiUjqvVNwIDAQABAoIBAQCbixNaxt/gIHyg
8+
0/YuRoMqdqIU7OrZz3t/TTEuqPItEc/qrmCCRRpGQT+rzIJ/fTw1ZhmOhWQYtaZR
9+
wPdNdLz5HOYo3A13Y4F9mpuU6iUwgvylx4Q7dJYsHKisVcymA5QyQjBHSpw0oB6m
10+
bbe5VO2B4/JpW+/6CsuU2rY4XciJgc+MDitqxgZOfMK8xcOiQ4EDa1OxL3TeZcYQ
11+
F5yUc39DhIDV03O/AFYnMZUMUQFNpSAyktms6YUL1JhwozcCaXB/da8TVRrLz1pl
12+
Cj3p2VgzHKa40NVCjXc2nvPCYRMF0yD0Jm9fRJPsCkVS3wtGgqQW+rwum1p/UPTr
13+
6x0MGd7RAoGBAPbxwBLiPyRnLy+9qgu2fS0JwXcG/6d6bhUrWS4hjzoggKyDz8Jg
14+
4KByXxnJVigZ8qlkynZKfb3FMuAPNxHxFhK5qPDNxV2UsdnR6RbDc9Sba8mBmzhl
15+
vvJSH7Nf7B0ws7sTzecXkh3BkaP5rhPycOxdLJs705p4RUALkDW7hn1NAoGBAONe
16+
dfmO49s2y1Ye2XrRCmGqfVa0n4pFmQajgputc4BPkf3XudtH365O0QEwt54Nw3dQ
17+
IvFzq/f0XVhkw4Coo38WZ4nTctbW/ZkVvKJnk2DJE1ubNJvw1wHzwz848BVT/b4Z
18+
VplqNDPvWmEmGFzrLeOwPZfDcglDxaCpjF7q0GqTAoGAcEOjUHJuxjvqpceR4NVL
19+
vwfqXhRecWMlXJZiaqhzFrfkB4m9D98+/3I/bdesRXrWaNAbgv+GfpmB8X65SHzT
20+
zht9hEvn6A1LdX0KfIDKzeMCc49qY49N6ZgQNVnsW7DiZLAyMVbz5Hc1oNhHnWXg
21+
lHQfbUsbfeQjh2Q6YVMpZxkCgYAmC2pGJciup46CjIrraAsKqJJsbbC8XETsvXNf
22+
RTisYaQWC4DH1lDxQ7LpNhOjWL46Oqh+KlK+HJ956PJlltI0s7UDdOQkWrj4YpC7
23+
xAT/DuY0T9YPuc7gPr+O1qIlj3ZH1smMxh6SChzfYJZ3BcsZ7CWCPWvZbQOmjHg2
24+
cagKDQKBgQCjuICU3aElEXyGwPCEazVakgcuAuiAAjECQrHrbSVPaTDu6Cumupkw
25+
50ypk/qJ3DegEumpufwLg37A9yFogkkHBI9Sw0PVjzXM0iWJsHceLTHWUgJBWcl3
26+
5Sl/AacXbUHz4NMqARNVrfR3DP33Z/YXJ4bpsVswEjD51jPwwluwyA==
1527
-----END RSA PRIVATE KEY-----

spec/httpi/adapter/em_http_spec.rb

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
require "httpi/adapter/em_http"
33
require "httpi/request"
44

5-
begin
5+
unless RUBY_PLATFORM =~ /java/
66
HTTPI::Adapter.load_adapter(:em_http)
77

88
describe HTTPI::Adapter::EmHttpRequest do
@@ -177,10 +177,4 @@ def http_message(body = Fixture.xml)
177177
end
178178

179179
end
180-
rescue LoadError => e
181-
if e.message =~ /fiber/
182-
warn "LoadError: #{e.message} (EventMachine requires fibers)"
183-
else
184-
raise e
185-
end
186180
end

spec/httpi/adapter/httpclient_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@
143143
end
144144

145145
it 'should set the ciphers if specified' do
146-
request.auth.ssl.ciphers = OpenSSL::Cipher.ciphers
146+
request.auth.ssl.ciphers = OpenSSL::SSL::SSLContext.new.ciphers
147147
ssl_config.expects(:ciphers=).with(request.auth.ssl.ciphers)
148148

149149
adapter.request(:get)

spec/httpi/auth/ssl_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@
200200
end
201201

202202
context 'with ciphers' do
203-
before { ssl.ciphers = OpenSSL::Cipher.ciphers }
203+
before { ssl.ciphers = OpenSSL::SSL::SSLContext.new.ciphers }
204204

205205
it { is_expected.to be_any.and(all(be_an_instance_of(String))) }
206206
end

0 commit comments

Comments
 (0)