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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f7a38b12c557de98e6ea36e0f82cb9f65e44a5bf
4
- data.tar.gz: 478894aeceac04cc8027ba88bf78578e65b649d9
3
+ metadata.gz: 78b481295a4a4a9ba607adb08eec58bac7f207a0
4
+ data.tar.gz: c8b0e1378e39c261db0c58c6858bfbf7c9cca3fd
5
5
  SHA512:
6
- metadata.gz: 0956fb1a9f67912b750729dc6132fe1dcd8784d23da178878e808eb167f37947772d65d21fa46f1a98bf2ba26129718a5e95ee3e8e5ba7624c3e785ac4affd85
7
- data.tar.gz: 349837d22c00fb3c2decdda42dc37ea29cd6a85ed86937caa1c89b0bac346c7af55e1da6eefa3897588e92e976f0e09ad7b70ecc174cdcd7f5f08fe86be3d5c0
6
+ metadata.gz: 51adeca1f94982d83fe0f7f089b1e40630da8d7da5324a2907edf1cda869fc40b63abbee3f1bdf77be9710c8a9b08380d186c958347898d6691af094f69c4d02
7
+ data.tar.gz: c6e49865aa4a412d8677326febf8ed07361b921569b04566a57fbd22d28cec6b511b0cbe43f8fcc2f1d7872b7efa71b03641e9ad58b3c35e0486dd581edfa6fe
data/.codeclimate.yml ADDED
@@ -0,0 +1,4 @@
1
+ languages:
2
+ Ruby: true
3
+ exclude_paths:
4
+ - ".rubocop.yml"
data/.travis.yml ADDED
@@ -0,0 +1,7 @@
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
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
- There is no supported plugin concept. The idea is that all assertions ship with
80
- `yes_ship_it`. This will maximize the value for the community of people who ship
81
- software. The project is very open to include new assertions. Just submit a pull
82
- request. `yes_ship_it` will ship it with the next release.
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
 
@@ -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 |file|
110
- engine.out.puts " Removing '#{file}'"
111
- url = "#{base_url}/#{file}"
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
- json = RestClient.get("https://yes-it-shipped.herokuapp.com/releases/#{engine.project_name}/#{engine.version}")
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 - show change log since last release"
12
- opts.separator " init - initialize directory for shipping with yes_ship_it"
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
@@ -1,3 +1,3 @@
1
1
  module YSI
2
- VERSION = "0.0.6"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -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 there is an error" do
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 14:16:55 +0100",
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'=>'342',
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.6
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