-
Notifications
You must be signed in to change notification settings - Fork 3
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 Enhancements #38
CI Enhancements #38
Conversation
Signed-off-by: Andres Taylor <[email protected]>
Signed-off-by: Andres Taylor <[email protected]>
Signed-off-by: Andres Taylor <[email protected]>
Signed-off-by: Andres Taylor <[email protected]>
Signed-off-by: Andres Taylor <[email protected]>
Signed-off-by: Andres Taylor <[email protected]>
Signed-off-by: Andres Taylor <[email protected]>
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.
Nice! Always love more testing and more formalization.
pretty: install-tools | ||
@echo "Running formatting tools..." | ||
@gofumpt -l -w . >/dev/null 2>&1 || true |
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.
Is there a reason why not to use the same gofmt
(or rather goimports
) that vitessio/vitess
uses?
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.
Well... I think gofumpt
is superior to gofmt
, and goimports-reviser
is better than goimports
. I wish Vitess would change, and not the other way around.
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.
also @shlomi-noach, I think both of these are also supersets of what vitessio/vitess
uses, i.e. the code will pass the scrutiny of gofmt
and goimports
with no change
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 think it's reasonable to use both new tools
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.
we can always try to use these two new tools on vt
and get a better opinion after testing it for a while, helping decide if we want to use the same on vitess
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.
❤️
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.
LGTM!
Signed-off-by: Andres Taylor <[email protected]>
Signed-off-by: Andres Taylor <[email protected]>
Description
This PR introduces several key improvements to the CI workflow, focusing on better formatting checks, dependency management, and enhanced test result visibility.
Changes:
Code Formatting Enforcement (
make pretty
):make pretty
step to the CI workflow that runsgofumpt
andgoimports-reviser
to ensure Go code is consistently formatted.Go Module Tidy Check:
go mod tidy
check to ensurego.mod
andgo.sum
files are up to date and clean.go mod tidy
results in any changes, prompting developers to keep dependencies tidy before merging.Improved Test Reporting:
make test
step with a detailed test run usinggo test -v
, which outputs detailed logs for debugging.dorny/test-reporter
GitHub Action to annotate test failures directly in the GitHub UI using the JUnit format, making it easier to view and track failed tests without manually parsing logs.Linting:
make lint
and a linter configuration.Pre-commit Git Hook:
make install-hooks
.