chandler 0.7.0 → 0.8.0
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 +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
|