mattbrictson / chandler Goto Github PK
View Code? Open in Web Editor NEW[unmaintained] chandler syncs your CHANGELOG entries to GitHub's release notes
License: MIT License
[unmaintained] chandler syncs your CHANGELOG entries to GitHub's release notes
License: MIT License
my CHANGELOG.md contains links, so that viewing changelog online makes references also as links
- replace xmlrpc implementation with phpxmlrpc/phpxmlrpc, [#1]
[#1]: https://github.com/eventum/rpc/pull/1
https://github.com/eventum/rpc/blob/v4.0.0/CHANGELOG.md
however the parens are kept, and thus rendered differently:
I'd love to automate this process for my project.
Would you mind documenting a way to sync changelog in travis-ci build? I'd love to do this once I tag my project. Any chance for that?
I've applied chandler on the project and noticed that all the dates are now overwritten with the date of update.
Is there a chance to fix it?
Current text says:
[username] released this 2 days ago · [XY] commits to master since this release
The problem is, that I introduced it to the project couple ears old (also with releases couple years old), but it seems these were released only couple days back.
I'd appreciate a chance to take the release date from the relese notes (as we have it there anyway).
via @jhalterman in #8 (comment)
I see h1 headings used for version numbers every now and then. Here are a few I randomly found:
https://github.com/angular/angular.js/blob/master/CHANGELOG.md
https://github.com/less/less.js/blob/master/CHANGELOG.md
https://github.com/caolan/async/blob/master/CHANGELOG.md
currently the github "tag title" is filled with just "version"
however, i used to fill there also release date:
https://github.com/eventum/scm/releases/tag/v3.1.2 2016-09-06, Version 3.1.2
now chandler
will overwrite that with 3.1.2
once ran
perhaps set the tag title as the line present in changelog file itself:
2016-09-06, Version [3.1.2]
but care should be taken with the []
-s (stripped because the link itself is not included): #27
I wish chandler had a way to auto-upload binaries when creating a new releases on GitHub.
The behavior could be something like, for each tag that doesn't already have a release invoke a user-specified build command (please don't tie this to rake specifically) and upload the user-specified files as "binaries" to GitHub under that release.
Some kind of "force" mode making it possible to back-fill old releases would be a bonus.
I have a changelog with following content:
## [1.0](https://github.wdf.sap.corp/iot/nGrinderTools/tree/ms/1.0) (2017-04-05)
## [ms/1.0](https://github.wdf.sap.corp/iot/nGrinderTools/tree/ms/1.0) (2017-04-05)
Furthermore I have following tag:
I would expect that at least one of these changelog entries would be pushed to the release notes. Nevertheless I get following message:
chandler push --tag-prefix ms/ --dry-run
Skip ms/ (no ms/ entry in CHANGELOG.md)```
The prefix gets stripped off by the time the GitHub API request is made, which means GitHub won't be able to link the release to the correct tag.
Stripping all leading whitespace can cause an issue with certain markdown formatting. Consider a bullet list like this:
* One
* Two
* Three
Stripping leading whitespace results in something that doesn't format as intended:
* One
* Two
* Three
We would like to use your tool, but we have a continous delivery pipeline in place. This pipeline enforces the build only once principle and creates versions which are extended by an timestamp + commitId.
Our versions look like: 0.1.0-20170405101014+6175ca3224ba086e1b22b7923ba3282aa9d4db01
The used validation regex (Gem::Version::VERSION_PATTERN => ^[0-9]+(.[0-9a-zA-Z]+)*$\ )
does not allow the used "-" and "+" symbols.
Is it possible to allow - and + within the version?
Trying out chandler on a project and basically, nothing happens. I get no output, even with --debug
, even when running against chandler's CHANGELOG itself. Any ideas?
seems it fails to run on C
locale because source code is not US-ASCII ’
vs '
og.rb:39: invalid multibyte char (US-ASCII)
/home/travis/.rvm/gems/ruby-2.4.1/gems/chandler-0.7.0/lib/chandler/changelog.rb:39: invalid multibyte char (US-ASCII)
/home/travis/.rvm/gems/ruby-2.4.1/gems/chandler-0.7.0/lib/chandler/changelog.rb:39: syntax error, unexpected $end, expecting keyword_end
raise NoMatchingVersion, "Couldn’t find #{tag} in #{path}"
^
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/travis/.rvm/gems/ruby-2.4.1/gems/chandler-0.7.0/lib/chandler/configuration.rb:1:in `<top (required)>'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from bin/ci/tag-update.rb:8:in `<main>'
hi
please consider adding gitlab support: https://docs.gitlab.com/ce/api/README.html
currently there doesn't seem to be a way to update only single release
as for example, issues like #24 - i'd like to correct the release notes, so for that would need to run the update only for single release (git tag)
ps: also, it's not really possible to see what is going to be posted to github api. i would like to see actual text it parsed out. dry-run option just shows versions list it parsed out.
Hiya!
Is it possible to use this with GH Enterprise? I don't know enough Ruby (one Rails course at school years ago is my only experience with it) to say either way, but this seems to be geared towards public GH: https://github.com/mattbrictson/chandler/blob/master/lib/chandler/github.rb#L30-L32
Can you help clarify the workflow?
Unknown: how/when does the changelog get into the release, as it is generated after the tag?
I would like to configure chandler using a raketask however I don't like putting configuration in my raketask. This stems mainly from liking to use a standard rakefile across all of my projects. It would be nice if the CLI or raketask option could be configured via a dotfile so that is abstracts the configuration away from the task to be done.
This gem apparently parses a bunch of popular changelog formats. Perhaps this could allow chandler to be more flexible and allow us to simplify a bunch of code?
By default, chandler push
uploads the release notes for all tags, overwriting any existing releases that are already published on GitHub. This can result in data loss if there are notes in GitHub that aren't in the changelog file.
Chandler should somehow prevent this mistake, perhaps with an opt-in command line switch, or an "are you sure?" prompt.
I am trying to use chandler for a Chef Cookbook that I am authoring. In including chandler's rake task, I am receiving the error message NoMethodError: undefined method
gemspec' for nil:NilClass`. I am not well versed in the ruby eco-system but I am thinking that this is because I do not have a gemspec file in the top level directory of my project.
Currently Chandler fails with:
/home/foo/.gem/ruby/gems/chandler-0.7.0/lib/chandler/changelog.rb:38:in `fetch': undefined method `version_number' for nil:NilClass (NoMethodError)
from /home/foo/.gem/ruby/gems/chandler-0.7.0/lib/chandler/commands/push.rb:60:in `changelog_version_and_notes_for_tag'
from /home/foo/.gem/ruby/gems/chandler-0.7.0/lib/chandler/commands/push.rb:43:in `block in each_tag_with_version_and_notes'
from /home/foo/.gem/ruby/gems/chandler-0.7.0/lib/chandler/commands/push.rb:42:in `each'
from /home/foo/.gem/ruby/gems/chandler-0.7.0/lib/chandler/commands/push.rb:42:in `each_tag_with_version_and_notes'
from /home/foo/.gem/ruby/gems/chandler-0.7.0/lib/chandler/commands/push.rb:29:in `call'
from /home/foo/.gem/ruby/gems/chandler-0.7.0/lib/chandler/cli.rb:22:in `run'
from /home/foo/.gem/ruby/gems/chandler-0.7.0/exe/chandler:4:in `<top (required)>'
from /home/foo/bin/chandler:22:in `load'
from /home/foo/bin/chandler:22:in `<main>'
(...)
in the station a requested single tag is not found. There could be nicer dedicated error message for that.
To have valid links in CHANGELOG.md to GitHub issues (and PRs) it is required to have full URL in markdown [#1](https://github.com/mattbrictson/chandler/issues/1)
. In GH release notes it is enough to have just #1
. While full link renders fine in GH release notes in a situation you have new release notifications in an (old shool) text form (e.g. with Sibbell which in addition wraps the links) the output is clumsy.
- Auto drop repository after release - [#37](http://link.sibbell.com/wf/click?upn=9lQbz3uT2dCyDMxUSbiPZtHZep-2FrpXs70v2GbDgI01GEukSTVJy6RKboOVHZ-2F702fn97YGkZiCM6aj3qnZLmobJhDodXKTXrT978tTZhxQE-3D_hV8QMVkInQ3dQdGB9iiivltWHKstFQp04LLVCUyh9UhyABedktGQFTY0yHy1bpOemI3nRtK0xWDRTlUgUHYTiczeXfUxgjnVgk99Avl7b6VksRWT9pEfUiZaEZDVQaT-2FT6xN9RbqhNXz5V1vgEKy7XAcCJCqkJKMHi3OohMnlpUmk6ygsID5MswWCxMdfKzJ9-2FpguFWi50hAdxGPTB-2FQkw-3D-3D
- Rename "promote" operation to "release" - [#50](http://link.sibbell.com/wf/click?upn=9lQbz3uT2dCyDMxUSbiPZtHZep-2FrpXs70v2GbDgI01GEukSTVJy6RKboOVHZ-2F702fn97YGkZiCM6aj3qnZLmoTiOBMxOp1ZVzQxyFLEUaYc-3D_hV8QMVkInQ3dQdGB9iiivltWHKstFQp04LLVCUyh9UhyABedktGQFTY0yHy1bpOeHLErXMoM8VJCGJWY6LPWXY2Bivoear9dvGCd9fxMxheS2gZvwE54H5sVBzOVq8VifTL-2BQ-2FmuqzTiHPL39C6g0y-2F38NeZ7K0KAyM7JKiMcTnuPgsPaZWvguupiIByRhCQCJxWcrLYtpUgidN3Fba7-2FA-3D-3D
instead of just:
It would be nice to (on demand) replace full links to own issues with just numbers during export.
When running chandler push
on a changelog, there might be some versions that I have tags for which aren't present in the changelog. It would be nice if I could have chandler ignore the missing versions in the changelog and just push what it can. Currently I get an error, like:
/Users/jonathan/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/chandler-0.1.2/lib/chandler/changelog.rb:35:in `block in fetch': Couldn’t find 0.2.1 in CHANGELOG.md (Chandler::Changelog::NoMatchingVersion)
Is it out of scope for this project to allow other formats of the CHANGELOG file e.g yaml?
Edit: if not, I'd love to contribute.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.