Skip to content

Conversation

weiji14
Copy link
Member

@weiji14 weiji14 commented Sep 9, 2025

Description of proposed changes

Better pre-commit, re-engineered in Rust. https://prek.j178.dev/

Benchmarks on Style Checks workflow:

Before (27s) After (14s)
image image
4s install + 17s run 5s install + 3s run

Replace pre-commit with prek in these files:

  • .github/workflows/style_checks.yaml
  • .github/workflows/format-command.yml
  • environment.yml
  • Makefile

Supersedes #3283

Preview:

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.

Slash Commands

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

  • /format: automatically format and lint the code

@weiji14 weiji14 added this to the 0.17.0 milestone Sep 9, 2025
@weiji14 weiji14 self-assigned this Sep 9, 2025
@weiji14 weiji14 added the maintenance Boring but important stuff for the core devs label Sep 9, 2025
in environment.yml, Makefile and .github/workflows/format-command.yml
@weiji14 weiji14 marked this pull request as ready for review September 10, 2025 00:29
@weiji14
Copy link
Member Author

weiji14 commented Sep 10, 2025

Only thing left to remove is the pre-commit.ci service, which strictly isn't needed as mentioned at #3283 (comment) (we only kept it to handle the quarterly autoupdates, since dependabot doesn't support pre-commit yet).

@weiji14 weiji14 merged commit c7d5702 into main Sep 10, 2025
11 of 12 checks passed
@weiji14 weiji14 deleted the prek branch September 10, 2025 02:18
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