chandler 0.7.0 → 0.8.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
- SHA1:
3
- metadata.gz: a929ae77a3668d71708404c4cd22f52a0518cd24
4
- data.tar.gz: f6b4bccacec686b0bb566163d7ba9e5b348aa4c9
2
+ SHA256:
3
+ metadata.gz: 7f01e9010051775612d968f772485ca04a12da95953f9289da00614b804eece1
4
+ data.tar.gz: 622e99b3d39732144759ca655f25ba2660fec07b7af58ea5437f7473e91a6f8e
5
5
  SHA512:
6
- metadata.gz: 5c973d384f3b25c0b442736739833350e99fd1d56401ce71e75d5656cc53eb171b5894c81023166ebd132114425e3dd5a3b90c3b0f376d68e4289340bb46495c
7
- data.tar.gz: 5de34aca5504e50ddad4964debf375065267e15f5db3df24954f7a96ccde6c38d8b2a86291b9b231c50d7fb2202d138693839863609fd706bf07cca1971a1180
6
+ metadata.gz: 5c90903cada9ff6f8b24f7fbfe87840631f087d9071c43efd3356db5f19956423916324c666a88db44ddb31242427b80851134baff88a63cee4f5634c552331b
7
+ data.tar.gz: 77e7ce541a295fbb1a8c564033fd27abd65541c6f8d338d86180b8c4b97c7b9eeb8acd1ca075e0f705730227f715b6e4658270055bf8b75106e38e92406d0aad
@@ -4,6 +4,7 @@ AllCops:
4
4
  DisplayStyleGuide: true
5
5
  Exclude:
6
6
  - "*.gemspec"
7
+ - "vendor/**/*"
7
8
 
8
9
  Metrics/AbcSize:
9
10
  Exclude:
@@ -32,9 +33,23 @@ Style/Documentation:
32
33
  Style/DoubleNegation:
33
34
  Enabled: false
34
35
 
36
+ Style/EndOfLine:
37
+ EnforcedStyle: lf
38
+
39
+ Style/FileName:
40
+ Exclude:
41
+ - "Dangerfile"
42
+
35
43
  Style/HashSyntax:
36
44
  EnforcedStyle: hash_rockets
37
45
 
46
+ Style/IndentHeredoc:
47
+ Enabled: false
48
+
49
+ Style/SignalException:
50
+ Exclude:
51
+ - "Dangerfile"
52
+
38
53
  Style/SpaceAroundEqualsInParameterDefault:
39
54
  EnforcedStyle: no_space
40
55
 
@@ -1,11 +1,18 @@
1
+ sudo: false
1
2
  language: ruby
3
+ cache: bundler
2
4
  rvm:
3
- - 2.1
4
- - 2.2
5
- - 2.3.1
6
- before_install: gem install bundler -v 1.13.1
5
+ - 2.3.8
6
+ - 2.4.5
7
+ - 2.5.3
8
+ - 2.6.0
9
+ - ruby-head
10
+ before_install:
11
+ - gem update --system
12
+ - gem install bundler --conservative --no-document -v "~> 2.0"
13
+ - gem install executable-hooks --conservative --no-document
7
14
  matrix:
8
15
  include:
9
- # Run Danger only once, on 2.3.1
10
- - rvm: 2.3.1
11
- before_script: bundle exec danger
16
+ # Run Danger only once, on 2.6.0
17
+ - rvm: 2.6.0
18
+ script: bundle exec danger
@@ -8,6 +8,10 @@ chandler is in a pre-1.0 state. This means that its APIs and behavior are subjec
8
8
 
9
9
  * Your contribution here!
10
10
 
11
+ ## [0.8.0][] (2019-01-26)
12
+
13
+ * **Drop support for EOL Rubies.** Chandler now requires Ruby >= 2.3.
14
+
11
15
  ## [0.7.0][] (2016-12-23)
12
16
 
