Skip to content
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

Add issue template with checklist for bumping the minimum required GMT version #1630

Merged
merged 5 commits into from
Dec 4, 2021

Conversation

maxrjones
Copy link
Member

Description of proposed changes

Bumping the required GMT version is often an involved process with multiple PRs, but infrequent enough (~2/year) that it's easy to forget all the changes needed. This PR proposed an issue template with a checklist for common steps needed for bumping the required GMT version after a GMT release.

Reminders

  • Run make format and make check to make sure the code follows the style guide.
  • Add tests for new features or tests that would have caught the bug that you're fixing.
  • Add new public functions/methods/classes to doc/api/index.rst.
  • Write detailed docstrings for all functions/methods.
  • If adding new functionality, add an example to docstrings or tutorials.

Slash Commands

You can write slash commands (/command) in the first line of a comment to perform
specific operations. Supported slash commands are:

  • /format: automatically format and lint the code
  • /test-gmt-dev: run full tests on the latest GMT development version

@maxrjones maxrjones added maintenance Boring but important stuff for the core devs skip-changelog Skip adding Pull Request to changelog labels Nov 22, 2021
- [ ] Update `test_get_default` in `pygmt/tests/test_clib.py`
- [ ] Update compatibility table in `README.rst`
- [ ] Fix failing tests (1 or more PRs)
- [ ] Remove [xfail](https://docs.pytest.org/en/stable/skipping.html#xfail-mark-test-functions-as-expected-to-fail) pytest markers on tests that are now xpass
Copy link
Contributor

Choose a reason for hiding this comment

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

Should this be under the "Fix failing tests" header?

Copy link
Member Author

Choose a reason for hiding this comment

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

I think this should stay separate because these tests do not get listed under the failures, so people will need to pay attention to the full list. For example, here are the failing tests using 6.3 and the three xpasses are not listed:
image

.github/ISSUE_TEMPLATE/bump_gmt_checklist.md Outdated Show resolved Hide resolved
Comment on lines +19 to +21
- [ ] Update `.github/workflows/cache_data.yaml`
- [ ] Update `.github/workflows/ci_docs.yml`
- [ ] Update `.github/workflows/ci_tests.yaml`
Copy link
Member

Choose a reason for hiding this comment

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

Probably a little off-topic: The "minimum required GMT version" and "the GMT version used in CI" may be different if we decide to support multiple GMT versions in the future. We probably need to discuss how to test PyGMT with multiple GMT versions when we are close to PyGMT v1.0.0.

Copy link
Member Author

Choose a reason for hiding this comment

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

Good point. This could get tricky to manage, so I think it's a good issue topic.

Copy link
Member

@seisman seisman left a comment

Choose a reason for hiding this comment

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

The template looks good to me.

@seisman seisman added the final review call This PR requires final review and approval from a second reviewer label Dec 2, 2021
@seisman seisman added this to the 0.6.0 milestone Dec 2, 2021
- [ ] Update `required_version` in `pygmt/clib/session.py`
- [ ] Update `test_get_default` in `pygmt/tests/test_clib.py`
- [ ] Update compatibility table in `README.rst`
- [ ] Fix failing tests (1 or more PRs)
Copy link
Member

Choose a reason for hiding this comment

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

'Fix failing tests' is listed after 'Bump the minimum GMT version'. Does this imply that we are ok with the CI tests breaking on the main branch for a period of time?

Copy link
Member Author

Choose a reason for hiding this comment

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

I think the only way the tests wouldn't fail for a period of time is if all the changes were in a single PR or xfails were added just to be removed shortly after. I would prefer to have the tests break for a short bit in order to split up the tasks and reduce efforts, but of course other opinions are welcome.

Copy link
Member

Choose a reason for hiding this comment

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

Guess it depends on the situation (i.e. how many tests are breaking, and how big of a fix is required). Having failing tests on the main branch means that PRs will need to be merged by those with admin permissions (currently 5, maybe 3 active), so we definitely want to keep that period as short as possible.

Copy link
Member Author

Choose a reason for hiding this comment

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

Good point. I agree that we'll want to make the tests pass again as quickly as possible. We can also adjust the issue checklist from what is in the template on a case-by-case basis.

Copy link
Member

@weiji14 weiji14 left a comment

Choose a reason for hiding this comment

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

Thanks Meghan!

@maxrjones maxrjones merged commit 8d7bc0e into main Dec 4, 2021
@maxrjones maxrjones deleted the template-bump-gmt branch December 4, 2021 16:57
@maxrjones maxrjones removed the final review call This PR requires final review and approval from a second reviewer label Dec 4, 2021
sixy6e pushed a commit to sixy6e/pygmt that referenced this pull request Dec 21, 2022
…T version (GenericMappingTools#1630)

* Add issue template with checklist for bumping the minimum required GMT version

Co-authored-by: Will Schlitzer <[email protected]>
Co-authored-by: Dongdong Tian <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Boring but important stuff for the core devs skip-changelog Skip adding Pull Request to changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants