bigbinary / neeto-editor

https://neeto-editor.neeto.com
MIT License
14 stars 3 forks source link

Changelog format #340

Closed yedhink closed 1 year ago

yedhink commented 1 year ago

@AbhayVAshokan _a https://github.com/bigbinary/neeto-editor/blob/master/CHANGELOG.md#082---2022-09-07

Shouldn't we be linking the commits that make up a new version release? If I go through the current changelog I am only provided with a text message saying what changed. But if I want to take a closer look into what all are the changes from code persepctive, then it's not easy with current format.

Some good references for how to show the what changed:

AbhayVAshokan commented 1 year ago

Agreed. Currently, we are keeping the structure of the changelog similar to neetoUI. It is served as part of the documentation: https://neeto-editor.onrender.com/?path=/docs/changelog--page.

Yes, having a reference to the corresponding PR (and any other information) is very useful. Taking this up.

cc: @amaldinesh7

yedhink commented 1 year ago

@Amaljith-K @unnitallman Can we standardize the changelog format across all neeto tooling products? I think we should stick onto https://github.com/olivierlacan/keep-a-changelog/blob/main/CHANGELOG.md.

I believe pointing this out in the neeto-hq channel would be good enough. But before doing that thought I'd confirm.

Amaljith-K commented 1 year ago

@yedhink WDYT about creating a GitHub release every time we increment the version? Reference: https://github.com/bigbinary/neeto-commons-frontend/releases

We can also prefer GitHub releases for publishing packages to npm. Reference: https://github.com/bigbinary/neeto-engineering-web/blob/master/Front-End-Guidelines/library-guidelines/README.md#release-and-publishing

We can automate the changelog generation if we follow this style. image

image
yedhink commented 1 year ago

@Amaljith-K Good idea. This will automate the process to a good extent.

@AbhayVAshokan _a Can you implement this changelog/relase format in this project, see how it works and document the process of releasing in https://neeto-engineering.neetokb.com/? If the links attached by Amaljith are self-explanatory and if there aren't any neeto specific changes that we ought to apply to changelog, then just add those links in our KB. That should do.

amaldinesh7 commented 1 year ago

@AbhayVAshokan please check the publish action of neetoUI, somewhat similar is implemented there.

AbhayVAshokan commented 1 year ago

As discussed over the call there are two approaches in the release process:

  1. Batch releases:
    • neeto-commons-frontend follows this style.
    • Several PRs can be batched together into a single release on a weekly basis.
    • Each host app PR for neeto-commons-frontend requires direct supervision from @Amaljith-K due to several breaking changes. Hence, this approach is ideal.
    • The release notes can be referred from the releases tab.
  2. Release on every PR:
    • neetoUI and neetoEditor currently follow this approach.
    • Both these repos are more or less stable. Most of the new PRs are bug fixes that needs to be immediately released. As a result, it would be difficult to have a single release per week.
    • The release notes can be referred from the CHANGELOG.md file.

The current approach for the generation of CHANGELOG depends on stefanzweifel/changelog-updater-action which respects the keep-a-changelog pattern. It fails to add the link to the changes due to the current approach not having tags. @Amaljith-K _a would be looking into this issue.

cc: @yedhink

Amaljith-K commented 1 year ago

Here are my updates regarding this: https://vimeo.com/749538440/9c97a88580 I'm quite busy with other priority work. I'll make those changes when time permits (maybe the day after tomorrow). @AbhayVAshokan _a if you are free & if you are familiar with php, you can take it up. Otherwise, I'll take it up on Friday.

Here are the links to the forked repos:

AbhayVAshokan commented 1 year ago

Got it. Let me take a look.

Amaljith-K commented 1 year ago

This has been taken care of & changes are all merged. This is a test action: https://github.com/bigbinary/neeto-editor/actions/runs/3089274211/jobs/4996704511

See https://github.com/bigbinary/neeto-editor/blob/e927d4c7282440349fcf23fa921be1d846edf014/CHANGELOG.md?plain=1#L27

There are some invalid links in the changelog that got accumulated while we were testing @AbhayVAshokan _a create an issue to clean them up. Also, delete unwanted releases from npm & remove unwanted changelog entries. I forgot to temporarily disable npm publish during testing.