13
17
  * [#23](https://github.com/mattbrictson/chandler/pull/23): Fix warnings reported when using Rake 12.0 - [@mattbrictson](https://github.com/mattbrictson)
@@ -55,7 +59,8 @@ chandler is in a pre-1.0 state. This means that its APIs and behavior are subjec
55
59
  * Initial release
56
60
 
57
61
  [Semver]: http://semver.org
58
- [Unreleased]: https://github.com/mattbrictson/chandler/compare/v0.7.0...HEAD
62
+ [Unreleased]: https://github.com/mattbrictson/chandler/compare/v0.8.0...HEAD
63
+ [0.8.0]: https://github.com/mattbrictson/chandler/compare/v0.7.0...v0.8.0
59
64
  [0.7.0]: https://github.com/mattbrictson/chandler/compare/v0.6.0...v0.7.0
60
65
  [0.6.0]: https://github.com/mattbrictson/chandler/compare/v0.5.0...v0.6.0
61
66
  [0.5.0]: https://github.com/mattbrictson/chandler/compare/v0.4.0...v0.5.0
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 Matt Brictson
3
+ Copyright (c) 2019 Matt Brictson
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -10,23 +10,32 @@
10
10
 
11
11
  ### How does it work?
12
12
 
13
- chandler scans your git repository for version tags (e.g. `v1.0.2`), parses out the corresponding release notes for those tags from your CHANGELOG, and uploads those notes to the GitHub releases area via the GitHub API.
13
+ chandler scans your git repository for version tags (e.g. `v1.0.2`), parses out the corresponding release notes for those tags from your `CHANGELOG`, and uploads those notes to your project's [GitHub Releases][gh-releases] via the GitHub API.
14
14
 
15
- Chandler makes reasonable assumptions as to the name of your CHANGELOG file, your project's GitHub repository URL, and the naming convention of your Git version tags. These can all be overridden with command line options.
15
+ By default, chandler makes reasonable assumptions about:
16
+
17
+ - the name of your `CHANGELOG` file,
18
+ - your project's GitHub repository URL, and
19
+ - the naming convention of your Git version tags.
20
+
21
+ These can all be overridden with command line options.
16
22
 
17
23
  ### Why go through the trouble?
18
24
 
19
- GitHub's releases feature is a nice UI for browsing the history of your project and downloading snapshots of each version. It is also structured data that can be queried via GitHub's API, making it a available for third-party integrations. For example, [Sibbell][] can automatically send the release notes out to interested parties whenever you publish a new version.
25
+ [GitHub Releases][gh-releases] are a nice UI for browsing the history of your project and downloading snapshots of each version. It is also structured data that can be queried via GitHub's API, making it a available for third-party integrations. For example, [Sibbell][] can automatically send the release notes out to interested parties whenever you publish a new version.
26
+
27
+ But as a considerate developer, you also want a plain text `CHANGELOG` that travels with the code, can be edited collaboratively in pull requests, and so on.
20
28
 
21
- Of course, as a considerate developer you also want to have a plain text CHANGELOG that travels with the code, can be collaboratively edited in pull requests, and so on. But that means you need two copies of the same release notes!
29
+ _But that means you need two copies of the same release notes!_ 😵
22
30
 
23
- chandler takes the hassle out of maintaining these two separate formats: your CHANGELOG is the authoritative source, and GitHub releases are updated with a simple `chandler` command.
31
+ **chandler takes the hassle out of maintaining these two separate formats.**
32
+ Your `CHANGELOG` is the authoritative source, and GitHub Releases are updated with a simple `chandler` command.
24
33
 
25
34
  ## Requirements
26
35
 
27
- * Ruby 2.1 or higher
28
- * Your project's CHANGELOG must be in Markdown with version numbers in the headings (similar to the format advocated by [keepachangelog.com](http://keepachangelog.com))
29
- * You must be an owner or collaborator of the GitHub repository to update its releases
36
+ * Ruby 2.3 or higher
37
+ * Your project's `CHANGELOG` must be in Markdown, with version numbers in the headings (similar to the format advocated by [keepachangelog.com](http://keepachangelog.com))
38
+ * You must be an _owner_ or _collaborator_ of the GitHub repository to update its Releases
30
39
 
31
40
  ## Installation
32
41
 
@@ -36,7 +45,9 @@ chandler takes the hassle out of maintaining these two separate formats: your CH
36
45
  gem install chandler
37
46
  ```
38
47
 
39
- ### 2. Configure .netrc or set ENV vars
48
+ ### 2. Configure credentials
49
+
50
+ #### Option 1 - `.netrc`
40
51
 
41
52
  In order to access the GitHub API on your behalf, you must provide chandler with your GitHub credentials.
42
53
 
@@ -48,26 +59,30 @@ machine api.github.com
48
59
  password c0d3b4ssssss!
49
60
  ```
50
61
 
51
- Or expose an ENV variable: `CHANDLER_GITHUB_API_TOKEN` inside your CI.
62
+ #### Option 2 - Set ENV variables
63
+
64
+ Alternatively, just expose the ENV variable `CHANDLER_GITHUB_API_TOKEN` in your CI.
52
65
 
53
66
  For more security, you can use an OAuth access token in place of your password. [Here's how to generate one][access-token]. Make sure to enable `public_repo` scope for the token.
54
67
 
55
68
 
56
69
  ## Usage
57
70
 
58
- To push all CHANGELOG entries for all tags to GitHub, just run:
71
+ To push all `CHANGELOG` entries for all tags to GitHub, just run:
59
72
 
60
73
  ```
61
74
  chandler push
62
75
  ```
63
76
 
64
- chandler will make educated guesses as to what GitHub repository to use, the location of the CHANGELOG, and the tags that represent releases. To see what will happen without actually making changes, run:
77
+ chandler will make educated guesses as to what GitHub repository to use, the location of the `CHANGELOG`, and which tags represent releases.
78
+
79
+ You can preview what will happen without actually making changes, using `--dry-run`:
65
80
 
66
81
  ```
67
82
  chandler push --dry-run
68
83
  ```
69
84
 
70
- To upload only a specific tag, `v1.0.2` for example:
85
+ To upload only a specific tag (`v1.0.2`, for example):
71
86
 
72
87
  ```
73
88
  chandler push v1.0.2
@@ -94,7 +109,7 @@ Or like this:
94
109
  --github=https://github.mycompany.com/organization/project
95
110
  ```
96
111
 
97
- To authenticate, Chandler relies on your `~/.netrc`, as explained above. Replace `api.github.com` with the hostname of your GitHub Enterprise installation (`github.mycompany.com` in the example).
112
+ To authenticate, Chandler relies on your `~/.netrc`, as explained above. GitHub Enterprise users simply need to replace `api.github.com` with the hostname of your GitHub Enterprise installation (`github.mycompany.com` in the example above).
98
113
 
99
114
  ## Rakefile integration
100
115
 
@@ -122,13 +137,14 @@ end
122
137
  task "release:rubygem_push" => "chandler:push"
123
138
  ```
124
139
 
125
- That's it! Now when you run `rake release`, your GitHub release notes will be updated automatically based on your CHANGELOG entries.
140
+ That's it! Now when you run `rake release`, your GitHub Release notes will be updated automatically based on your `CHANGELOG` entries.
126
141
 
127
142
  And yes, chandler uses itself to automatically push its own [release notes][release-notes] to GitHub! Check out the [Rakefile](Rakefile).
128
143
 
129
144
  [Sibbell]: http://sibbell.com
130
145
  [access-token]: https://help.github.com/articles/creating-an-access-token-for-command-line-use/
131
146
  [release-notes]: https://github.com/mattbrictson/chandler/releases
147
+ [gh-releases]: https://help.github.com/articles/about-releases/
132
148
 
133
149
  ## Contributing
134
150
 
data/Rakefile CHANGED
@@ -14,4 +14,4 @@ end
14
14
 
15
15
  RuboCop::RakeTask.new
16
16
 
17
- task :default => [:test, :rubocop]
17
+ task :default => %i[test rubocop]
@@ -4,12 +4,13 @@ skip_tags: true
4
4
 
5
5
  environment:
6
6
  matrix:
7
- - ruby_version: "21"
8
- - ruby_version: "21-x64"
7
+ - ruby_version: "25"
8
+ - ruby_version: "25-x64"
9
9
 
10
10
  install:
11
11
  - SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
12
- - gem install bundler --no-document -v 1.10.4
12
+ - gem update --system
13
+ - gem install bundler --no-document
13
14
  - bundle install --retry=3
14
15
 
15
16
  test_script:
@@ -20,15 +20,17 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
+ spec.required_ruby_version = ">= 2.3.0"
24
+
23
25
  spec.add_dependency "netrc"
24
26
  spec.add_dependency "octokit", ">= 2.2.0"
25
27
 
26
- spec.add_development_dependency "bundler", "~> 1.10"
27
- spec.add_development_dependency "coveralls"
28
- spec.add_development_dependency "danger"
29
- spec.add_development_dependency "rake", ">= 10.0"
30
- spec.add_development_dependency "minitest"
31
- spec.add_development_dependency "minitest-reporters"
32
- spec.add_development_dependency "mocha"
33
- spec.add_development_dependency "rubocop", ">= 0.37.0"
28
+ spec.add_development_dependency "bundler", "~> 2.0"
29
+ spec.add_development_dependency "coveralls", "~> 0.8.20"
30
+ spec.add_development_dependency "danger", "~> 5.11"
31
+ spec.add_development_dependency "rake", "~> 12.0"
32
+ spec.add_development_dependency "minitest", "~> 5.10"
33
+ spec.add_development_dependency "minitest-reporters", "~> 1.1"
34
+ spec.add_development_dependency "mocha", "~> 1.2"
35
+ spec.add_development_dependency "rubocop", "0.48.1"
34
36
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Chandler
3
- VERSION = "0.7.0".freeze
4
+ VERSION = "0.8.0".freeze
4
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chandler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Brictson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-23 00:00:00.000000000 Z
11
+ date: 2019-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: netrc
@@ -44,112 +44,112 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.10'
47
+ version: '2.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.10'
54
+ version: '2.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: coveralls
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 0.8.20
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 0.8.20
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: danger
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '5.11'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '5.11'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ">="
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '10.0'
89
+ version: '12.0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ">="
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '10.0'
96
+ version: '12.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: minitest
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0'
103
+ version: '5.10'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0'
110
+ version: '5.10'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: minitest-reporters
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0'
117
+ version: '1.1'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: '1.1'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: mocha
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ">="
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '0'
131
+ version: '1.2'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ">="
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '0'
138
+ version: '1.2'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rubocop
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ">="
143
+ - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 0.37.0
145
+ version: 0.48.1
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ">="
150
+ - - '='
151
151
  - !ruby/object:Gem::Version
152
- version: 0.37.0
152
+ version: 0.48.1
153
153
  description:
154
154
  email:
155
155
  - chandler@mattbrictson.com
@@ -204,15 +204,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
204
204
  requirements:
205
205
  - - ">="
206
206
  - !ruby/object:Gem::Version
207
- version: 2.1.0
207
+ version: 2.3.0
208
208
  required_rubygems_version: !ruby/object:Gem::Requirement
209
209
  requirements:
210
210
  - - ">="
211
211
  - !ruby/object:Gem::Version
212
212
  version: '0'
213
213
  requirements: []
214
- rubyforge_project:
215
- rubygems_version: 2.6.8
214
+ rubygems_version: 3.0.2
216
215
  signing_key:
217
216
  specification_version: 4
218
217
  summary: Syncs CHANGELOG entries to GitHub's release notes