Skip to content

chore: Revise pull request request template #289

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open

Conversation

MeraX
Copy link
Contributor

@MeraX MeraX commented Apr 30, 2025

Description

The new PR template puts the information content before the checklist. This simplifies the merging process when including the PR description in the merge commit message.

Intent

Implementing this template together with setting the "Default commit message" to "Pull request title and description" provides a comprehensive git history.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

Code Compatibility

  • I have performed a self-review of my code

Code Performance and Testing

  • I have added tests that prove my fix is effective or that my feature works
  • I ran the complete Pytest test suite locally, and they pass
  • I have tested the changes on a single GPU
  • I have tested the changes on multiple GPUs / multi-node setups
  • I have run the Benchmark Profiler against the old version of the code
  • If the new feature introduces modifications at the config level, I have made sure to update Pydantic Schemas and default configs accordingly

Dependencies

  • I have ensured that the code is still pip-installable after the changes and runs
  • I have tested that new dependencies themselves are pip-installable.
  • I have not introduced new dependencies in the inference portion of the pipeline

Documentation

  • My code follows the style guidelines of this project
  • I have updated the documentation and docstrings to reflect the changes
  • I have added comments to my code, particularly in hard-to-understand areas

Additional Review Notes

Review Process

  • Upon merging this PR, please review the commit message and remove any PR checklists. The commit message should provide a clear explanation of the purpose and intent behind the changes introduced in the commit.

@MeraX MeraX requested a review from a team as a code owner April 30, 2025 15:21
@github-actions github-actions bot added the CI/CD label Apr 30, 2025
@MeraX MeraX changed the title Revise pull request request template chore: Revise pull request request template Apr 30, 2025
@anaprietonem
Copy link
Collaborator

Hello Marek! thanks for the PR! While thinking about this, I thought an option to remove the need for the manual process would be to 'detach' the checklist from the PR template and add that as github action by which when opening a PR, a 'bot' would comment on the PR the checklist for reviewers and developers to go through it. That way, we could keep a more meaningful github commit history without introducing a manual process as part of our development. What do you think?

@MeraX
Copy link
Contributor Author

MeraX commented Apr 30, 2025

Ana, that is a very good solution. Can you check TODOs in my comment? This would also increase the user experience, as I find it always a bit tedious to enter Xes by hand.

  • Yes

@anaprietonem
Copy link
Collaborator

anaprietonem commented Apr 30, 2025

Ana, that is a very good solution. Can you check TODOs in my comment? This would also increase the user experience, as I find it always a bit tedious to enter Xes by hand.

  • Yes

Yes I could click on that TODO without any problem!

@@ -2,19 +2,20 @@

<!-- Provide a brief summary of the changes introduced in this pull request. -->

## Intent and Issue Number
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How does Intent differ from Description?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe well-crafted commit messages provide context by addressing the following questions:

  1. What changes have been introduced?
  2. What problem does this change solve?
  3. What issue or task does this change relate to?

I would answer these questions under the headings 'Description', 'Intent', and 'Issue Number'. But perhaps you could suggest clearer headings. What about replacing the current instructions given as <!-- comments --> by these questions? Would that ease the template?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Marek. Particularly for 1 & 2 I wonder if these should not be the actual headings? If not, perhaps hidden as comments is also useful.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good idea.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MeraX we discussed this with the team, the creation of an additional ci workflow might be cumbersome so we could opt to simplify the PR template, and rather than having 'tick' boxes use the questions or headers we currently have, plus a reminder or responsibility note at the bottom to remind both reviewers and developers about dependencies, tests and testing their code with multiple gpus/node.

Description

What issue or task does this change relate to?

What problem does this change solve?

Describe if it's a bugfix, new feature, doc update, or breaking change

What issue or task does this change relate to?

link to Issue Number

Additional notes

As a contributor to the Anemoi framework, please ensure that your changes include unit tests, updates to any affected dependencies and documentation, and have been tested in a parallel setting (i.e., with multiple GPUs). As a reviewer, you are also responsible for verifying these aspects and requesting changes if they are not adequately addressed.

The last bit would be repeated in the commit message for each PR, but this would simplify our workflow across all the anemoi packages.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ana, please go ahead and push your suggestion to this branch.

@MeraX MeraX mentioned this pull request May 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants