Currently, the Makefile is not well structured, and does not follow best practices. With the help of checkmake, the Makefile can be forced to follow them.
Decisions
Added CI job lint-makefile, which forces the Makefile to conform to standards.
The make help was set as the default target. This is common practice in the industry.
The make help uses grep | awk to create a command table from ## comments after each target. It seems a bit icky, but it is something that Docker, Kubernetes, and Helm all do.
Currently, the `Makefile` is not well structured, and does not follow best practices. With the help of [`checkmake`](https://github.com/checkmake/checkmake), the Makefile can be forced to follow them.
### Decisions
- Added CI job `lint-makefile`, which forces the Makefile to conform to standards.
- The `make help` was set as the default target. This is common practice in the industry.
- The `make help` uses `grep` | `awk` to create a command table from `##` comments after each target. It seems a bit icky, but it is something that Docker, Kubernetes, and Helm all do.
Instead of duplicating test logic in both the CI and the Makefile, I made the CI call the Makefile. Also, updated `make docs` so it dynamically pulls the module name from `go list -m`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Currently, the
Makefileis not well structured, and does not follow best practices. With the help ofcheckmake, the Makefile can be forced to follow them.Decisions
lint-makefile, which forces the Makefile to conform to standards.make helpwas set as the default target. This is common practice in the industry.make helpusesgrep|awkto create a command table from##comments after each target. It seems a bit icky, but it is something that Docker, Kubernetes, and Helm all do.lintjob f4b12598f1lintto.PHONYe53ff4f50b