Skip to content
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

Add Bzlmod support for nogo #3782

Merged
merged 5 commits into from
Dec 14, 2023
Merged

Add Bzlmod support for nogo #3782

merged 5 commits into from
Dec 14, 2023

Conversation

fmeum
Copy link
Member

@fmeum fmeum commented Dec 11, 2023

What type of PR is this?

Feature

What does this PR do? Why is it needed?

See bzlmod.md for the details. This change is backwards compatible for WORKSPACE setups, but allows finer control over the set of targets nogo is applied to when using Bzlmod.

Which issues(s) does this PR fix?

Fixes #3529

Other notes for review

@fmeum fmeum requested a review from tyler-french December 11, 2023 20:07
@fmeum
Copy link
Member Author

fmeum commented Dec 11, 2023

@sluongng I would be interested in your opinion on this.

@fmeum fmeum force-pushed the nogo-bzlmod branch 4 times, most recently from 27a2717 to 42a0fdd Compare December 11, 2023 20:38
Copy link
Contributor

@sluongng sluongng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR does a few things:

  1. Introduce calling of go_register_nogo inside a new tag of go_sdk. This help user start registering their nogo binary 👍

  2. A _get_nogo mechanism to exclude and include which Bazel packages can be subjected to nogo analysis. This could be easier reviewed if it’s introduced in a separate PR, but now that you have included it here, no need to spend more time on splitting it.

Overall I think (2) provides a better, more sensible default than what we have today. Though it’s a bit overlap with the nogo_config.json mechanism we current have in rules nogo(). I think we should add a deprecation notice to the include/exclude in nogo_config.json so we could phase it out in favor of this one.

Finally the bcr test demonstrated how nogo could be setup in a repo and how some certain packages could be excluded. I think we are missing a “test for nogo failure” case here, but I am not quite sure if the current test setup would allow that. Is it possible to setup a test like that under //tests/core/nogo?

Overall this LGTM. Thanks a lot for working on it 🙏

@fmeum
Copy link
Member Author

fmeum commented Dec 11, 2023

I think we are missing a “test for nogo failure” case here, but I am not quite sure if the current test setup would allow that. Is it possible to setup a test like that under //tests/core/nogo?

It doesn't right now, but I will add a regular go_bazel_test covering the inclusion/exclusion logic as well as some Starlark tests.

@fmeum fmeum force-pushed the nogo-bzlmod branch 3 times, most recently from 2d39674 to 86baec4 Compare December 12, 2023 11:09
@fmeum
Copy link
Member Author

fmeum commented Dec 12, 2023

Making go_bazel_test usable for Bzlmod tests will take some effort, depending on the level of test runtime efficiency we aim for. I will see whether I can produce something that works quickly.

I added Starlark tests and more docs.

Copy link
Contributor

@tyler-french tyler-french left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested at Uber. LGTM!

@fmeum fmeum force-pushed the nogo-bzlmod branch 2 times, most recently from 87d36c7 to e5b9b8a Compare December 13, 2023 10:20
Copy link
Contributor

@sluongng sluongng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few style nits/questions, but LGTM overall

MODULE.bazel Show resolved Hide resolved
go/private/context.bzl Outdated Show resolved Hide resolved
go/private/extensions.bzl Show resolved Hide resolved
go/tools/bazel_testing/bazel_testing.go Show resolved Hide resolved
Copy link
Contributor

@tyler-french tyler-french left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! All of my comments are just Go style nits.
I tested the latest and it works great!

