yes_ship_it 0.2.1 → 0.2.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.
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