-
-
Notifications
You must be signed in to change notification settings - Fork 680
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
Support nogo with Bzlmod #3529
Comments
This is actually more than a docs issue: There is no design for how to represent nogo with Bzlmod yet. It's complex enough that I would like to give this some thought, but I also lack experience with it. If anyone has ideas, please let me know and we can work on a design together. |
One idea would be to add the following module tag: go_lint.nogo(
target = "//:my_nogo_target",
apply_to = ["my_module"],
) Here |
@fmeum asked what do I think about this, so here is my brain dump on the current state of I think
With that said, I want to explore redesigning This directly helps solve (1) and (2) quite nicely as the validation will be executed in a separate action, and there will be a dedicated OutputGroup for us to pew out fixes and recommendations for downstream consumption (i.e. running a fixer command that would consume The design needs to be broken down into a few parts: a. Preparing the runner binary: do we compile the b. Validation action starlark rules: how do we add validation action into go_library and go_test and go_binary? c. Linter config: where / how do we add a config? Perhaps we could start with a global config and then start supporting package-level overrides such as apple_rules_lint? We should exclude external modules by default by only enabling d. Consider running some Analyzers in parallel and tell Bazel about the accurate CPU consumption of such action. I think redesigning/rewriting would give us more freedom to make the new lint solution work better with bzlmod. |
For me the lack of nogo is among the last blockers of moving to bzlmod. In many cases perfect is the enemy of good and we have the above data point of a team stopping to use the linter in order to move to bzlmod. What could an incremental change look like? |
I don't think anyone is attempting this currently. Most folks have other priorities with their $day_job. Would be nice if some community member pick this up and create a poc |
It would be nice for there to be docs on how to use
nogo
with thego_sdk
bzlmod extension. I'm still a newbie with the new Bazel module system and it's not obvious to me how to translatego_register_toolchains(nogo = ...)
into it.I'd also be happy to hear there's another preferred way of applying
vet
and suchThe text was updated successfully, but these errors were encountered: