yes_ship_it 0.0.6 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.codeclimate.yml +4 -0
- data/.travis.yml +7 -0
- data/CHANGELOG.md +10 -0
- data/README.md +12 -4
- data/assertions/submitted_rpm.rb +3 -3
- data/assertions/yes_it_shipped.rb +2 -2
- data/bin/yes_ship_it +4 -2
- data/lib/version.rb +1 -1
- data/spec/unit/assertions/published_gem_spec.rb +3 -1
- data/spec/unit/assertions/yes_it_shipped_spec.rb +3 -2
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78b481295a4a4a9ba607adb08eec58bac7f207a0
|
4
|
+
data.tar.gz: c8b0e1378e39c261db0c58c6858bfbf7c9cca3fd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 51adeca1f94982d83fe0f7f089b1e40630da8d7da5324a2907edf1cda869fc40b63abbee3f1bdf77be9710c8a9b08380d186c958347898d6691af094f69c4d02
|
7
|
+
data.tar.gz: c6e49865aa4a412d8677326febf8ed07361b921569b04566a57fbd22d28cec6b511b0cbe43f8fcc2f1d7872b7efa71b03641e9ad58b3c35e0486dd581edfa6fe
|
data/.codeclimate.yml
ADDED
data/.travis.yml
ADDED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# Change log of yes_ship_it
|
2
2
|
|
3
|
+
## Version 0.1.0
|
4
|
+
|
5
|
+
yes_ship_it has reached a useful state, so it's going to a version scheme which
|
6
|
+
will distinguish feature and bug fix releases. It's not API stable yet, so it's
|
7
|
+
still using 0.x releases.
|
8
|
+
|
9
|
+
Changes in this version:
|
10
|
+
|
11
|
+
* Add documentation for `plugin` command
|
12
|
+
|
3
13
|
## Version 0.0.6
|
4
14
|
|
5
15
|
* Add support for local assertion plugins. `yes_ship_it plugin generate` creates
|
data/README.md
CHANGED
@@ -1,5 +1,9 @@
|
|
1
1
|
# Yes, ship it!
|
2
2
|
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/yes_ship_it.svg)](https://badge.fury.io/rb/yes_ship_it)
|
4
|
+
[![Build Status](https://travis-ci.org/cornelius/yes_ship_it.svg?branch=master)](https://travis-ci.org/cornelius/yes_ship_it)
|
5
|
+
[![Code Climate](https://codeclimate.com/github/cornelius/yes_ship_it/badges/gpa.svg)](https://codeclimate.com/github/cornelius/yes_ship_it)
|
6
|
+
|
3
7
|
*The ultimate release script*
|
4
8
|
|
5
9
|
Whenever the answer is "Yes, ship it!" you will need `yes_ship_it`, this tool.
|
@@ -76,10 +80,14 @@ Many software projects will have specific needs for their releases. These can
|
|
76
80
|
be broken down and reflected in additional assertions. Adding assertions is
|
77
81
|
easy. There is a well-defined API for it.
|
78
82
|
|
79
|
-
|
80
|
-
`yes_ship_it
|
81
|
-
|
82
|
-
|
83
|
+
You can extend yes_ship_it by writing local assertions as plugins. Use the
|
84
|
+
command `yes_ship_it plugin` to generate and manage them.
|
85
|
+
|
86
|
+
While plugins can be useful for very special assertions or as a start for new
|
87
|
+
ones, it would be great to generalize them and ship them with `yes_ship_it`.
|
88
|
+
This will maximize the value for the community of people who ship software.
|
89
|
+
The project is very open to include new assertions. Just submit a pull request.
|
90
|
+
`yes_ship_it` will ship it with the next release.
|
83
91
|
|
84
92
|
## Testing
|
85
93
|
|
data/assertions/submitted_rpm.rb
CHANGED
@@ -106,9 +106,9 @@ module YSI
|
|
106
106
|
content = create_spec_file("rpm/#{spec_file}.erb")
|
107
107
|
executor.http_put(url, content, content_type: "text/plain")
|
108
108
|
|
109
|
-
old_files.each do |
|
110
|
-
engine.out.puts " Removing '#{
|
111
|
-
url = "#{base_url}/#{
|
109
|
+
old_files.each do |old_file|
|
110
|
+
engine.out.puts " Removing '#{old_file}'"
|
111
|
+
url = "#{base_url}/#{old_file}"
|
112
112
|
executor.http_delete(url)
|
113
113
|
end
|
114
114
|
|
@@ -8,7 +8,7 @@ module YSI
|
|
8
8
|
|
9
9
|
def check
|
10
10
|
begin
|
11
|
-
|
11
|
+
RestClient.get("https://yes-it-shipped.herokuapp.com/releases/#{engine.project_name}/#{engine.version}")
|
12
12
|
return "#{engine.project_name}-#{engine.version}"
|
13
13
|
rescue RestClient::ResourceNotFound
|
14
14
|
return nil
|
@@ -18,7 +18,7 @@ module YSI
|
|
18
18
|
def assert(executor)
|
19
19
|
executor.http_post("https://yes-it-shipped.herokuapp.com/releases",
|
20
20
|
project: engine.project_name, version: engine.version,
|
21
|
-
release_date_time: engine.tag_date, project_url: engine.project_url,
|
21
|
+
release_date_time: engine.tag_date.utc, project_url: engine.project_url,
|
22
22
|
release_url: engine.release_url, ysi_config_url: engine.config_url)
|
23
23
|
"#{engine.project_name}-#{engine.version}"
|
24
24
|
end
|
data/bin/yes_ship_it
CHANGED
@@ -8,8 +8,10 @@ option_parser = OptionParser.new do |opts|
|
|
8
8
|
|
9
9
|
opts.separator ""
|
10
10
|
opts.separator "Commands:"
|
11
|
-
opts.separator " changelog
|
12
|
-
opts.separator " init
|
11
|
+
opts.separator " changelog - show change log since last release"
|
12
|
+
opts.separator " init - initialize directory for shipping with yes_ship_it"
|
13
|
+
opts.separator " plugin list - list all local assertion plugins"
|
14
|
+
opts.separator " plugin generate - generate a template for a local plugin"
|
13
15
|
opts.separator ""
|
14
16
|
opts.separator "Specific options:"
|
15
17
|
|
data/lib/version.rb
CHANGED
@@ -2,7 +2,9 @@ require_relative "../spec_helper.rb"
|
|
2
2
|
|
3
3
|
describe YSI::PublishedGem do
|
4
4
|
describe "#assert" do
|
5
|
-
it "raises AssertionError if
|
5
|
+
it "raises AssertionError if rubygems.org credentials are not there" do
|
6
|
+
allow(File).to receive(:expand_path).and_return("/idontexist")
|
7
|
+
|
6
8
|
engine = YSI::Engine.new
|
7
9
|
allow(engine).to receive(:project_name).and_return("IdontExist")
|
8
10
|
allow(engine).to receive(:version).and_return("0.0")
|
@@ -47,7 +47,7 @@ EOT
|
|
47
47
|
:body => {
|
48
48
|
"project"=>"dummy",
|
49
49
|
"project_url"=>"https://github.com/cornelius/yes_ship_it",
|
50
|
-
"release_date_time"=>"2015-12-08
|
50
|
+
"release_date_time"=>"2015-12-08 13:16:55 UTC",
|
51
51
|
"release_url"=>"https://github.com/cornelius/yes_ship_it/releases/tag/v1.1.1",
|
52
52
|
"version"=>"1.1.1",
|
53
53
|
"ysi_config_url"=>"https://raw.githubusercontent.com/cornelius/yes_ship_it/master/yes_ship_it.conf"
|
@@ -55,13 +55,14 @@ EOT
|
|
55
55
|
:headers => {
|
56
56
|
'Accept'=>'*/*; q=0.5, application/xml',
|
57
57
|
'Accept-Encoding'=>'gzip, deflate',
|
58
|
-
'Content-Length'=>'
|
58
|
+
'Content-Length'=>'338',
|
59
59
|
'Content-Type'=>'application/x-www-form-urlencoded',
|
60
60
|
'User-Agent'=>'Ruby'
|
61
61
|
}).to_return(:status => 200, :body => "", :headers => {})
|
62
62
|
|
63
63
|
engine = YSI::Engine.new
|
64
64
|
allow(engine).to receive(:project_name).and_return("dummy")
|
65
|
+
allow(engine).to receive(:github_project_name).and_return("cornelius/yes_ship_it")
|
65
66
|
engine.version = "1.1.1"
|
66
67
|
engine.tag_date = Time.parse("20151208T141655+0100")
|
67
68
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yes_ship_it
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cornelius Schumacher
|
@@ -131,8 +131,10 @@ executables:
|
|
131
131
|
extensions: []
|
132
132
|
extra_rdoc_files: []
|
133
133
|
files:
|
134
|
+
- ".codeclimate.yml"
|
134
135
|
- ".gitignore"
|
135
136
|
- ".rspec"
|
137
|
+
- ".travis.yml"
|
136
138
|
- CHANGELOG.md
|
137
139
|
- Gemfile
|
138
140
|
- MIT-LICENSE
|