Skip to content
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

Improved changelog generator #30724

Merged
merged 15 commits into from
May 24, 2019
Merged

Improved changelog generator #30724

merged 15 commits into from
May 24, 2019

Conversation

KurzedMetal
Copy link
Contributor

@KurzedMetal KurzedMetal commented May 21, 2019

Summary

SUMMARY: Infrastructure "Improve changelog generator (tools/generate_changelog.py)"

I made some overall improvements, some de duplication of code, a bit more threading, improved the "by-build" output format a bit and specially added the ability to generate "by build" and "by date" outputs in a single run, while previously it would require two script runs and make the expensive github calls twice.

How to use

With these changes, the parameters changed a bit, now you can specify --by-build and/or --by-date (or both) in a single call, each of accept a different filename to indicate where to save the output, if you use - (dash), it will use standard output.

Example 1: Generates both changelog formats in different files
generate_changelog.py 2019-05-10 --include-summary-none --verbose --by-build "cdda_changelog_by_build.txt" --by-date "cdda_changelog_by_date.txt"

Example 2: Generate --by-build changelog format in a file
generate_changelog.py 2019-05-10 --include-summary-none --verbose --by-build "cdda_changelog_by_build.txt"

Example 3: Generate --by-date changelog format in standard output
generate_changelog.py 2019-05-10 --include-summary-none --verbose --by-date -

Purpose of change

I tend to check this output for the last few weeks before playing to keep up with project development and changes and I find both output formats quite useful, so I decided to improve it a bit and I thought the project / other player could find it useful.

Describe alternatives you've considered

Not related to this but, I've been tempted to use some template engine like Jinja2 to make it easier to manage the format output but I kinda want to avoid adding external dependencies, so far the script super simple to run even without python knowledge, if I add external dependencies it will require to know a thing or two and do some steps before execution (besides installing python)

@ifreund ifreund added [Python] Code made in Python <Enhancement / Feature> New features, or enhancements on existing labels May 21, 2019
@ZhilkinSerg ZhilkinSerg self-assigned this May 24, 2019
@ZhilkinSerg ZhilkinSerg merged commit d26d536 into CleverRaven:master May 24, 2019
@ZhilkinSerg ZhilkinSerg removed their assignment May 24, 2019
@KurzedMetal KurzedMetal deleted the improved_changelog_generator branch May 27, 2019 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
<Enhancement / Feature> New features, or enhancements on existing [Python] Code made in Python
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants