yes_ship_it 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 386f935bfc176acc42ce8db6dbd265ee71cd2755
4
- data.tar.gz: d9c5db583f23cf9dbef738c0240ff1e75cedf67d
2
+ SHA256:
3
+ metadata.gz: be8b01a1d9a12d083bd94de3b302a6f2a21fb67747ee79913b435dafb32f47e1
4
+ data.tar.gz: d55a649008a05966837fc3d7d070ac7fec0fa631615711b53fed0c97b3b8d789
5
5
  SHA512:
6
- metadata.gz: 9dfc18b1ee1062e65dd9ba975cf8343dd16d07d56f4f00d4a37db446fa3bc39d8f5fa95bb1a1be573d83974ae17401232dbe43cfaeba4756f13cc07ec7e10002
7
- data.tar.gz: 856b65c05ae1a909705be57c700594dfa6f67162f50ef6348653582327d57ada1dbdf96188e639acd407b5047cf26cf0d6224a72aba580e2b04688376aa38ab6
6
+ metadata.gz: 5dd3d86ef3169db543b724088af7ec2e9cf804737dc858cfac3c30eb50b8264ddd48eb166f641b49cce62db56f62068db82da676c6f0b306d74b0913c3cb8fc0
7
+ data.tar.gz: 860e1901d6fbc0c47dd79c4c2cee50cadff9834c6fef7afe5985455de99213cac38aa0105ad8b909a985f8eae2b0d5eb0989ad9930d17c94afee412980dda4e0
@@ -0,0 +1,23 @@
1
+ name: Ruby CI
2
+
3
+ on: [push, pull_request]
4
+
5
+ jobs:
6
+ test:
7
+
8
+ runs-on: ubuntu-latest
9
+
10
+ strategy:
11
+ matrix:
12
+ ruby-version: [3.0.1, 2.7.3, 2.6.7]
13
+
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ - name: Set up Ruby ${{ matrix.ruby-version }}
17
+ uses: ruby/setup-ruby@v1
18
+ with:
19
+ ruby-version: ${{ matrix.ruby-version }}
20
+ - name: Install dependencies
21
+ run: bundle install
22
+ - name: Run tests
23
+ run: bundle exec rspec spec/unit
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.3
@@ -1,13 +1,11 @@
1
1
  module YSI
2
2
  class ReleaseBranch < Assertion
3
+ parameter :branch, "master"
4
+
3
5
  def self.display_name
4
6
  "release branch"
5
7
  end
6
8
 
7
- def branch
8
- "master"
9
- end
10
-
11
9
  def current_branch
12
10
  git_branch.each_line do |line|
13
11
  if line =~ /\* (.*)/
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module YSI
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
@@ -407,7 +407,7 @@ EOT
407
407
  end
408
408
  end
409
409
 
410
- plugin_path = File.join(dir, "yes_ship_it", "assertions", "my_plugin.rb")
410
+ plugin_path = File.join(path_prefix, dir, "yes_ship_it", "assertions", "my_plugin.rb")
411
411
 
412
412
  expected_output = <<EOT
413
413
  Can't generate plugin. Plugin already exists at `#{plugin_path}`.
@@ -418,7 +418,7 @@ EOT
418
418
 
419
419
  it "creates new plugin" do
420
420
  dir = given_directory
421
- plugin_path = File.join(dir, "yes_ship_it", "assertions", "my_plugin.rb")
421
+ plugin_path = File.join(path_prefix, dir, "yes_ship_it", "assertions", "my_plugin.rb")
422
422
 
423
423
  expected_output = <<EOT
424
424
  Generated assertion plugin at `#{plugin_path}`.
data/spec/spec_helper.rb CHANGED
@@ -9,3 +9,7 @@ def setup_test_git_repo(version, dir)
9
9
  raise "Unable to extract tarball #{tarball}"
10
10
  end
11
11
  end
12
+
13
+ def path_prefix
14
+ /darwin/ =~ RUBY_PLATFORM ? '/private' : ''
15
+ end
@@ -29,7 +29,7 @@ describe "dry run" do
29
29
  checkout_tar = File.expand_path("../data/red_herring-checkout-dry-run.tar.gz", __FILE__)
30
30
  @client.inject_tarball(checkout_tar)
31
31
 
32
- @client.execute(["yes_ship_it.ruby2.1", "--dry-run"], working_directory: "red_herring")
32
+ @client.execute(["yes_ship_it.ruby2.5", "--dry-run"], working_directory: "red_herring")
33
33
 
34
34
  expected_output = <<EOT
35
35
  Shipping...
@@ -29,7 +29,7 @@ describe "rpm" do
29
29
  checkout_tar = File.expand_path("../data/red_herring-checkout-rpm.tar.gz", __FILE__)
30
30
  @client.inject_tarball(checkout_tar)
31
31
 
32
- @client.execute(["yes_ship_it.ruby2.1"], working_directory: "red_herring")
32
+ @client.execute(["yes_ship_it.ruby2.5"], working_directory: "red_herring")
33
33
 
34
34
  expected_output = <<EOT
35
35
  Shipping...
@@ -30,7 +30,7 @@ describe "ship ruby gem" do
30
30
  checkout_tar = File.expand_path("../data/red_herring-checkout-build.tar.gz", __FILE__)
31
31
  @client.inject_tarball(checkout_tar)
32
32
 
33
- @client.execute(["yes_ship_it.ruby2.1"], working_directory: "red_herring")
33
+ @client.execute(["yes_ship_it.ruby2.5"], working_directory: "red_herring")
34
34
 
35
35
  expect(@client.exit_code).to eq(0)
36
36
 
@@ -55,7 +55,7 @@ EOT
55
55
  checkout_tar = File.expand_path("../data/red_herring-checkout-push.tar.gz", __FILE__)
56
56
  @client.inject_tarball(checkout_tar)
57
57
 
58
- @client.execute(["yes_ship_it.ruby2.1"], working_directory: "red_herring")
58
+ @client.execute(["yes_ship_it.ruby2.5"], working_directory: "red_herring")
59
59
 
60
60
  expect(@client.exit_code).to eq(0)
61
61
 
@@ -83,7 +83,7 @@ EOT
83
83
  checkout_tar = File.expand_path("../data/red_herring-checkout-not-push.tar.gz", __FILE__)
84
84
  @client.inject_tarball(checkout_tar)
85
85
 
86
- @client.execute(["yes_ship_it.ruby2.1"], working_directory: "red_herring")
86
+ @client.execute(["yes_ship_it.ruby2.5"], working_directory: "red_herring")
87
87
 
88
88
  expect(@client.exit_code).to eq(0)
89
89
 
@@ -115,7 +115,7 @@ EOT
115
115
  end
116
116
 
117
117
  it "tells how to login" do
118
- @client.execute(["yes_ship_it.ruby2.1"], working_directory: "red_herring")
118
+ @client.execute(["yes_ship_it.ruby2.5"], working_directory: "red_herring")
119
119
 
120
120
  expected_output = <<EOT
121
121
  Shipping...
@@ -24,34 +24,36 @@ describe YSI::Assertion do
24
24
  end
25
25
 
26
26
  describe "parameters" do
27
- class MyAssertion < YSI::Assertion
28
- parameter :some_thing
29
- parameter :some_other_thing, "default_hello"
27
+ module YSI
28
+ class MyAssertion < Assertion
29
+ parameter :some_thing
30
+ parameter :some_other_thing, "default_hello"
30
31
 
31
- def self.display_name
32
- "My Assertion"
33
- end
32
+ def self.display_name
33
+ "My Assertion"
34
+ end
34
35
 
35
- def check
36
- end
36
+ def check
37
+ end
37
38
 
38
- def assert
39
+ def assert
40
+ end
39
41
  end
40
42
  end
41
43
 
42
44
  it "has methods for parameter" do
43
- my = MyAssertion.new(YSI::Engine.new)
45
+ my = YSI::MyAssertion.new(YSI::Engine.new)
44
46
  my.some_thing = "hello"
45
47
  expect(my.some_thing).to eq("hello")
46
48
  end
47
49
 
48
50
  it "has default value for parameter" do
49
- my = MyAssertion.new(YSI::Engine.new)
51
+ my = YSI::MyAssertion.new(YSI::Engine.new)
50
52
  expect(my.some_other_thing).to eq("default_hello")
51
53
  end
52
54
 
53
55
  it "returns nil when parameter is not set" do
54
- my = MyAssertion.new(YSI::Engine.new)
56
+ my = YSI::MyAssertion.new(YSI::Engine.new)
55
57
  expect(my.some_thing).to be(nil)
56
58
  end
57
59
 
@@ -2,7 +2,7 @@ require_relative "../spec_helper.rb"
2
2
 
3
3
  describe YSI::ReleaseBranch do
4
4
  describe "#current_branch" do
5
- it "finds current non-master branch" do
5
+ it "finds current non-release branch" do
6
6
  a = YSI::ReleaseBranch.new(YSI::Engine)
7
7
 
8
8
  allow(a).to receive(:git_branch).and_return(" master\n* otherone\n")
@@ -10,7 +10,7 @@ describe YSI::ReleaseBranch do
10
10
  expect(a.current_branch).to eq("otherone")
11
11
  end
12
12
 
13
- it "finds current master branch" do
13
+ it "finds current release branch" do
14
14
  a = YSI::ReleaseBranch.new(YSI::Engine)
15
15
 
16
16
  allow(a).to receive(:git_branch).and_return("* master\n otherone\n")
@@ -18,12 +18,26 @@ describe YSI::ReleaseBranch do
18
18
  expect(a.current_branch).to eq("master")
19
19
  end
20
20
 
21
- it "finds current master branch if it's the only branch" do
21
+ it "finds current release branch if it's the only branch" do
22
22
  a = YSI::ReleaseBranch.new(YSI::Engine)