go/tools/bazel_testing/bazel_testing.go Show resolved Hide resolved
go/tools/bazel_testing/bazel_testing.go Show resolved Hide resolved
go/tools/bazel_testing/bazel_testing.go Show resolved Hide resolved
go/tools/bazel_testing/bazel_testing.go Show resolved Hide resolved
See `bzlmod.md` for the details. This change is backwards compatible for
WORKSPACE setups, but allows finer control over the set of targets nogo
is applied to when using Bzlmod.
Requires some changes to the `go_bazel_test` setup.
@fmeum fmeum merged commit d5bc6ad into master Dec 14, 2023
5 checks passed
@fmeum fmeum deleted the nogo-bzlmod branch December 14, 2023 17:27
cgrindel-self-hosted-renovate bot referenced this pull request in cgrindel/bazel-starlib Dec 19, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) |
http_archive | minor | `v0.43.0` -> `v0.44.0` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go (io_bazel_rules_go)</summary>

###
[`v0.44.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.44.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.43.0...v0.44.0)

### IMPORTANT CHANGES

#### Tests now call `panic()` when they timeout

This means there is a running goroutine (which will fail
[goleak](https://togithub.com/uber-go/goleak) detection)

[Goroutine 26 in state chan receive, with
github.com/bazelbuild/rules_go/go/tools/bzltestutil.RegisterTimeoutHandler.func1
on top of the

This also means there may be some different behavior when calling
`SIGTERM` directly from within a test.

For more information see:
[https://github.com/bazelbuild/rules_go/pull/3749](https://togithub.com/bazelbuild/rules_go/pull/3749)

#### Bzlmod support for `nogo`

This can be added in your `MODULE.bazel` file:

go_sdk = use_extension("@&#8203;io_bazel_rules_go//go:extensions.bzl",
"go_sdk")
    go_sdk.download(
        name = "go_sdk",
        ...
    )
    go_sdk.nogo(
        nogo = "//:default_nogo",
    )

For more information see
[https://github.com/bazelbuild/rules_go/pull/3782](https://togithub.com/bazelbuild/rules_go/pull/3782)

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"c8035e8ae248b56040a65ad3f0b7434712e2037e5dfdcebfe97576e620422709",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.21.5")

#### What's Changed

- Do not test on centos7 by [@&#8203;fmeum](https://togithub.com/fmeum)
in
[https://github.com/bazelbuild/rules_go/pull/3757](https://togithub.com/bazelbuild/rules_go/pull/3757)
- update documentation for 0.43.0 release by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[https://github.com/bazelbuild/rules_go/pull/3758](https://togithub.com/bazelbuild/rules_go/pull/3758)
- Add toolchain param to affected actions by
[@&#8203;kotlaja](https://togithub.com/kotlaja) in
[https://github.com/bazelbuild/rules_go/pull/3760](https://togithub.com/bazelbuild/rules_go/pull/3760)
- Update GO_TOOLCHAIN string to Label and add toolchain param to one
more action by [@&#8203;kotlaja](https://togithub.com/kotlaja) in
[https://github.com/bazelbuild/rules_go/pull/3762](https://togithub.com/bazelbuild/rules_go/pull/3762)
- Do not choose prereleases as highest versions by
[@&#8203;mering](https://togithub.com/mering) in
[https://github.com/bazelbuild/rules_go/pull/3764](https://togithub.com/bazelbuild/rules_go/pull/3764)
- Remove unmaintained validators by
[@&#8203;mering](https://togithub.com/mering) in
[https://github.com/bazelbuild/rules_go/pull/3768](https://togithub.com/bazelbuild/rules_go/pull/3768)
- Use `tools.go` trick to make `go.mod` work with `go mod tidy` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3775](https://togithub.com/bazelbuild/rules_go/pull/3775)
- feat(packagesdriver): add \_test suffix to pkgPath by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3777](https://togithub.com/bazelbuild/rules_go/pull/3777)
- Typo --test_runner_fail_fast by
[@&#8203;Clement-Jean](https://togithub.com/Clement-Jean) in
[https://github.com/bazelbuild/rules_go/pull/3773](https://togithub.com/bazelbuild/rules_go/pull/3773)
- Panic when a test times out by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3749](https://togithub.com/bazelbuild/rules_go/pull/3749)
- Fix integration tests with Bazel@HEAD by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3781](https://togithub.com/bazelbuild/rules_go/pull/3781)
- Automatically register SDKs for common execution platforms by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3634](https://togithub.com/bazelbuild/rules_go/pull/3634)
- fix `aux_files` relative paths for gomock source mocks (fix
[#&#8203;3752](https://togithub.com/bazelbuild/rules_go/issues/3752)) by
[@&#8203;ikavalio](https://togithub.com/ikavalio) in
[https://github.com/bazelbuild/rules_go/pull/3753](https://togithub.com/bazelbuild/rules_go/pull/3753)
- Update to modern protoc plugins by
[@&#8203;mering](https://togithub.com/mering) in
[https://github.com/bazelbuild/rules_go/pull/3761](https://togithub.com/bazelbuild/rules_go/pull/3761)
- Add integration tests for protoc-gen-go-grpc by
[@&#8203;ryanpbrewster](https://togithub.com/ryanpbrewster) in
[https://github.com/bazelbuild/rules_go/pull/3787](https://togithub.com/bazelbuild/rules_go/pull/3787)
- Add Bzlmod support for `nogo` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3782](https://togithub.com/bazelbuild/rules_go/pull/3782)
- fix(gpd): don't panic on invalid root by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3779](https://togithub.com/bazelbuild/rules_go/pull/3779)
- Pass env to gentestmain so it will correctly filter by
[@&#8203;patrickmscott](https://togithub.com/patrickmscott) in
[https://github.com/bazelbuild/rules_go/pull/3785](https://togithub.com/bazelbuild/rules_go/pull/3785)
- prepare release 0.44.0 by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[https://github.com/bazelbuild/rules_go/pull/3788](https://togithub.com/bazelbuild/rules_go/pull/3788)

#### New Contributors

- [@&#8203;Clement-Jean](https://togithub.com/Clement-Jean) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3773](https://togithub.com/bazelbuild/rules_go/pull/3773)
- [@&#8203;ikavalio](https://togithub.com/ikavalio) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3753](https://togithub.com/bazelbuild/rules_go/pull/3753)
- [@&#8203;ryanpbrewster](https://togithub.com/ryanpbrewster) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3787](https://togithub.com/bazelbuild/rules_go/pull/3787)

**Full Changelog**:
bazel-contrib/rules_go@v0.43.0...v0.44.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDAuMCIsInVwZGF0ZWRJblZlciI6IjM2LjEwMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: Self-hosted Renovate Bot <361546+cgrindel-self-hosted-renovate[bot]@users.noreply.github.enterprise.com>
renovate bot referenced this pull request in kreempuff/rules_unreal_engine Dec 19, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) |
http_archive | minor | `v0.43.0` -> `v0.44.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>bazelbuild/rules_go (io_bazel_rules_go)</summary>

###
[`v0.44.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.44.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.43.0...v0.44.0)

### IMPORTANT CHANGES

#### Tests now call `panic()` when they timeout

This means there is a running goroutine (which will fail
[goleak](https://togithub.com/uber-go/goleak) detection)

[Goroutine 26 in state chan receive, with
github.com/bazelbuild/rules_go/go/tools/bzltestutil.RegisterTimeoutHandler.func1
on top of the

This also means there may be some different behavior when calling
`SIGTERM` directly from within a test.

For more information see:
[https://github.com/bazelbuild/rules_go/pull/3749](https://togithub.com/bazelbuild/rules_go/pull/3749)

#### Bzlmod support for `nogo`

This can be added in your `MODULE.bazel` file:

go_sdk = use_extension("@&#8203;io_bazel_rules_go//go:extensions.bzl",
"go_sdk")
    go_sdk.download(
        name = "go_sdk",
        ...
    )
    go_sdk.nogo(
        nogo = "//:default_nogo",
    )

For more information see
[https://github.com/bazelbuild/rules_go/pull/3782](https://togithub.com/bazelbuild/rules_go/pull/3782)

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"c8035e8ae248b56040a65ad3f0b7434712e2037e5dfdcebfe97576e620422709",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.21.5")

#### What's Changed

- Do not test on centos7 by [@&#8203;fmeum](https://togithub.com/fmeum)
in
[https://github.com/bazelbuild/rules_go/pull/3757](https://togithub.com/bazelbuild/rules_go/pull/3757)
- update documentation for 0.43.0 release by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[https://github.com/bazelbuild/rules_go/pull/3758](https://togithub.com/bazelbuild/rules_go/pull/3758)
- Add toolchain param to affected actions by
[@&#8203;kotlaja](https://togithub.com/kotlaja) in
[https://github.com/bazelbuild/rules_go/pull/3760](https://togithub.com/bazelbuild/rules_go/pull/3760)
- Update GO_TOOLCHAIN string to Label and add toolchain param to one
more action by [@&#8203;kotlaja](https://togithub.com/kotlaja) in
[https://github.com/bazelbuild/rules_go/pull/3762](https://togithub.com/bazelbuild/rules_go/pull/3762)
- Do not choose prereleases as highest versions by
[@&#8203;mering](https://togithub.com/mering) in
[https://github.com/bazelbuild/rules_go/pull/3764](https://togithub.com/bazelbuild/rules_go/pull/3764)
- Remove unmaintained validators by
[@&#8203;mering](https://togithub.com/mering) in
[https://github.com/bazelbuild/rules_go/pull/3768](https://togithub.com/bazelbuild/rules_go/pull/3768)
- Use `tools.go` trick to make `go.mod` work with `go mod tidy` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3775](https://togithub.com/bazelbuild/rules_go/pull/3775)
- feat(packagesdriver): add \_test suffix to pkgPath by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3777](https://togithub.com/bazelbuild/rules_go/pull/3777)
- Typo --test_runner_fail_fast by
[@&#8203;Clement-Jean](https://togithub.com/Clement-Jean) in
[https://github.com/bazelbuild/rules_go/pull/3773](https://togithub.com/bazelbuild/rules_go/pull/3773)
- Panic when a test times out by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3749](https://togithub.com/bazelbuild/rules_go/pull/3749)
- Fix integration tests with Bazel@HEAD by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3781](https://togithub.com/bazelbuild/rules_go/pull/3781)
- Automatically register SDKs for common execution platforms by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3634](https://togithub.com/bazelbuild/rules_go/pull/3634)
- fix `aux_files` relative paths for gomock source mocks (fix
[#&#8203;3752](https://togithub.com/bazelbuild/rules_go/issues/3752)) by
[@&#8203;ikavalio](https://togithub.com/ikavalio) in
[https://github.com/bazelbuild/rules_go/pull/3753](https://togithub.com/bazelbuild/rules_go/pull/3753)
- Update to modern protoc plugins by
[@&#8203;mering](https://togithub.com/mering) in
[https://github.com/bazelbuild/rules_go/pull/3761](https://togithub.com/bazelbuild/rules_go/pull/3761)
- Add integration tests for protoc-gen-go-grpc by
[@&#8203;ryanpbrewster](https://togithub.com/ryanpbrewster) in
[https://github.com/bazelbuild/rules_go/pull/3787](https://togithub.com/bazelbuild/rules_go/pull/3787)
- Add Bzlmod support for `nogo` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3782](https://togithub.com/bazelbuild/rules_go/pull/3782)
- fix(gpd): don't panic on invalid root by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3779](https://togithub.com/bazelbuild/rules_go/pull/3779)
- Pass env to gentestmain so it will correctly filter by
[@&#8203;patrickmscott](https://togithub.com/patrickmscott) in
[https://github.com/bazelbuild/rules_go/pull/3785](https://togithub.com/bazelbuild/rules_go/pull/3785)
- prepare release 0.44.0 by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[https://github.com/bazelbuild/rules_go/pull/3788](https://togithub.com/bazelbuild/rules_go/pull/3788)

#### New Contributors

- [@&#8203;Clement-Jean](https://togithub.com/Clement-Jean) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3773](https://togithub.com/bazelbuild/rules_go/pull/3773)
- [@&#8203;ikavalio](https://togithub.com/ikavalio) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3753](https://togithub.com/bazelbuild/rules_go/pull/3753)
- [@&#8203;ryanpbrewster](https://togithub.com/ryanpbrewster) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3787](https://togithub.com/bazelbuild/rules_go/pull/3787)

**Full Changelog**:
bazel-contrib/rules_go@v0.43.0...v0.44.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/kreempuff/rules_unreal_engine).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEwMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
cgrindel-self-hosted-renovate bot referenced this pull request in cgrindel/rules_swift_package_manager Dec 20, 2023
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [io_bazel_rules_go](https://togithub.com/bazelbuild/rules_go) |
http_archive | minor | `v0.43.0` -> `v0.44.0` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go (io_bazel_rules_go)</summary>

###
[`v0.44.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.44.0)

[Compare
Source](https://togithub.com/bazelbuild/rules_go/compare/v0.43.0...v0.44.0)

### IMPORTANT CHANGES

#### Tests now call `panic()` when they timeout

This means there is a running goroutine (which will fail
[goleak](https://togithub.com/uber-go/goleak) detection)

[Goroutine 26 in state chan receive, with
github.com/bazelbuild/rules_go/go/tools/bzltestutil.RegisterTimeoutHandler.func1
on top of the

This also means there may be some different behavior when calling
`SIGTERM` directly from within a test.

For more information see:
[https://github.com/bazelbuild/rules_go/pull/3749](https://togithub.com/bazelbuild/rules_go/pull/3749)

#### Bzlmod support for `nogo`

This can be added in your `MODULE.bazel` file:

go_sdk = use_extension("@&#8203;io_bazel_rules_go//go:extensions.bzl",
"go_sdk")
    go_sdk.download(
        name = "go_sdk",
        ...
    )
    go_sdk.nogo(
        nogo = "//:default_nogo",
    )

For more information see
[https://github.com/bazelbuild/rules_go/pull/3782](https://togithub.com/bazelbuild/rules_go/pull/3782)

#### `WORKSPACE` code

load("@&#8203;bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive")

    http_archive(
        name = "io_bazel_rules_go",
sha256 =
"c8035e8ae248b56040a65ad3f0b7434712e2037e5dfdcebfe97576e620422709",
        urls = [

"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",

"https://github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip",
        ],
    )

load("@&#8203;io_bazel_rules_go//go:deps.bzl", "go_register_toolchains",
"go_rules_dependencies")

    go_rules_dependencies()

    go_register_toolchains(version = "1.21.5")

#### What's Changed

- Do not test on centos7 by [@&#8203;fmeum](https://togithub.com/fmeum)
in
[https://github.com/bazelbuild/rules_go/pull/3757](https://togithub.com/bazelbuild/rules_go/pull/3757)
- update documentation for 0.43.0 release by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[https://github.com/bazelbuild/rules_go/pull/3758](https://togithub.com/bazelbuild/rules_go/pull/3758)
- Add toolchain param to affected actions by
[@&#8203;kotlaja](https://togithub.com/kotlaja) in
[https://github.com/bazelbuild/rules_go/pull/3760](https://togithub.com/bazelbuild/rules_go/pull/3760)
- Update GO_TOOLCHAIN string to Label and add toolchain param to one
more action by [@&#8203;kotlaja](https://togithub.com/kotlaja) in
[https://github.com/bazelbuild/rules_go/pull/3762](https://togithub.com/bazelbuild/rules_go/pull/3762)
- Do not choose prereleases as highest versions by
[@&#8203;mering](https://togithub.com/mering) in
[https://github.com/bazelbuild/rules_go/pull/3764](https://togithub.com/bazelbuild/rules_go/pull/3764)
- Remove unmaintained validators by
[@&#8203;mering](https://togithub.com/mering) in
[https://github.com/bazelbuild/rules_go/pull/3768](https://togithub.com/bazelbuild/rules_go/pull/3768)
- Use `tools.go` trick to make `go.mod` work with `go mod tidy` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3775](https://togithub.com/bazelbuild/rules_go/pull/3775)
- feat(packagesdriver): add \_test suffix to pkgPath by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3777](https://togithub.com/bazelbuild/rules_go/pull/3777)
- Typo --test_runner_fail_fast by
[@&#8203;Clement-Jean](https://togithub.com/Clement-Jean) in
[https://github.com/bazelbuild/rules_go/pull/3773](https://togithub.com/bazelbuild/rules_go/pull/3773)
- Panic when a test times out by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3749](https://togithub.com/bazelbuild/rules_go/pull/3749)
- Fix integration tests with Bazel@HEAD by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3781](https://togithub.com/bazelbuild/rules_go/pull/3781)
- Automatically register SDKs for common execution platforms by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3634](https://togithub.com/bazelbuild/rules_go/pull/3634)
- fix `aux_files` relative paths for gomock source mocks (fix
[#&#8203;3752](https://togithub.com/bazelbuild/rules_go/issues/3752)) by
[@&#8203;ikavalio](https://togithub.com/ikavalio) in
[https://github.com/bazelbuild/rules_go/pull/3753](https://togithub.com/bazelbuild/rules_go/pull/3753)
- Update to modern protoc plugins by
[@&#8203;mering](https://togithub.com/mering) in
[https://github.com/bazelbuild/rules_go/pull/3761](https://togithub.com/bazelbuild/rules_go/pull/3761)
- Add integration tests for protoc-gen-go-grpc by
[@&#8203;ryanpbrewster](https://togithub.com/ryanpbrewster) in
[https://github.com/bazelbuild/rules_go/pull/3787](https://togithub.com/bazelbuild/rules_go/pull/3787)
- Add Bzlmod support for `nogo` by
[@&#8203;fmeum](https://togithub.com/fmeum) in
[https://github.com/bazelbuild/rules_go/pull/3782](https://togithub.com/bazelbuild/rules_go/pull/3782)
- fix(gpd): don't panic on invalid root by
[@&#8203;JamyDev](https://togithub.com/JamyDev) in
[https://github.com/bazelbuild/rules_go/pull/3779](https://togithub.com/bazelbuild/rules_go/pull/3779)
- Pass env to gentestmain so it will correctly filter by
[@&#8203;patrickmscott](https://togithub.com/patrickmscott) in
[https://github.com/bazelbuild/rules_go/pull/3785](https://togithub.com/bazelbuild/rules_go/pull/3785)
- prepare release 0.44.0 by
[@&#8203;tyler-french](https://togithub.com/tyler-french) in
[https://github.com/bazelbuild/rules_go/pull/3788](https://togithub.com/bazelbuild/rules_go/pull/3788)

#### New Contributors

- [@&#8203;Clement-Jean](https://togithub.com/Clement-Jean) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3773](https://togithub.com/bazelbuild/rules_go/pull/3773)
- [@&#8203;ikavalio](https://togithub.com/ikavalio) made their first
contribution in
[https://github.com/bazelbuild/rules_go/pull/3753](https://togithub.com/bazelbuild/rules_go/pull/3753)
- [@&#8203;ryanpbrewster](https://togithub.com/ryanpbrewster) made their
first contribution in
[https://github.com/bazelbuild/rules_go/pull/3787](https://togithub.com/bazelbuild/rules_go/pull/3787)

**Full Changelog**:
bazel-contrib/rules_go@v0.43.0...v0.44.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMDAuMCIsInVwZGF0ZWRJblZlciI6IjM2LjEwMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: Self-hosted Renovate Bot <361546+cgrindel-self-hosted-renovate[bot]@users.noreply.github.enterprise.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support nogo with Bzlmod
4 participants