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

Automatically register SDKs for common execution platforms #3634

Merged
merged 1 commit into from
Dec 12, 2023
Merged

Conversation

fmeum
Copy link
Member

@fmeum fmeum commented Jul 24, 2023

What type of PR is this?

Feature

What does this PR do? Why is it needed?

The go_sdk module extension now registers unnamed SDKs for all major execution platforms in addition to the host platform. This ensures that Go builds should "just work" if the exec platform is on this list, even if it differs from the host platform.

Which issues(s) does this PR fix?

Fixes #3007
Fixes #3402

Other notes for review

@fmeum
Copy link
Member Author

fmeum commented Jul 24, 2023

@sluongng I would be very interested in your feedback on this, in particular the selection of common execution platforms.

@sluongng
Copy link
Contributor

Since our repo is not net on bzlmod, we need to make similar modifications to sdk.bzl for it to work.

There was an error on our end on the initial attempt:

Error in fail: gazelle found more than one suitable Go SDK (go_sdk, go_sdk_darwin_amd64). Specify which one to use with gazelle_dependencies(go_sdk = "go_sdk").

Work around is to add the if clause to skip on duplicated declaration (or to change gazelle's declaration).

diff --git a/go/private/sdk.bzl b/go/private/sdk.bzl
index 08c6e74c..7cea13bc 100644
--- a/go/private/sdk.bzl
+++ b/go/private/sdk.bzl
@@ -303,6 +303,18 @@ def _go_toolchains(name, sdk_repo, sdk_type, sdk_version = None, goos = None, go
         sdk_versions = [sdk_version or ""],
     )

+# A list of (goos, goarch) pairs that are commonly used for remote executors in cross-platform
+# builds (where host != exec platform). By default, we register toolchains for all of these
+# platforms in addition to the host platform.
+_COMMON_EXEC_PLATFORMS = [
+    ("darwin", "amd64"),
+    ("darwin", "arm64"),
+    ("linux", "amd64"),
+    ("linux", "arm64"),
+    ("windows", "amd64"),
+    ("windows", "arm64"),
+]
+
 def go_download_sdk(name, register_toolchains = True, **kwargs):
     go_download_sdk_rule(name = name, **kwargs)
     _go_toolchains(
@@ -316,6 +328,28 @@ def go_download_sdk(name, register_toolchains = True, **kwargs):
     if register_toolchains:
         _register_toolchains(name)

+    for goos, goarch in _COMMON_EXEC_PLATFORMS:
+        if goos == kwargs.get("goos") and goarch == kwargs.get("goarch"):
+            continue
+
+        n = "{}_{}_{}".format(name, goos, goarch)
+        go_download_sdk_rule(
+            name = n,
+            goos = goos,
+            goarch = goarch,
+            **kwargs
+        )
+        _go_toolchains(
+            name = n + "_toolchains",
+            sdk_repo = n,
+            sdk_type = "remote",
+            sdk_version = kwargs.get("version"),
+            goos = goos,
+            goarch = goarch,
+        )
+        if register_toolchains:
+            _register_toolchains(n)
+
 def _go_local_sdk_impl(ctx):
     goroot = ctx.attr.path
     platform = _detect_sdk_platform(ctx, goroot)

Could you please include the sdk.bzl change in this PR as well? (please feel free to modify my monkey patch above)

@darkrift
Copy link

darkrift commented Oct 3, 2023

@fmeum I was just hit by this problem this week, any way we can get this move forward ?

@fmeum
Copy link
Member Author

fmeum commented Dec 10, 2023

Given the limited time all of us get to spend on maintaining this ruleset, I would like to restrict this to Bzlmod. It's less likely to break anything there with better way for us to contain any problems that may arise (WORKSPACE macros offer limited options here).

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.

Agree with the reasoning above.

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 this, looks good!

The `go_sdk` module extension now registers unnamed SDKs for all major
execution platforms in addition to the host platform. This ensures that
Go builds should "just work" if the exec platform is on this list, even
if it differs from the host platform.
@fmeum fmeum enabled auto-merge (squash) December 12, 2023 07:08
@fmeum fmeum merged commit d4667fe into master Dec 12, 2023
5 checks passed
@fmeum fmeum deleted the exec-sdks branch December 12, 2023 07:57
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
4 participants