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

Update GO_TOOLCHAIN string to Label and add toolchain param to one more action #3762

Merged
merged 4 commits into from
Nov 23, 2023

Conversation

kotlaja
Copy link
Contributor

@kotlaja kotlaja commented Nov 22, 2023

What type of PR is this?
Other - Migration

What does this PR do? Why is it needed?
Because of the relative paths, we'll need GO_TOOLCHAIN as a Label, not a String. I saw this error by building @go_default_sdk//... from tests/bcr workspace.

Since it's not easy to see which actions are affected by these changes (sometimes it depends on projects which are using them), I'm updating these actions until I see green Bazel downstream projects. Before that I build the whole repo manually with the incompatible flag, but in some projects that is not enough (combinations of flags can affect this, executable/tools as variables from other projects, etc).

Which issues(s) does this PR fix?
Please check official documentation for Automatic Exec Groups for additional info.

@kotlaja
Copy link
Contributor Author

kotlaja commented Nov 22, 2023

@fmeum Can you please check this one too? :)

@fmeum
Copy link
Collaborator

fmeum commented Nov 22, 2023

@kotlaja Looks good to me, but there is a failure with Bazel 5.4.0. Could you take a look?

@kotlaja
Copy link
Contributor Author

kotlaja commented Nov 22, 2023

Ahh, Bazel 5.4.0 supports toolchain registration on a rule only as a String, not as a Label (see String parsing here).

I've used str func for this. PTAL. :)

go/private/common.bzl Outdated Show resolved Hide resolved
@fmeum
Copy link
Collaborator

fmeum commented Nov 23, 2023

CI is still failing with a very obscure failure.

@kotlaja
Copy link
Contributor Author

kotlaja commented Nov 23, 2023

Seems that Bazel 5.4. has issues with str(Label(toolchain_string)) when registering toolchains on rules. The error is related to modified string of a toolchain which must be mapped 1-1 (changing it to label and then to a string changes that) or otherwise toolchain resolution doesn't find it as a registered one. I've separated it now into a Label and a String and updated toolchain parameters.

@fmeum fmeum merged commit 97f5206 into bazelbuild:master Nov 23, 2023
2 checks passed
@kotlaja
Copy link
Contributor Author

kotlaja commented Nov 24, 2023

Thanks @fmeum for the quick responses and all the help! :)
By checking rules_go with multiple rules today, it seems that these changes are sufficient for the AEGs migration.

I know we had a release 4 days ago, but I'm interested when can we expect the next one?
I'll CC also @tyler-french here - Hi Tyler! :)

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

#### New Contributors

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

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

#### New Contributors

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

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

#### New Contributors

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

**Full Changelog**:
bazelbuild/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.

None yet

2 participants