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

asm: Pass package path with -p #3231

Merged
merged 1 commit into from
Jul 13, 2022
Merged

asm: Pass package path with -p #3231

merged 1 commit into from
Jul 13, 2022

Conversation

fmeum
Copy link
Collaborator

@fmeum fmeum commented Jul 7, 2022

This is required to produce linkable objects as of Go 1.19.

Fixes #3199

@fmeum
Copy link
Collaborator Author

fmeum commented Jul 7, 2022

@abhinav Could you test?

@sywhang
Copy link

sywhang commented Jul 8, 2022

@abhinav is on vacation till a couple weeks later, so I took over the testing here at Uber. Can confirm that the fix works (minus the duplicate build errors part - I just got around that issue by renaming the <1.19 version's function to something else just for testing's sake).

@sluongng
Copy link
Contributor

For some reason, I do get duplicate definition build errors though - I'm probably using //go:build wrong. Do you know how I can fix it?

I tried to reproduce this with normal go build command

~/test> cat main.go
package main

import "fmt"

func main() {
    fmt.Println(Version)
}

~/test> cat lib_go1.go
//go:build !go1.19
// +build !go1.19

package main

var Version = "1.18"

~/test> cat lib_go119.go
//go:build go1.19
// +build go1.19

package main

var Version = "1.19"

~/test> cat go.mod
module temp

go 1.18

~/test> go version
go version go1.18.3 darwin/arm64

And then run this

~/test> GOCACHE=$(mktemp -d) go build -x .

...
/opt/homebrew/Cellar/go/1.18.3/libexec/pkg/tool/darwin_arm64/compile -o $WORK/b001/_pkg_.a -trimpath "$WORK/b001=>" -p main -lang=go1.18 -complete -buildid UPD40Vf15HmsGAFN49LI/UPD40Vf15HmsGAFN49LI -goversion go1.18.3 -shared -c=4 -nolocalimports -importcfg $WORK/b001/importcfg -pack ./lib_go1.go ./main.go
...

Note how lib_go1.go was included and not lib_go119.go.

So it seems like go tool compile is depending on go build to filter out the source file before hand?
And we might need to replicate that logic with rules_go?

@sluongng
Copy link
Contributor

sluongng commented Jul 11, 2022

It seems like this will affect #3212 as well.

There are a few ways we can go about this:

  • Build tooling to support different implementation for different goSdk versions

  • Commit to a non-backward compatible upgrade

The second option seems to be a lot easier:

@sluongng
Copy link
Contributor

cc: @thempatel who have been doing some work around build constraints over in Gazelle repo.

@fmeum
Copy link
Collaborator Author

fmeum commented Jul 11, 2022

Thanks for digging in!

It's unfortunate that build constraints are handled by a preprocessing step we would have to implement ourselves. While we can certainly just do backwards incompatible changes in rules_go while we aren't at v1 yet, users that deal with multiple Go SDK versions at the same time are still affected by this.

I see two ways we could handle this:

  • Implement our own build tags parsing - a lot of work, hard to maintain.
  • Represent Go versions as toolchain constraints. We could define one constraint per minor version and replace build constraints with ordinary select.

@sluongng @achew22 What do you think? Something like this would look pretty usable to me:

go_binary(
    name = "foo",
    srcs = select({
        "@io_bazel_rules_go//go/constraints:go1.19": ["compiled_on_go1.19_and_up.go"],
        "//conditions:default": ["compiled_on_go1.18_and_lower.go"],
    }),
)

@sluongng
Copy link
Contributor

I think thats the sensible solution, but I don't like it personally. 😆
It's possible, does not means we should.

