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 +5 -5
- data/.rubocop.yml +15 -0
- data/.travis.yml +14 -7
- data/CHANGELOG.md +6 -1
- data/LICENSE.txt +1 -1
- data/README.md +31 -15
- data/Rakefile +1 -1
- data/appveyor.yml +4 -3
- data/chandler.gemspec +10 -8
- data/lib/chandler/version.rb +2 -1
- metadata +34 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7f01e9010051775612d968f772485ca04a12da95953f9289da00614b804eece1
|
4
|
+
data.tar.gz: 622e99b3d39732144759ca655f25ba2660fec07b7af58ea5437f7473e91a6f8e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c90903cada9ff6f8b24f7fbfe87840631f087d9071c43efd3356db5f19956423916324c666a88db44ddb31242427b80851134baff88a63cee4f5634c552331b
|
7
|
+
data.tar.gz: 77e7ce541a295fbb1a8c564033fd27abd65541c6f8d338d86180b8c4b97c7b9eeb8acd1ca075e0f705730227f715b6e4658270055bf8b75106e38e92406d0aad
|
data/.rubocop.yml
CHANGED
@@ -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
|
|
data/.travis.yml
CHANGED
@@ -1,11 +1,18 @@
|
|
1
|
+
sudo: false
|
1
2
|
language: ruby
|
3
|
+
cache: bundler
|
2
4
|
rvm:
|
3
|
-
- 2.
|
4
|
-
- 2.
|
5
|
-
- 2.3
|
6
|
-
|
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.
|
10
|
-
- rvm: 2.
|
11
|
-
|
16
|
+
# Run Danger only once, on 2.6.0
|
17
|
+
- rvm: 2.6.0
|
18
|
+
script: bundle exec danger
|
data/CHANGELOG.md
CHANGED
@@ -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.
|
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
|
data/LICENSE.txt
CHANGED
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
|
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
|
-
|
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
|
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
|
-
|
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
|
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.
|
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
|
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
|
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
|
-
|
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
|
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
|
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.
|
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
|
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
data/appveyor.yml
CHANGED
@@ -4,12 +4,13 @@ skip_tags: true
|
|
4
4
|
|
5
5
|
environment:
|
6
6
|
matrix:
|
7
|
-
- ruby_version: "
|
8
|
-
- ruby_version: "
|
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
|
12
|
+
- gem update --system
|
13
|
+
- gem install bundler --no-document
|
13
14
|
- bundle install --retry=3
|
14
15
|
|
15
16
|
test_script:
|
data/chandler.gemspec
CHANGED
@@ -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", "~>
|
27
|
-
spec.add_development_dependency "coveralls"
|
28
|
-
spec.add_development_dependency "danger"
|
29
|
-
spec.add_development_dependency "rake", "
|
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", "
|
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
|
data/lib/chandler/version.rb
CHANGED
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.
|
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:
|
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: '
|
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: '
|
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:
|
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:
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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.
|
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.
|
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.
|
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
|
-
|
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
|