-
Notifications
You must be signed in to change notification settings - Fork 239
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: overall enhancements and cosmetics improvements #134
Conversation
Signed-off-by: Khosrow Moossavi <khos2ow@gmail.com>
Signed-off-by: Khosrow Moossavi <khos2ow@gmail.com>
Pull Request Test Coverage Report for Build 703224017
💛 - Coveralls |
I want to note that a "Squash and Merge" will retain the commit messages as markdown bulleted lists in the commit message of the merge. See ae3382b7 as an example. I find this effective at logging the commits within a squashed commit. The other option is a "Rebase and Merge" which does what it says in the name. That would accomplish truly separating the commits on the main line branch. Typically, I reserve "Rebase and Merge" for items that are deemed to require an atomic separation of the commits to 1) help with maintaining why work was done and 2) allow for a more discrete change set with complex features. I do not support using "Rebase and Merge" when then are 10+ commits within a PR. Just too much noise at that point. I am open to either in this situation. Let me know your thoughts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have been working with make
for a looooong time now and today you taught me some cool and useful stuff! Thank you for this @khos2ow!
You should consider dropping some of this knowledge on https://makefiletutorial.com/. I feel like the help
command example could be useful on that tutorial site.
@@ -1,37 +1,93 @@ | |||
VERSION?=$$(git describe --tags --always) | |||
# Build variables | |||
VERSION ?= $(shell git describe --tags --always) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TIL: shell
replaces newlines with spaces. Hmm
######## | ||
##@ Help | ||
|
||
.PHONY: help |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Man, this is cool! 🍻
.PHONY: help | ||
help: ## Display this help | ||
@awk \ | ||
-v "col=\033[36m" -v "nocol=\033[0m" \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎨
That's great, let's go with this. I'm just gonna go on record and say I hate "Rebase and Merge", it's even worse than squash and merge! lol
I cannot take the whole credit here, I merely have modified this a bit along the way in the past working on top of other folks modification (I can take some credit for |
What does this do / why do we need it?
This PR enhances Makefile by:
help
target, and colorizing the outputs of commandsCGO_ENABLED=0
tobuild
)Also it cosmetically improves CI jobs by:
ci
[ci skip]
switch (if commit message include it, CI will be skipped)Note: for readability I've splited them into two commits, and I personally prefer to not squash merge them. But not entirely sure what will happen to our changelog if there will be a merge commit. Anyways, either way will work (or if need be I can move one to its own PR)
Check lists