You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@sedona.apache.org by "jbampton (via GitHub)" <gi...@apache.org> on 2026/03/13 17:12:04 UTC

[PR] [CI] Add pre-commit hook checkmake to lint Makefiles [sedona]

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: issues-unsubscribe@sedona.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [CI] Add pre-commit hook checkmake to lint Makefiles [sedona]

Posted by "jiayuasu (via GitHub)" <gi...@apache.org>.
jiayuasu merged PR #2751:
URL: https://github.com/apache/sedona/pull/2751


-- 
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: issues-unsubscribe@sedona.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org