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

NEP29: Test PyGMT on NumPy 1.26 #2692

Merged
merged 3 commits into from
Oct 24, 2023
Merged

NEP29: Test PyGMT on NumPy 1.26 #2692

merged 3 commits into from
Oct 24, 2023

Conversation

seisman
Copy link
Member

@seisman seisman commented Sep 17, 2023

Description of proposed changes

Bumps numpy from 1.25 to 1.26. NumPy 1.26.0 was released on 18 Jun 2023.

This is in line with PyGMT's policy on NEP29 at https://www.pygmt.org/v0.9.0/maintenance.html#dependencies-policy, xref #1074.

Note that the branch protection rules at GenericMappingTools/pygmt/settings/branches will need to be changed to use Python 3.11/Numpy 1.26 instead of Python 3.11/Numpy 1.25 before this Pull Request is merged.

Supersedes #2581

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 wrapping a new module, open a 'Wrap new GMT module' issue and submit reasonably-sized PRs.
  • If adding new functionality, add an example to docstrings or tutorials.
  • Use underscores (not hyphens) in names of Python files and directories.

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

@seisman seisman added the maintenance Boring but important stuff for the core devs label Sep 17, 2023
@seisman seisman added this to the 0.11.0 milestone Sep 17, 2023
@seisman
Copy link
Member Author

seisman commented Sep 17, 2023

Need to wait for conda-forge/numpy-feedstock#297

@seisman seisman marked this pull request as ready for review September 17, 2023 04:08
@seisman seisman marked this pull request as draft September 17, 2023 04:10
@seisman seisman marked this pull request as ready for review September 17, 2023 07:23
@seisman
Copy link
Member Author

seisman commented Sep 17, 2023

After bumping NumPy 1.25 to 1.26, we have 170 failures. These failures are all caused by the Ghostscript versions.

For unknown reasons (complicated package dependency), with NumPy 1.25, gs 9.54 is installed but with NumPy 1.26, gs 10.02.0 is installed.

@seisman
Copy link
Member Author

seisman commented Sep 17, 2023

After bumping NumPy 1.25 to 1.26, we have 170 failures. These failures are all caused by the Ghostscript versions.

For unknown reasons (complicated package dependency), with NumPy 1.25, gs 9.54 is installed but with NumPy 1.26, gs 10.02.0 is installed.

We have a few options to address these failures:

  • Pin gs to 9.54 in the Dev Tests
  • Pin gs to 10.02.0 in the regular Tests and update all baseline images

@seisman seisman added the needs review This PR has higher priority and needs review. label Sep 17, 2023
@weiji14
Copy link
Member

weiji14 commented Sep 17, 2023

  • Pin gs to 9.54 in the Dev Tests

  • Pin gs to 10.02.0 in the regular Tests and update all baseline images

We'll need to update the baseline images for gs 10.02.0 eventually, so I'd prefer option 2. But I'm worried if we can't install gs 10.02 on Python 3.9 / NumPy 1.22, causing the tests to fail when we update the base images 😅

@seisman
Copy link
Member Author

seisman commented Sep 17, 2023

But I'm worried if we can't install gs 10.02 on Python 3.9 / NumPy 1.22, causing the tests to fail when we update the base images

Pin gs to 10.02.0 seems working #2694 for the Tests CI.

@seisman seisman marked this pull request as draft September 19, 2023 07:31
@seisman seisman removed the needs review This PR has higher priority and needs review. label Sep 20, 2023
@weiji14 weiji14 mentioned this pull request Oct 11, 2023
7 tasks
@weiji14 weiji14 marked this pull request as ready for review October 24, 2023 02:38
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.

Pinning to gs 9.54 in #2754 allows the tests to pass on NumPy 1.26 (previously tests were failing due to image differences with gs 10.02).

@seisman, feel free to merge after the tests pass. Remember to update the branch protection rules too!

@seisman seisman merged commit 00c0b57 into main Oct 24, 2023
17 of 20 checks passed
@seisman seisman deleted the nep29/numpy-1.26 branch October 24, 2023 11:22
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants