drupal-project icon indicating copy to clipboard operation
drupal-project copied to clipboard

Introduce semantic versioning & changelog file

Open tormi opened this issue 4 years ago • 7 comments

We need a better way to let people know about template changes. Let's start using the semantic versioning and the changelog file.

Edit: There's also a recommendation writing commit messages using the Conventional Commits specification.

References

  • https://semver.org/
  • https://keepachangelog.com/
  • https://www.conventionalcommits.org/

Reference project: https://github.com/wunderio/client-fi-uh-courses/blob/master/CHANGELOG.md

tormi avatar Apr 29 '21 05:04 tormi

Also, let's figure out the best way for template user to know what template version they are using in their project.

tormi avatar Apr 29 '21 07:04 tormi

Also, let's figure out the best way for template user to know what template version they are using in their project.

@greg-1-anderson, you have implemented the upstream stuff in https://github.com/pantheon-systems/drops-8. Could you maybe give some hints how to achieve this in a best possible way? :)

tormi avatar Apr 29 '21 07:04 tormi

Related issue: https://github.com/wunderio/WunderFlow/issues/1

tormi avatar Apr 18 '22 13:04 tormi

OK, what can gren do for me? gren is a small helpful robot that will do for you just create a release from a tag and compile the release notes using issues or commits.

It also can generate a CHANGELOG.md file based on the release notes (or generate a brand new).

https://github.com/github-tools/github-release-notes An example of usage: https://github.com/matcornic/hugo-theme-learn#releasing

tormi avatar May 20 '22 19:05 tormi

Is this for a Pantheon custom upstream? Pantheon upstreams always release from branches, not tags. If you want to simulate a Semantic Versioning based release mechanism, I would recommend:

  • Name your default branch default
  • Make semver tags off of the default branch as usual
  • When making a release tag, merge the result into the branch Pantheon is releasing from. This has historically been the master branch, but can now be main instead. (Only the upstream: Pantheon sites themselves still must use the master branch for the dev environment)

To allow users to keep track of what version of your upstream they are using, you could write a VERSION fill to the root of your upstream repo.

greg-1-anderson avatar May 20 '22 22:05 greg-1-anderson

Is this for a Pantheon custom upstream?

No, this is not related to Pantheon.

If you want to simulate a Semantic Versioning based release mechanism, I would recommend..

Thanks for your valuable input, Greg!

tormi avatar Jul 03 '23 14:07 tormi

This is how drupal-composer/drupal-project handles branch naming:

Screenshot 2023-07-03 at 17 32 09

tormi avatar Jul 03 '23 14:07 tormi