Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #448 +/- ##
=========================================
Coverage 76.96% 76.96%
Complexity 29 29
=========================================
Files 11 11
Lines 178 178
=========================================
Hits 137 137
Misses 41 41 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This pull request enhances the make help command to display targets organized by category groups, improving the usability of the Makefile's self-documentation. The changes parse section headers from the Makefile (Development, Tools, Tests and analysis, Production, Other) and group related targets under these headers in the help output.
Changes:
- Updated the
make helptarget with a new AWK script that parses section headers and groups targets - Simplified docker/.env by removing redundant comment line markers around section headers
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| Makefile | Enhanced help target with AWK script to display categorized groups of targets, replacing the simpler single-line AWK command with a multi-pattern script that parses section headers and formats output with colored, grouped display |
| docker/.env | Removed extra # comment lines surrounding section headers (Development, Production) for cleaner formatting |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) | ||
| endif | ||
| # Output the help for each task | ||
| help: ## This help. |
There was a problem hiding this comment.
There's an extra space after the colon in help: ##. While this doesn't affect functionality, it's inconsistent with other targets in the Makefile which use a single space (e.g., build: ##, up: ##, etc.). Consider changing help: ## to help: ## for consistency.
| help: ## This help. | |
| help: ## This help. |
| # Output the help for each task | ||
| help: ## This help. | ||
| @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m<target>\033[0m\n"} \ | ||
| /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-25s\033[0m %s\n", $$1, $$2 } \ |
There was a problem hiding this comment.
The regex pattern /^[a-zA-Z_-]+:.*?##/ uses the non-greedy quantifier ? which is not standard in AWK's ERE (Extended Regular Expressions). This will cause the pattern to be interpreted as a literal ? character, making it match targets that have a literal ? in their definition, which is not the intended behavior. The pattern should be /^[a-zA-Z_-]+:.*##/ without the ? quantifier.
| /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-25s\033[0m %s\n", $$1, $$2 } \ | |
| /^[a-zA-Z_-]+:.*##/ { printf " \033[36m%-25s\033[0m %s\n", $$1, $$2 } \ |
Its like this