Reason is simply "additional complexity" on top of existing platform + cgo on/off matrixes.
And to support this long term, the parser inside gazelle would also need to handle this properly. (yes, we already DO have a parser, see bazelbuild/bazel-gazelle#1243).
Between both rules_go and gazelle, the active maintainers is quite limitted so I would vote to keep it simple so that we can focus on more important things.

Imo we only need to provide a release cadence where 1 version that is backward compatible with the old GoSDK. Meaning that the moment 1.19 hits release, we can safely say that 1.17 is no longer supported and move to 1.18, then shortly move to 1.19 in the version after that, with possible cherry-pick backporting of critical bugs via patch releases.

Folks who wish to adopt latest Go version earlier (i.e. during RC releases) should have the capacity to patch rules_go with the content of this PR to make it work.

@fmeum
Copy link
Collaborator Author

fmeum commented Jul 11, 2022

Sounds reasonable to me in general.

But don't we have the special problem here that we need this change to support 1.19 but the change fails with versions before 1.19? This would be much simpler if asm had -p already in 1.18 as then we could just add support for 1.19 at the same time we drop support for 1.17.

@sluongng
Copy link
Contributor

See https://github.com/bazelbuild/rules_go/wiki/Deprecation-schedule#supported-go-versions

The Go Team provides support for the current and previous minor versions of Go. For example, if Go 1.15 is the current version, then 1.15 and 1.14 are supported. Only supported versions receive bug fixes and security updates, so users are strongly encouraged to update to those versions.

Each minor version of rules_go only supports the minor versions of Go that were supported at the time of release. rules_go may break compatibility with older versions.

So I would suggest these:

  1. We remove the multi-version support and leave this PR open for now.
  2. Add a description at top guiding people on how to patch their rules_go if they wish to use 1.19 early.
  3. Complete and merge nogo: instantiate type info for generic types when running under Go >=1.18 #3212 and create a new release for 1.18 compatibility. In which we announce next release to be on the same date with Go 1.19
  4. When Go 1.19 get released, merge this and release a new rules_go version targeting 1.19 onward.

I would love to hear other maintainers opinion on this as well. 🤔

This is required to produce linkable objects as of Go 1.19.
@fmeum
Copy link
Collaborator Author

fmeum commented Jul 12, 2022

@sywhang @sluongng I pushed a new version with a runtime check that should allow us to merge this right away. PTAL.

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.

Look obviously correct to me. 👍

go/tools/builders/asm.go Show resolved Hide resolved
@fmeum fmeum merged commit cde7d7b into bazelbuild:master Jul 13, 2022
@fmeum fmeum deleted the 3199-asm-p branch July 13, 2022 14:39
gcf-merge-on-green bot referenced this pull request in googleapis/gapic-generator-go Jul 19, 2022
[![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://github.com/bazelbuild/rules_go) | http_archive | minor | `v0.33.0` -> `v0.34.0` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go</summary>

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

[Compare Source](https://github.com/bazelbuild/rules_go/compare/v0.33.0...v0.34.0)

#### What's Changed

-   releaser: fix scrubbing timestamp from patch files by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3180](https://github.com/bazelbuild/rules_go/pull/3180)
-   Replace Starlark JSON parser with json.decode by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3184](https://github.com/bazelbuild/rules_go/pull/3184)
-   gopackagesdriver: separates "s" files in pkg info by [@&#8203;iamricard](https://github.com/iamricard) in [https://github.com/bazelbuild/rules_go/pull/3165](https://github.com/bazelbuild/rules_go/pull/3165)
-   Refactor away references to @&#8203;io_bazel_rules_go by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3185](https://github.com/bazelbuild/rules_go/pull/3185)
-   Do not print to stderr if cgo linking succeeds after retry by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3187](https://github.com/bazelbuild/rules_go/pull/3187)
-   Use param files with go-protoc by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3190](https://github.com/bazelbuild/rules_go/pull/3190)
-   Don't include non-executable go_binary in dependent's runfiles by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3151](https://github.com/bazelbuild/rules_go/pull/3151)
-   Link in native libraries of transitive dependencies in archive mode by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3186](https://github.com/bazelbuild/rules_go/pull/3186)
-   runfiles: remove deprecated api by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3198](https://github.com/bazelbuild/rules_go/pull/3198)
-   Fix failing open hermeticity test by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3206](https://github.com/bazelbuild/rules_go/pull/3206)
-   Fix go_googleapis Gazelle patch by [@&#8203;nickgooding](https://github.com/nickgooding) in [https://github.com/bazelbuild/rules_go/pull/3193](https://github.com/bazelbuild/rules_go/pull/3193)
-   Exclude unsupported C/C++ features by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3189](https://github.com/bazelbuild/rules_go/pull/3189)
-   Allow gomock to take Bazel common attributes by [@&#8203;linzhp](https://github.com/linzhp) in [https://github.com/bazelbuild/rules_go/pull/3207](https://github.com/bazelbuild/rules_go/pull/3207)
-   Transition on edges not self by [@&#8203;illicitonion](https://github.com/illicitonion) in [https://github.com/bazelbuild/rules_go/pull/3116](https://github.com/bazelbuild/rules_go/pull/3116)
-   Include go_transition_test in bazel aspect by [@&#8203;ian-h-chamberlain](https://github.com/ian-h-chamberlain) in [https://github.com/bazelbuild/rules_go/pull/3160](https://github.com/bazelbuild/rules_go/pull/3160)
-   Add an example for go_download_sdk.sdks by [@&#8203;fishy](https://github.com/fishy) in [https://github.com/bazelbuild/rules_go/pull/3139](https://github.com/bazelbuild/rules_go/pull/3139)
-   tests: nogo over generated code by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3214](https://github.com/bazelbuild/rules_go/pull/3214)
-   test nogo/coverage: test generated code by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3213](https://github.com/bazelbuild/rules_go/pull/3213)
-   Remove references to go_transition_test by [@&#8203;linzhp](https://github.com/linzhp) in [https://github.com/bazelbuild/rules_go/pull/3215](https://github.com/bazelbuild/rules_go/pull/3215)
-   Basic bzlmod setup by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3047](https://github.com/bazelbuild/rules_go/pull/3047)
-   Run BCR tests against Bazel 6.0.0-pre.20220608.2 by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3223](https://github.com/bazelbuild/rules_go/pull/3223)
-   Use repo-relative labels in MODULE.bazel by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3226](https://github.com/bazelbuild/rules_go/pull/3226)
-   upkeep: upgrade to go 1.18.3 and gazelle v0.26.0 by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3220](https://github.com/bazelbuild/rules_go/pull/3220)
-   nogo: ignore generated source files by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3216](https://github.com/bazelbuild/rules_go/pull/3216)
-   asm: Pass package path with -p by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3231](https://github.com/bazelbuild/rules_go/pull/3231)
-   bzlmod: Add support for gomock by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3232](https://github.com/bazelbuild/rules_go/pull/3232)
-   test cgo: ensure helper script works by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3236](https://github.com/bazelbuild/rules_go/pull/3236)
-   Fix //tests/legacy/examples/cgo:cgo_lib_test on M1 Macs by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3237](https://github.com/bazelbuild/rules_go/pull/3237)
-   gopackagesdriver: Descend into go_proto_compiler's deps by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3240](https://github.com/bazelbuild/rules_go/pull/3240)
-   new_library: remove unused resolver by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3219](https://github.com/bazelbuild/rules_go/pull/3219)
-   nogo: instantiate type info for generic types when running under Go >=1.18 by [@&#8203;farhaven](https://github.com/farhaven) in [https://github.com/bazelbuild/rules_go/pull/3212](https://github.com/bazelbuild/rules_go/pull/3212)

#### New Contributors

-   [@&#8203;iamricard](https://github.com/iamricard) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3165](https://github.com/bazelbuild/rules_go/pull/3165)
-   [@&#8203;ian-h-chamberlain](https://github.com/ian-h-chamberlain) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3160](https://github.com/bazelbuild/rules_go/pull/3160)
-   [@&#8203;fishy](https://github.com/fishy) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3139](https://github.com/bazelbuild/rules_go/pull/3139)
-   [@&#8203;farhaven](https://github.com/farhaven) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3212](https://github.com/bazelbuild/rules_go/pull/3212)

**Full Changelog**: bazelbuild/rules_go@v0.33.0...v0.34.0

#### `WORKSPACE` code

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

    http_archive(
        name = "io_bazel_rules_go",
        sha256 = "16e9fca53ed6bd4ff4ad76facc9b7b651a89db1689a2877d6fd7b82aa824e366",
        urls = [
            "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.34.0/rules_go-v0.34.0.zip",
            "https://github.com/bazelbuild/rules_go/releases/download/v0.34.0/rules_go-v0.34.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.18.4")

</details>

---

### Configuration

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

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, 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, click this checkbox.

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/gapic-generator-go).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xMTcuNCIsInVwZGF0ZWRJblZlciI6IjMyLjExNy40In0=-->
gcf-merge-on-green bot referenced this pull request in googleapis/gapic-config-validator Jul 19, 2022
[![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://github.com/bazelbuild/rules_go) | http_archive | minor | `v0.33.0` -> `v0.34.0` |

---

### Release Notes

<details>
<summary>bazelbuild/rules_go</summary>

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

[Compare Source](https://github.com/bazelbuild/rules_go/compare/v0.33.0...v0.34.0)

#### What's Changed

-   releaser: fix scrubbing timestamp from patch files by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3180](https://github.com/bazelbuild/rules_go/pull/3180)
-   Replace Starlark JSON parser with json.decode by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3184](https://github.com/bazelbuild/rules_go/pull/3184)
-   gopackagesdriver: separates "s" files in pkg info by [@&#8203;iamricard](https://github.com/iamricard) in [https://github.com/bazelbuild/rules_go/pull/3165](https://github.com/bazelbuild/rules_go/pull/3165)
-   Refactor away references to @&#8203;io_bazel_rules_go by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3185](https://github.com/bazelbuild/rules_go/pull/3185)
-   Do not print to stderr if cgo linking succeeds after retry by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3187](https://github.com/bazelbuild/rules_go/pull/3187)
-   Use param files with go-protoc by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3190](https://github.com/bazelbuild/rules_go/pull/3190)
-   Don't include non-executable go_binary in dependent's runfiles by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3151](https://github.com/bazelbuild/rules_go/pull/3151)
-   Link in native libraries of transitive dependencies in archive mode by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3186](https://github.com/bazelbuild/rules_go/pull/3186)
-   runfiles: remove deprecated api by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3198](https://github.com/bazelbuild/rules_go/pull/3198)
-   Fix failing open hermeticity test by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3206](https://github.com/bazelbuild/rules_go/pull/3206)
-   Fix go_googleapis Gazelle patch by [@&#8203;nickgooding](https://github.com/nickgooding) in [https://github.com/bazelbuild/rules_go/pull/3193](https://github.com/bazelbuild/rules_go/pull/3193)
-   Exclude unsupported C/C++ features by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3189](https://github.com/bazelbuild/rules_go/pull/3189)
-   Allow gomock to take Bazel common attributes by [@&#8203;linzhp](https://github.com/linzhp) in [https://github.com/bazelbuild/rules_go/pull/3207](https://github.com/bazelbuild/rules_go/pull/3207)
-   Transition on edges not self by [@&#8203;illicitonion](https://github.com/illicitonion) in [https://github.com/bazelbuild/rules_go/pull/3116](https://github.com/bazelbuild/rules_go/pull/3116)
-   Include go_transition_test in bazel aspect by [@&#8203;ian-h-chamberlain](https://github.com/ian-h-chamberlain) in [https://github.com/bazelbuild/rules_go/pull/3160](https://github.com/bazelbuild/rules_go/pull/3160)
-   Add an example for go_download_sdk.sdks by [@&#8203;fishy](https://github.com/fishy) in [https://github.com/bazelbuild/rules_go/pull/3139](https://github.com/bazelbuild/rules_go/pull/3139)
-   tests: nogo over generated code by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3214](https://github.com/bazelbuild/rules_go/pull/3214)
-   test nogo/coverage: test generated code by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3213](https://github.com/bazelbuild/rules_go/pull/3213)
-   Remove references to go_transition_test by [@&#8203;linzhp](https://github.com/linzhp) in [https://github.com/bazelbuild/rules_go/pull/3215](https://github.com/bazelbuild/rules_go/pull/3215)
-   Basic bzlmod setup by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3047](https://github.com/bazelbuild/rules_go/pull/3047)
-   Run BCR tests against Bazel 6.0.0-pre.20220608.2 by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3223](https://github.com/bazelbuild/rules_go/pull/3223)
-   Use repo-relative labels in MODULE.bazel by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3226](https://github.com/bazelbuild/rules_go/pull/3226)
-   upkeep: upgrade to go 1.18.3 and gazelle v0.26.0 by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3220](https://github.com/bazelbuild/rules_go/pull/3220)
-   nogo: ignore generated source files by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3216](https://github.com/bazelbuild/rules_go/pull/3216)
-   asm: Pass package path with -p by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3231](https://github.com/bazelbuild/rules_go/pull/3231)
-   bzlmod: Add support for gomock by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3232](https://github.com/bazelbuild/rules_go/pull/3232)
-   test cgo: ensure helper script works by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3236](https://github.com/bazelbuild/rules_go/pull/3236)
-   Fix //tests/legacy/examples/cgo:cgo_lib_test on M1 Macs by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3237](https://github.com/bazelbuild/rules_go/pull/3237)
-   gopackagesdriver: Descend into go_proto_compiler's deps by [@&#8203;fmeum](https://github.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3240](https://github.com/bazelbuild/rules_go/pull/3240)
-   new_library: remove unused resolver by [@&#8203;sluongng](https://github.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3219](https://github.com/bazelbuild/rules_go/pull/3219)
-   nogo: instantiate type info for generic types when running under Go >=1.18 by [@&#8203;farhaven](https://github.com/farhaven) in [https://github.com/bazelbuild/rules_go/pull/3212](https://github.com/bazelbuild/rules_go/pull/3212)

#### New Contributors

-   [@&#8203;iamricard](https://github.com/iamricard) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3165](https://github.com/bazelbuild/rules_go/pull/3165)
-   [@&#8203;ian-h-chamberlain](https://github.com/ian-h-chamberlain) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3160](https://github.com/bazelbuild/rules_go/pull/3160)
-   [@&#8203;fishy](https://github.com/fishy) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3139](https://github.com/bazelbuild/rules_go/pull/3139)
-   [@&#8203;farhaven](https://github.com/farhaven) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3212](https://github.com/bazelbuild/rules_go/pull/3212)

**Full Changelog**: bazelbuild/rules_go@v0.33.0...v0.34.0

#### `WORKSPACE` code

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

    http_archive(
        name = "io_bazel_rules_go",
        sha256 = "16e9fca53ed6bd4ff4ad76facc9b7b651a89db1689a2877d6fd7b82aa824e366",
        urls = [
            "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.34.0/rules_go-v0.34.0.zip",
            "https://github.com/bazelbuild/rules_go/releases/download/v0.34.0/rules_go-v0.34.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.18.4")

</details>

---

### Configuration

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

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, 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, click this checkbox.

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/gapic-config-validator).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xMTcuNCIsInVwZGF0ZWRJblZlciI6IjMyLjExNy40In0=-->
@martinbaillie
Copy link

Would it be possible to cut an official release that has this in it? 🙏🏻

@sywhang
Copy link

sywhang commented Aug 2, 2022

@martinbaillie
Copy link

So it does. My apologies!

akalenyu added a commit to akalenyu/containerized-data-importer that referenced this pull request Mar 9, 2023
Needed for
bazelbuild/rules_go#3231
kubevirt/kubevirt@9e15eca
If we want to bump to 1.19

Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
kubevirt-bot pushed a commit to kubevirt/containerized-data-importer that referenced this pull request Mar 10, 2023
Needed for
bazelbuild/rules_go#3231
kubevirt/kubevirt@9e15eca
If we want to bump to 1.19

Signed-off-by: Alex Kalenyuk <akalenyu@redhat.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.

Unable to build golang.org/x/sys with Go 1.19 beta1
5 participants