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

Add release notes bundling tool #2131

Merged
merged 9 commits into from Mar 22, 2023
Merged

Add release notes bundling tool #2131

merged 9 commits into from Mar 22, 2023

Conversation

timobrembeck
Copy link
Member

Short description

I was really annoyed by the changelog format and the constant merge conflicts, so I implemented a completely over-engineered release note tool.

To generate the good old markdown changelog, execute e.g.:

./tools/make_release_notes.sh --format=md --output=CHANGELOG.md

You can create new release notes by copying+pasting the existing ones, or by simply executing:

./tools/new_release_note.sh 1689 en "Changelog entries are now automatically genereated"
Checking if Integreat CMS is installed...
✔ Integreat CMS is installed
Creating new release note...
✔ The new release note has been generated:

integreat_cms/release_notes/current/unreleased/1689.yml
┌──────────────────────────────────────
│ en: Changelog entries are now automatically genereated
│ de: Changelog-Einträge werden nun automatisch generiert
└──────────────────────────────────────

or:

./tools/new_release_note.sh 1763 de "Das Änderungsprotokoll steht jetzt auch auf Deutsch zur Verfügung"
Checking if Integreat CMS is installed...
✔ Integreat CMS is installed
Creating new release note...
✔ The new release note has been generated:

integreat_cms/release_notes/current/unreleased/1763.yml
┌──────────────────────────────────────
│ en: The change log is now also available in German
│ de: Das Änderungsprotokoll steht jetzt auch auf Deutsch zur Verfügung
└──────────────────────────────────────

And if a DeepL auth key is set in the config file, the changelog entries are automatically translated.

Proposed changes

  • Split changelog into separate files
  • Remove obsolete changelog checking script
  • Add dev tool to build release notes
  • Add dev tool to create new release note
  • Adapt documentation script to new release notes
  • Adapt CircleCI workflow to new release notes
  • Show release notes in CMS

Side effects

  • Whether the release workflow works as expected remains to be seen

Resolved issues

Fixes: #1689
Fixes: #1763


Pull Request Review Guidelines

@timobrembeck timobrembeck requested a review from a team as a code owner March 20, 2023 15:07
@codeclimate
Copy link

codeclimate bot commented Mar 20, 2023

Code Climate has analyzed commit f18c5d4 and detected 0 issues on this pull request.

The test coverage on the diff in this pull request is 100.0% (50% is the threshold).

This pull request will bring the total coverage in the repository to 75.8% (0.0% change).

View more on Code Climate.

CHANGELOG.md Show resolved Hide resolved
charludo

This comment was marked as duplicate.

@timobrembeck timobrembeck force-pushed the changelog-bundling branch 2 times, most recently from d903abd to 05280d5 Compare March 21, 2023 12:23
@timobrembeck timobrembeck force-pushed the changelog-bundling branch 2 times, most recently from c89d8dc to f737d00 Compare March 22, 2023 13:18
Copy link
Member

@MizukiTemma MizukiTemma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you 👍

@timobrembeck timobrembeck merged commit f156e64 into develop Mar 22, 2023
5 checks passed
@timobrembeck timobrembeck deleted the changelog-bundling branch March 22, 2023 16:31
This was referenced Mar 23, 2023
@PeterNerlich
Copy link
Contributor

And if a DeepL auth key is set in the config file, the changelog entries are automatically translated.

So, where exactly is the config file again? A quick search in the documentation doesn't bring anything up. Is this a missing section?

@timobrembeck
Copy link
Member Author

So, where exactly is the config file again? A quick search in the documentation doesn't bring anything up. Is this a missing section?

In /etc/integreat-cms.ini

There's a small sentence here: https://digitalfabrik.github.io/integreat-cms/ref/integreat_cms.core.html#settings

But yeah, could probably be more prominent. And I'm not sure why the search isn't returning this result...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add changelog building step to release workflow Add CircleCI check for changelog format
4 participants