jbampton opened a new pull request, #2751:
URL: https://github.com/apache/sedona/pull/2751

   Added 3 hooks:
   
   - checkmake (root): with custom checkmake.ini
   - checkmake (python/sedona/doc): with custom checkmake.ini
   - insert-license: to auto insert license headers for ini files
   
   Slightly relaxed config for phony target body "lengths"
   
   Cleaned up the root Makefile removing the missing "test" target and adding 
"run-docs" target to the phony list
   
   https://github.com/checkmake/checkmake
   
   https://github.com/checkmake/checkmake?tab=readme-ov-file#pre-commit-usage
   
   https://en.wikipedia.org/wiki/INI_file#Comments
   
   ## Did you read the Contributor Guide?
   
   - Yes, I have read the [Contributor 
Rules](https://sedona.apache.org/latest/community/rule/) and [Contributor 
Development Guide](https://sedona.apache.org/latest/community/develop/)
   
   ## Is this PR related to a ticket?
   
   - No:
     - this is a CI update. The PR name follows the format `[CI] my subject`
   
   ## What changes were proposed in this PR?
   
   Added 3 more hooks to our pre-commit framework.
   
   ---
   
   Using checkmake—a static analysis linter for Makefiles—provides several 
benefits centered on maintaining build script quality and reliability. 
   The primary advantages of using this tool include:
   
   * Early Issue Detection: It identifies potential problems like missing 
required targets (e.g., all or test) or missing .PHONY declarations before you 
ever run the build.
   * Enforcement of Best Practices: The linter checks against a set of 
configurable rules to ensure your Makefile follows community-accepted standards 
for correctness and maintainability.
   * Customisable Rules: Users can define their own validation logic via a 
configuration file (checkmake.ini), allowing teams to enforce specific internal 
coding styles.
   * Flexible Output Formats: It supports both human-readable text and 
machine-readable JSON output, which is useful for integrating into various 
developer tools and automated pipelines.
   * Lightweight and Portable: Being written in Go, it can be run as a single 
binary, via Docker containers, or as a pre-commit hook without requiring a 
heavy runtime environment. 
   
   ---
   
   ## How was this patch tested?
   
   With pre-commit
   
   ## Did this PR include necessary documentation updates?
   
   - No, this PR does not affect any public API so no need to change the 
documentation.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to