Automattic / wc-calypso-bridge

20 stars 4 forks source link

Integrate with Jetpack changelogger #1051

Open chihsuan opened 1 year ago

chihsuan commented 1 year ago

Describe the solution you'd like

Adopt the Jetpack Changelogger .

Describe alternatives you've considered

N/A

Additional context

Reference: https://github.com/woocommerce/woocommerce/issues/31135

psealock commented 1 year ago

Hi @markbiek, I see this issue on the Ghidorah backlog and figured I'd grab it. Before diving, I thought I'd check in with you first because you've recently done a lot of work around this.

Specifically, adding Jetpack Changelogger would alter the changelog creation and compilation process you've built already. Is this a need your team has identified? I'm hesitant to re-solve a problem if the solution is working well. Or maybe there is a way to use Jetpack Changelogger just for adding changelog entries and fold that into the current system. I'll hold off on this until hearing from you. Cheers!

markbiek commented 1 year ago

Hi @markbiek, I see this issue on the Ghidorah backlog and figured I'd grab it. Before diving, I thought I'd check in with you first because you've recently done https://github.com/Automattic/wc-calypso-bridge/pull/1122.

Specifically, adding Jetpack Changelogger would alter the changelog creation and compilation process you've built already. Is this a need your team has identified? I'm hesitant to re-solve a problem if the solution is working well. Or maybe there is a way to use Jetpack Changelogger just for adding changelog entries and fold that into the current system. I'll hold off on this until hearing from you. Cheers!

Hi @psealock!

Thanks for reaching out! To start, here's a little bit more context about the wc-calypso-bridge automation process:

paYKcK-2Ug-p2/#wc-calypso-bridge-release-automation

The issue was that we have always had problems with bad builds due to missed steps in the previous manual release/build process. To that end, we built a series of scripts to automate the process which is now the standard way to create a release.

I believe the current process is working well but I'm certain there's always room for improvement.

Assuming we wanted to start using the Jetpack Changelogger here, folding it into the current system seems to make the most sense to me.

The changelog update is really just one small part of the process. We've also automated incrementing version numbers in the appropriate places, creating the PR for the release, and creating and deploying the release tag in Github.

My main question would be, what does using the Jetpack Changelogger give us that we don't currently have?

ilyasfoo commented 4 months ago

Hey, Mark!

My main question would be, what does using the Jetpack Changelogger give us that we don't currently have?

AFAIK the current way of adding changelog is manual, i.e: each individual PR will need the author to append to readme.txt. This is problematic due to no automated checks to ensure readme.txt is appended, thus we may miss adding changelog.

Currently, the releaser's responsibility is to (with assumption that PR authors missed adding to readme.txt):

  1. Determine which PRs will make it into the release
  2. Summarize the changes from those PRs and write changelog for each
  3. Collate those changelogs to readme.txt

By using Jetpack changelogger and enforcing automated check for changelog in PRs, the responsibility of the releaser will just be to confirm the readme.txt changes since everything else is delegated back to PR authors and automation.