kolibri-design-system icon indicating copy to clipboard operation
kolibri-design-system copied to clipboard

Complete changelog automation

Open MisRob opened this issue 1 year ago • 0 comments

Summary

The PR that implements the changelog automation https://github.com/learningequality/kolibri-design-system/pull/547 has been tested and reviewed to a large extent and seems to work pretty well overall.

The PR has two parts

  • An action that checks that changelog item(s) are present in the PR description (changelog.yml)
  • An action that updates CHANGELOG.md file with the changelog item(s) from the PR description after the PR has been merged (update_changelog.yml)

The first action doesn't seem to need any more updates.

For the second action, there are few last tweaks that ideally a core team would resolve since these are related to our repository settings and it's also possible that some more things will come up related to permissions etc. as we have seen in the past with actions deployed to production.

(1) Fix Required status check "check-description" is expected.

Steps to reproduce

  1. Open a PR in the test actions repository https://github.com/learningequality/test-actions
  2. Update changelog item in the PR description and see the changelog check pass
  3. Merge the PR
  4. See the update_changelog.yml action fail, such as here https://github.com/learningequality/test-actions/actions/runs/8595361554/job/23549931392

(2) Confirm that the CHANGELOG.md is updated as expected after merging a PR and if not, resolve new issues or report in https://github.com/learningequality/kolibri-design-system/pull/547 depending on the nature of issues

  • For a PR with one changelog item in its description
  • For a PR with more changelog items in its description

(3) Final test of the whole new workflow and merge

  • @MisRob can support with testing
  • Would be good to get approval of the very final code from @rtibbles

Guidance

@rtibbles provided some tips on resolving (1)

we need to run [update_changelog.yml] on both pull_request and push events

Then we just condition execution on it actually being a pull_request event

So for each step, you would add this condition: if: github.event_name == 'pull_request'


I'd suggest this is done by working and testing thoroughly in our test actions repo which is set in the same way like KDS repository in regards to branches protection.

Then we can open a PR to https://github.com/learningequality/kolibri-design-system/pull/547 with all changes needed and proceed to merge.

This will help us with smooth migration without breaking KDS workflows around changelog.

MisRob avatar Apr 08 '24 06:04 MisRob