-
-
Notifications
You must be signed in to change notification settings - Fork 690
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CHANGELOG.md Homogeneity Project #251
Comments
Great research @jaysonesmith. Some of the repos without a changelog file are read-only mirrors of the
These repos should not have a changelog - their changelog is in monorepo:
Some repos don't get tagged and released - they're just "ongoing":
Some I just moved to the attic:
And this one got deleted:
So I think the remaining ones need a changelog. Now your questions:
|
Thanks for the feedback @aslakhellesoy that is all incredibly useful info! |
In accordance with cucumber/common#251 normalization will help messaging be consistent across the board allowing different users to be able to read all history files across Cucumber regardless of which language specific repo of which they're most familiar.
Looking at
I'm happy with the I have no strong preference on the other items. |
In accordance with cucumber/common#251 normalization will help messaging be consistent across the board allowing different users to be able to read all history files across Cucumber regardless of which language specific repo of which they're most familiar.
@aslakhellesoy I've trimmed the repo list with your guidance in mind. Could you take another look at it to make sure we're still not including anything unnecessarily?
Works for me! Thanks for getting on board with this so quickly!
We can certainly look to go this way. The Ruby repo doesn't currently follow this convention, but it should be able to. |
Ad 3/4: Wouldn't it be helpful to include one of the keywords to automatically close the related issue? https://help.github.com/articles/closing-issues-using-keywords/ |
@mlvandijk This wouldn't be touching the Issue/PR directly, only the changelog file so I'm not should (and I could be wrong) that would work? |
I wrote a simple ruby script for automatically looking for issue numbers like To run: output = ''
File.foreach(ARGV[1]) do |line|
match = line.match(/\[#(\d{1,3})\]/)
output += match ? line.gsub(/\[#\d{1,3}\]/, "#{match}(https://github.com/cucumber/#{ARGV[0]}/issues/#{match[1]})") : line
end
File.open("#{ARGV[1]}", "w") {|file| file.puts output } |
Keep a Changelog says that Changelog is "a curated, chronologically ordered list". By their own example it also says the "curated" trumps "chronologically ordered". Using
the entries on German and Italian translations was added two months after the entry on new guiding principles. When reading the Changelog to find out what changes were made in a release, I can see that is makes sense to list all added translations together. My take on this is that scrips are handy, but it is still the person using the script to update the Changelog that is responsible that the result is appropriate. As an example from one of our own project, I think that all "Fix Metrics/LineLength" PR:s (cucumber/cucumber-ruby#1174, cucumber/cucumber-ruby#1175, cucumber/cucumber-ruby#1176 - of which the first is not mentioned in the changelog at all), should rather be grouped into one entry:
now they seems to take up an unnecessary amount of real estate in the changelog. |
@jaysonesmith @mlvandijk It would be great is the script could detect and add the issues closed by the pull request (which "can" be done by parsing the pull request description), otherwise (at least me that thinks that this information belongs in the changelog) that information needs to be manually added after the script has been executed. In either case their is still the work of checking (and if necessary adding) that the pull request description closes the appropriate issues, before merging the pull request. |
@js, for cucumber-jvm, I put: "Please see CONTRIBUTING.md on how to contribute to Cucumber." - Let me know if that's ok and it (#1204) can be merged :) Also, that could (should) then be the same across repos? |
@mlvandijk That works for me. I've put the same at the top of the file for Aruba. |
@js You're right, Github won't auto-close from the CHANGELOG. Would it be good practice to include these keywords in commit messages? Or would we prefer to close issues manually? |
@mlvandijk I prefer to close issues with pull request descriptions. Yes, in case I would push a fix for an issue directly to master, then that commit would both fix the issue and update the changelog, and its commit message would close the issue. I would not close issues (using those keywords in the commit message) with commits pushed to pull request branches. In that case I think that closing the issues is for the pull request description to do (using those keywords). Closing issues manually is just extra manual work which is to easily to be forgotten, and you will anyway when closing the issue refer to the pull request or commit that did the fix to get that traceability on Github, so it is much better to let Github to create that traceability automatically. |
* CHANGELOG update for monorepo [#251](cucumber/common#251)
Got a bunch of the new changelogs done and this issue is almost done, at least initially. (I didn't merge any this time! ;) ) |
* Formatting and things * Added header from [#251](cucumber/common#251)
Disregarding my mention of this issue in the above 1194, could I get a review of the open PRs above, please? Just waiting for approval, basically. Thanks! |
PRs look fine to me as far as the text & links, but I'm not a contributor on these projects so
|
Thanks @mlvandijk! I appreciate the time! WRT contributors, the members listed were pulled directly from Github using the following command and then I added myself to them:
@mattwynne / @aslakhellesoy Now that these have been approved how would you like me to move forward? Also, are the Ruby tests broken? |
@js That answers my 1st question. Thnx! |
Unless anyone has objections, I'm going to go through and merge things today. I've also got a request from @maxmeyer to add a changelog to aruba-getting-started which I'll do too. |
* Formatting and link fixing for [#1182](cucumber/common#1182) * Added header from [#251](cucumber/common#251)
Everything except for the new changelog added in the |
I think we're all set here! Going to close this out, we should probably extract the template I wrote above to be a guide for any new repos created? |
@jaysonesmith I'm currently updating the Aruba change log with new changes, and I'm finding adding all the links for issues and users is becoming quite a chore. Is there any way to automate this? Update: I have solved this problem by using footnote-style linking for both issues and users. This way, I can first add all the entries, and then add all the new links at once. |
Oh, #255 looks useful! |
## [3.0.0](cucumber/cucumber-ruby-core@v3.0.0.pre.2...v3.0.0) (2017-09-27) ### Changed * Step#name renamed to #text ([#137](cucumber/cucumber-ruby-core#137) [@olleolleolle](https://github.com/olleolleolle)) * Use past tense in event names (`xStarting` -> `xStarted`) (see [cucumber/cucumber-ruby#1166](cucumber/cucumber-ruby#1166) @brasmusson). ### Added * Do not create test cases for scenarios with no steps ([#144](cucumber/cucumber-ruby-core#144) @brasmusson) * Handle selective strict settings ([#143](cucumber/cucumber-ruby-core#143) @brasmusson) ### Fixed * Fix DataTable's Location to be aware of all of its lines ([#142](cucumber/cucumber-ruby-core#142) @botandrose) ### Improved * As per [#251](cucumber/common#251): renamed History.md to CHANGELOG.md, added contributing message at beginning, and misc formatting. ([#145](cucumber/cucumber-ruby-core#145) [jaysonesmith](https://github.com/jaysonesmith)) ## [3.0.0.pre.2](cucumber/cucumber-ruby-core@v2.0.0...3.0.0.pre.2) (2017-07-26) ### New Features * Add a flaky result type to be used for flaky scenarios ([#141](cucumber/cucumber-ruby-core#141), [cucumber/cucumber-ruby#1044](cucumber/cucumber-ruby#1044) @brasmusson) * Make the Summary report able to say if the total result is ok ([#140](cucumber/cucumber-ruby-core#140) @brasmusson) * Replay previous events to new subscribers ([#136](cucumber/cucumber-ruby-core#136) @mattwynne) * Ruby 2.4.0 compatibility ([#120](cucumber/cucumber-ruby-core#120) @junaruga) * Use tag expressions ([#116](cucumber/cucumber-ruby-core#116) @brasmusson) * Access example table row data by param name ([#118](cucumber/cucumber-ruby-core#118) @enkessler) ### Bugfixes N/A ### Removed Features N/A ### Refactoring * Travis: jruby-9.1.10.0 ([#130](cucumber/cucumber-ruby-core#130) @olleolleolle) * Travis: jruby-9.1.12.0 ([#133](cucumber/cucumber-ruby-core#132) @olleolleolle)
## [1.0.0](cucumber/cucumber-ruby-wire@v0.0.1...v1.0.0) ### Added * Added this CHANGELOG.md file per [cucumber/cucumber #251](cucumber/common#251) ([#13](cucumber/cucumber-ruby-wire#13) [jaysonesmith](https://github.com/jaysonesmith)) ### Changed * Changes to work with a modern Cucumber-Ruby ([#14](cucumber/cucumber-ruby-wire#14) [brasmusson](https://github.com/brasmusson)) * Adapt to the move of Location to Cucumber::Core::Test ([#14](cucumber/cucumber-ruby-wire#14) [brasmusson](https://github.com/brasmusson)) <!-- Contributors --> [brasmusson]: https://github.com/brasmusson [jaysonesmith]: https://github.com/jaysonesmith [junaruga]: https://github.com/junaruga [mattwynne]: https://github.com/mattwynne [olleolleolle]: https://github.com/olleolleolle
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Project
Normalize all
CHANGELOG
/history
files across all necessary cucumber repos. Please follow the guidelines below and if you have any questions, please ask!Guidelines
CHANGELOG.md
. If they are anything else, please rename them to fit.[Module] Message ([Issue Link], [Issue Link] Contributor Name One, Contributor Name Two)
(Link to user's github if available) See the Gherkin CHANGELOG for an example.Removed
,Added
,Changed
,Fixed
. Please prefix with an H3 tag. Aka###
(PR #123)
are updated to be point to an appropriate Github URL.(#123)
would turn into[#123](https://github.com/cucumber/cucumber/pull/123]
or #123List of Repos By Current Tracking Type
All below need to be updated/checked. Please edit the list yourself or let me know when you've completed a repo and I will update the list here.
(double
~~
on both sides)Changelog.md
cucumber-jsHistory.md
arubacucumber-cppcucumber-jvmcucumber-railscucumber-rubycucumber-ruby-coremulti_testNo history tracking file
aruba-contribaruba-websitecommitbitcucumber-eclipsecucumber-electroncucumber-htmlcucumber-jvm-depscucumber-luacucumber-reactcucumber-ruby-tclcucumber-ruby-wirecucumber-tcl-wiregithub-issue-statsHistorical data moving out of the main section
Summary
I've wanted to get various informational documents consistent across our repos as there are pretty significant differences between them. Normalization will help messaging be consistent across the board allowing different users to be able to read all history files across Cucumber regardless of which language specific repo of which they're most familiar.
Current Implementations
Examples:
update-history
script to manage theirHISTORY.md
fileCHANGELOG.md
but suggests using a specificgit log
.Possible Solution
Aslak suggested Keep a Changelog for our history files. This uses a clear format and groups things by type, similar to what we're doing today.
Questions/Tuning
History.md
orCHANGELOG.md
across repos?1a. Should what we decide on be in all caps?
2a. Should we create a day forward file or try to wrangle past commit history into the files we create?
The text was updated successfully, but these errors were encountered: