Sampler icon indicating copy to clipboard operation
Sampler copied to clipboard

How does the changelog managment work?

Open Scamelion opened this issue 3 months ago • 2 comments

Hi @gaelcolas,

I would like some clarification on how changelog management works. Typically, how would this be accomplished? Do you need a separate changelog branch? What would a developers work flow look like for keeping the changelog updated? For reference, we are using Bitbucket. I'm not sure if that's relevant.

This is our first time collaboratively developing a module and Sampler has been a tremendous help. It's provided a great foundation, saved time, and accelerated our learning.

Thank you in advance!

Regards, Scott

Scamelion avatar Apr 18 '24 17:04 Scamelion

What would a developers work flow look like for keeping the changelog updated?

In the DSC Community that have a lot of modules that uses Sampler's pipeline. Each PR must add an entry to the change log under the unreleased section. When a PR is merged to the default branch (main in our case) the default branch is built and a preview release is automatically deployed. For the preview release the unreleased section of the change log is used as the releases notes in the module manifest (and also in the GitHub release if used) - the Unreleased section is not changed during preview release. When a full release is made by pushing a full release git tag version (e.g v1.0.0) the unreleased section is automatically moved to a new release section (using the tag version) in the changelog, and that is used as the release notes in the module manifest - then a new empty Unreleased section is created in the change log and the process can start again. After the release has been deployed a PR is automatically created that suggests updating the changelog with the new version section and the new empty Unreleased section.

One should keep in mind that after a full release is made, any pending PR's must be rebased and manually move the change log entry to the new Unreleased section because otherwise it will merge into the change log section of the release, because git diff does not understand that the section it was added to is now incorrect.

johlju avatar Apr 20 '24 15:04 johlju

It seems this is not documented in the README so I think we should add it there. Tagging this as documenation.

johlju avatar Apr 20 '24 15:04 johlju