23
23
 
24
24
  allow(a).to receive(:git_branch).and_return("* master\n")
25
25
 
26
26
  expect(a.current_branch).to eq("master")
27
27
  end
28
+
29
+ it "reads branch parameter" do
30
+ config = <<~YAML
31
+ assertions:
32
+ release_branch:
33
+ branch: main
34
+ version:
35
+ version_file: lib/version.rb
36
+ YAML
37
+ engine = YSI::Engine.new
38
+ engine.read_config(config)
39
+
40
+ expect(engine.assertions.first.branch).to eq("main")
41
+ end
28
42
  end
29
43
  end
@@ -17,7 +17,7 @@ describe YSI::YesItShipped do
17
17
  }
18
18
  EOT
19
19
  stub_request(:get, "https://yes-it-shipped.herokuapp.com/releases/dummy/1.0.0").
20
- with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip, deflate', 'Host'=>'yes-it-shipped.herokuapp.com'}).
20
+ with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>/.*/, 'Host'=>'yes-it-shipped.herokuapp.com', 'User-Agent'=>/.*/}).
21
21
  to_return(:status => 200, :body => body, :headers => {})
22
22
 
23
23
  engine = YSI::Engine.new
@@ -29,7 +29,7 @@ EOT
29
29
 
30
30
  it "fails when release is not there" do
31
31
  stub_request(:get, "https://yes-it-shipped.herokuapp.com/releases/dummy/2.0.0").
32
- with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip, deflate', 'Host'=>'yes-it-shipped.herokuapp.com'}).
32
+ with(:headers => {'Accept'=>'*/*', 'Accept-Encoding'=>/.*/, 'Host'=>'yes-it-shipped.herokuapp.com', 'User-Agent'=>/.*/}).
33
33
  to_return(:status => 404, :body => "", :headers => {})
34
34
 
35
35
  engine = YSI::Engine.new
@@ -54,10 +54,11 @@ EOT
54
54
  },
55
55
  :headers => {
56
56
  'Accept'=>'*/*',
57
- 'Accept-Encoding'=>'gzip, deflate',
57
+ 'Accept-Encoding'=> /.*/,
58
58
  'Content-Length'=>'334',
59
59
  'Content-Type'=>'application/x-www-form-urlencoded',
60
- 'Host'=>'yes-it-shipped.herokuapp.com'
60
+ 'Host'=>'yes-it-shipped.herokuapp.com',
61
+ 'User-Agent' => /.*/
61
62
  }).to_return(:status => 200, :body => "", :headers => {})
62
63
 
63
64
  engine = YSI::Engine.new
@@ -6,7 +6,7 @@ describe YSI::Executor do
6
6
  describe "working directory" do
7
7
  it "runs in the given working directory" do
8
8
  working_directory = subject.run_command(["pwd"], working_directory: "/tmp")
9
- expect(working_directory).to eq("/tmp\n")
9
+ expect(working_directory).to eq(File.join(path_prefix, "/tmp\n"))
10
10
  end
11
11
 
12
12
  it "sets back the working directory to the original value" do
data/yes_ship_it.gemspec CHANGED
@@ -24,6 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.add_development_dependency "cli_tester", ">= 0.0.2"
25
25
  s.add_development_dependency "httpotemkin"
26
26
  s.add_development_dependency "webmock", "~> 2.1"
27
+ s.add_development_dependency "byebug"
27
28
 
28
29
  s.files = `git ls-files`.split("\n")
29
30
  s.require_path = 'lib'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yes_ship_it
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cornelius Schumacher
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-17 00:00:00.000000000 Z
11
+ date: 2021-06-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: inifile
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '2.1'
125
+ - !ruby/object:Gem::Dependency
126
+ name: byebug
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
125
139
  description: Whenever the answer is 'Yes, ship it!' you will need yes_ship_it. It
126
140
  is the ultimate helper in releasing software..
127
141
  email:
@@ -132,9 +146,10 @@ extensions: []
132
146
  extra_rdoc_files: []
133
147
  files:
134
148
  - ".codeclimate.yml"
149
+ - ".github/workflows/ruby.yml"
135
150
  - ".gitignore"
136
151
  - ".rspec"
137
- - ".travis.yml"
152
+ - ".ruby-version"
138
153
  - CHANGELOG.md
139
154
  - Gemfile
140
155
  - MIT-LICENSE
@@ -242,8 +257,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
242
257
  - !ruby/object:Gem::Version
243
258
  version: 1.3.6
244
259
  requirements: []
245
- rubyforge_project: yes_ship_it
246
- rubygems_version: 2.5.1
260
+ rubygems_version: 3.1.6
247
261
  signing_key:
248
262
  specification_version: 4
249
263
  summary: The ultimate release script
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - "2.1.2"
4
- - "2.1.8"
5
- - "2.2.4"
6
- - "2.3.0"
7
- script: bundle exec rspec spec/unit