-
-
Notifications
You must be signed in to change notification settings - Fork 678
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 support for env_inherit #3256
Conversation
Thanks for the contribution, I will take a look. You can create proper integration tests using |
go/private/rules/test.bzl
Outdated
@@ -184,7 +185,7 @@ def _go_test_impl(ctx): | |||
dependency_attributes = ["deps", "embed"], | |||
extensions = ["go"], | |||
), | |||
testing.TestEnvironment(env), | |||
testing.TestEnvironment(env, inherited_environment) if inherited_environment else testing.TestEnvironment(env), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@achew22 Are you ultimately fine with this approach or would you prefer an explicit Bazel version check with a more descriptive error message?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry to be so slow on response to this one. I would definitely prefer the explicit check. My bias on these checks is to see if the property or attribute exists on the object. If that's not possible because it's something like an argument to a function, then a version check is sufficient. Also, please include a comment indicating why the version check is there and a link so that later we can reevaluate if the check is still necessary.
Again, sorry to be so slow!
Looks like CI is failing because it uses 4.2.1: |
@achew22 What do you think, could we temporarily include this without test coverage until we raise the minimum to 5.3.0? |
No worries at all for the delay. I tried adding an explicit version check, assuming
Its only the "ubuntu1804_bazel400" job which fails, the rest are fine (because I assume they use latest Bazel?). Maybe I should just ignore the test case in that specific CI job? https://github.com/bazelbuild/rules_go/blob/b4292b15a157158fac95069fd988b64c24fa16e3/.bazelci/presubmit.yml#L10-L11 |
No, unfortunately not. We have to add a repository rule exposing the version as a Starlark constant and can then use the bazel-skylib helper functions to assert the minimum in the rule. |
Sorry, this is all very new to me, unsure if I've done it correctly - let me know if anything needs changing. |
@linzhp Now that we are on 5.1.0, do you think we can go up to 5.2.0 in the next release? That would greatly simplify this PR. |
I am OK with that |
@ttpathan Sorry for the back and forth (and delay), but we are finally ready to update to 5.2.0. Instead of the version check, you can just use |
@ttpathan With Bazel 6 out, there is really nothing preventing us from updating to 5.2.0 unconditionally now. Are you still interested in getting this merged? We could now do so without the version check. |
This will most likely fail CI - not sure how to pass through an env var
Requires increasing the minimum Bazel version to 5.2.0.
@ttpathan I pushed a new commit that enables the feature unconditionally and increases the minimum required Bazel version. I kept you as the author. Thanks for the contribution and sorry for the long delay! |
[![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.37.0` -> `v0.38.0` | --- ### Release Notes <details> <summary>bazelbuild/rules_go</summary> ### [`v0.38.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.38.0) [Compare Source](https://togithub.com/bazelbuild/rules_go/compare/v0.37.0...v0.38.0) #### Breaking changes Starting this release, rules_go requires Bazel 5.3 and golang/x/tools at least 0.3.0. #### Major new features This is the first release to support Go 1.20. When on this version of Go, it is highly recommended to use Bazel 6 and set `--experimental_output_directory_naming_scheme=diff_against_baseline` to prevent certain unnecessary rebuilds. #### What's Changed - preserve intermediate files if `-work` is specified by [@​motiejus](https://togithub.com/motiejus) in [https://github.com/bazelbuild/rules_go/pull/3389](https://togithub.com/bazelbuild/rules_go/pull/3389) - Adapt `lcov_coverage_test` to `exec.Command` change by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3392](https://togithub.com/bazelbuild/rules_go/pull/3392) - explicitly build relative path for Tool command in lcov_coverage_test by [@​matloob](https://togithub.com/matloob) in [https://github.com/bazelbuild/rules_go/pull/3399](https://togithub.com/bazelbuild/rules_go/pull/3399) - Add support for building with boringcrypto by [@​matloob](https://togithub.com/matloob) in [https://github.com/bazelbuild/rules_go/pull/3398](https://togithub.com/bazelbuild/rules_go/pull/3398) - Generalize `boringcrypto` to `GOEXPERIMENT` support by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3401](https://togithub.com/bazelbuild/rules_go/pull/3401) - Replace `cfg = "host"` with `cfg = "exec"` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3404](https://togithub.com/bazelbuild/rules_go/pull/3404) - always produce .a files at the beginning of a build by [@​matloob](https://togithub.com/matloob) in [https://github.com/bazelbuild/rules_go/pull/3385](https://togithub.com/bazelbuild/rules_go/pull/3385) - Mark `nogo` targets as `manual` to keep top-level symlinks by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3410](https://togithub.com/bazelbuild/rules_go/pull/3410) - Refactoring the extld related logic by [@​linzhp](https://togithub.com/linzhp) in [https://github.com/bazelbuild/rules_go/pull/3400](https://togithub.com/bazelbuild/rules_go/pull/3400) - Fix incompatible flags not applied to integration tests by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3415](https://togithub.com/bazelbuild/rules_go/pull/3415) - chore: remove experimental warning from bzlmod module by [@​alexeagle](https://togithub.com/alexeagle) in [https://github.com/bazelbuild/rules_go/pull/3418](https://togithub.com/bazelbuild/rules_go/pull/3418) - Add a clarifying error about dependency cycle found for internal tests by [@​yushan26](https://togithub.com/yushan26) in [https://github.com/bazelbuild/rules_go/pull/3422](https://togithub.com/bazelbuild/rules_go/pull/3422) - Do not use exec paths for rundir by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3414](https://togithub.com/bazelbuild/rules_go/pull/3414) - Upgrade org_golang_x_tools to 0.5.0 by [@​linzhp](https://togithub.com/linzhp) in [https://github.com/bazelbuild/rules_go/pull/3356](https://togithub.com/bazelbuild/rules_go/pull/3356) - fix: Relative path of embedsrc by [@​bakjos](https://togithub.com/bakjos) in [https://github.com/bazelbuild/rules_go/pull/3407](https://togithub.com/bazelbuild/rules_go/pull/3407) - Add support for env_inherit by [@​ttpathan](https://togithub.com/ttpathan) in [https://github.com/bazelbuild/rules_go/pull/3256](https://togithub.com/bazelbuild/rules_go/pull/3256) - Update stardoc to 0.5.3 by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3427](https://togithub.com/bazelbuild/rules_go/pull/3427) - Add `env` attribute to `go_binary` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3428](https://togithub.com/bazelbuild/rules_go/pull/3428) #### New Contributors - [@​matloob](https://togithub.com/matloob) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3399](https://togithub.com/bazelbuild/rules_go/pull/3399) - [@​yushan26](https://togithub.com/yushan26) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3422](https://togithub.com/bazelbuild/rules_go/pull/3422) - [@​bakjos](https://togithub.com/bakjos) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3407](https://togithub.com/bazelbuild/rules_go/pull/3407) - [@​ttpathan](https://togithub.com/ttpathan) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3256](https://togithub.com/bazelbuild/rules_go/pull/3256) **Full Changelog**: bazel-contrib/rules_go@v0.37.0...v0.38.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. 🔕 **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://app.renovatebot.com/dashboard#github/cgrindel/bazel-starlib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMTEuMSIsInVwZGF0ZWRJblZlciI6IjM0LjExMS4xIn0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![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.35.0` -> `v0.38.1` | --- ### Release Notes <details> <summary>bazelbuild/rules_go</summary> ### [`v0.38.1`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.38.1) [Compare Source](https://togithub.com/bazelbuild/rules_go/compare/v0.38.0...v0.38.1) #### Bug fixes The go_googleapis upgrade in 0.38.0 is too disruptive. It changes the Go import paths of the proto packages, causing build failures in repos trying to upgrade to rules_go 0.38.0. Reverting the go_googleapis to the master of 2022-12-05 ([#​3432](https://togithub.com/bazelbuild/rules_go/issues/3432)) for now to make rules_go upgrades easier. #### `WORKSPACE` code load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "io_bazel_rules_go", sha256 = "dd926a88a564a9246713a9c00b35315f54cbd46b31a26d5d8fb264c07045f05d", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.38.1/rules_go-v0.38.1.zip", "https://github.com/bazelbuild/rules_go/releases/download/v0.38.1/rules_go-v0.38.1.zip", ], ) load("@​io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") go_rules_dependencies() go_register_toolchains(version = "1.19.5") **Full Changelog**: bazel-contrib/rules_go@v0.38.0...v0.38.1 ### [`v0.38.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.38.0) [Compare Source](https://togithub.com/bazelbuild/rules_go/compare/v0.37.0...v0.38.0) #### Breaking changes Starting this release, rules_go requires Bazel 5.3 and golang/x/tools at least 0.3.0. If you are using [stardoc](https://togithub.com/bazelbuild/stardoc), you also need to upgrade it to 0.5.3 to recognize `RunEnvironmentInfo`, which is used in this release. #### Major new features This is the first release to support Go 1.20. When on this version of Go, it is highly recommended to use Bazel 6 and set `--experimental_output_directory_naming_scheme=diff_against_baseline` to prevent certain unnecessary rebuilds. #### What's Changed - preserve intermediate files if `-work` is specified by [@​motiejus](https://togithub.com/motiejus) in [https://github.com/bazelbuild/rules_go/pull/3389](https://togithub.com/bazelbuild/rules_go/pull/3389) - Adapt `lcov_coverage_test` to `exec.Command` change by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3392](https://togithub.com/bazelbuild/rules_go/pull/3392) - explicitly build relative path for Tool command in lcov_coverage_test by [@​matloob](https://togithub.com/matloob) in [https://github.com/bazelbuild/rules_go/pull/3399](https://togithub.com/bazelbuild/rules_go/pull/3399) - Add support for building with boringcrypto by [@​matloob](https://togithub.com/matloob) in [https://github.com/bazelbuild/rules_go/pull/3398](https://togithub.com/bazelbuild/rules_go/pull/3398) - Generalize `boringcrypto` to `GOEXPERIMENT` support by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3401](https://togithub.com/bazelbuild/rules_go/pull/3401) - Replace `cfg = "host"` with `cfg = "exec"` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3404](https://togithub.com/bazelbuild/rules_go/pull/3404) - always produce .a files at the beginning of a build by [@​matloob](https://togithub.com/matloob) in [https://github.com/bazelbuild/rules_go/pull/3385](https://togithub.com/bazelbuild/rules_go/pull/3385) - Mark `nogo` targets as `manual` to keep top-level symlinks by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3410](https://togithub.com/bazelbuild/rules_go/pull/3410) - Refactoring the extld related logic by [@​linzhp](https://togithub.com/linzhp) in [https://github.com/bazelbuild/rules_go/pull/3400](https://togithub.com/bazelbuild/rules_go/pull/3400) - Fix incompatible flags not applied to integration tests by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3415](https://togithub.com/bazelbuild/rules_go/pull/3415) - chore: remove experimental warning from bzlmod module by [@​alexeagle](https://togithub.com/alexeagle) in [https://github.com/bazelbuild/rules_go/pull/3418](https://togithub.com/bazelbuild/rules_go/pull/3418) - Add a clarifying error about dependency cycle found for internal tests by [@​yushan26](https://togithub.com/yushan26) in [https://github.com/bazelbuild/rules_go/pull/3422](https://togithub.com/bazelbuild/rules_go/pull/3422) - Do not use exec paths for rundir by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3414](https://togithub.com/bazelbuild/rules_go/pull/3414) - Upgrade org_golang_x_tools to 0.5.0 by [@​linzhp](https://togithub.com/linzhp) in [https://github.com/bazelbuild/rules_go/pull/3356](https://togithub.com/bazelbuild/rules_go/pull/3356) - fix: Relative path of embedsrc by [@​bakjos](https://togithub.com/bakjos) in [https://github.com/bazelbuild/rules_go/pull/3407](https://togithub.com/bazelbuild/rules_go/pull/3407) - Add support for env_inherit by [@​ttpathan](https://togithub.com/ttpathan) in [https://github.com/bazelbuild/rules_go/pull/3256](https://togithub.com/bazelbuild/rules_go/pull/3256) - Update stardoc to 0.5.3 by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3427](https://togithub.com/bazelbuild/rules_go/pull/3427) - Add `env` attribute to `go_binary` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3428](https://togithub.com/bazelbuild/rules_go/pull/3428) #### New Contributors - [@​matloob](https://togithub.com/matloob) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3399](https://togithub.com/bazelbuild/rules_go/pull/3399) - [@​yushan26](https://togithub.com/yushan26) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3422](https://togithub.com/bazelbuild/rules_go/pull/3422) - [@​bakjos](https://togithub.com/bakjos) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3407](https://togithub.com/bazelbuild/rules_go/pull/3407) - [@​ttpathan](https://togithub.com/ttpathan) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3256](https://togithub.com/bazelbuild/rules_go/pull/3256) **Full Changelog**: bazel-contrib/rules_go@v0.37.0...v0.38.0 ### [`v0.37.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.37.0) [Compare Source](https://togithub.com/bazelbuild/rules_go/compare/v0.36.0...v0.37.0) #### Major New Features - Support fetching packages for generated code in the Go Packages Driver #### What's Changed - bzlmod: Add missing `strip_prefix` field to `source.template.json` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3359](https://togithub.com/bazelbuild/rules_go/pull/3359) - Declare toolchains in a separate repository by [@​jfirebaugh](https://togithub.com/jfirebaugh) in [https://github.com/bazelbuild/rules_go/pull/3348](https://togithub.com/bazelbuild/rules_go/pull/3348) - Delete legacy actions API by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3173](https://togithub.com/bazelbuild/rules_go/pull/3173) - go_path: support go:embed of generated files by [@​S-Chan](https://togithub.com/S-Chan) in [https://github.com/bazelbuild/rules_go/pull/3285](https://togithub.com/bazelbuild/rules_go/pull/3285) - Properly deprecate `bindata`, `go_embed_data`, and `go_embed_data_deps` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3362](https://togithub.com/bazelbuild/rules_go/pull/3362) - link.bzl: ignore duplicate dep on coverdata by [@​robfig](https://togithub.com/robfig) in [https://github.com/bazelbuild/rules_go/pull/3032](https://togithub.com/bazelbuild/rules_go/pull/3032) - feat(pkg-drv): add support for generated files by [@​JamyDev](https://togithub.com/JamyDev) in [https://github.com/bazelbuild/rules_go/pull/3354](https://togithub.com/bazelbuild/rules_go/pull/3354) - Remove unused variables in link action by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3367](https://togithub.com/bazelbuild/rules_go/pull/3367) - Reduce number of declared files in `emit_stdlib` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3366](https://togithub.com/bazelbuild/rules_go/pull/3366) - Update docs regarding vendored proto files by [@​garymm](https://togithub.com/garymm) in [https://github.com/bazelbuild/rules_go/pull/3360](https://togithub.com/bazelbuild/rules_go/pull/3360) - go link: use external linker when in race mode by [@​motiejus](https://togithub.com/motiejus) in [https://github.com/bazelbuild/rules_go/pull/3370](https://togithub.com/bazelbuild/rules_go/pull/3370) - Adding first example by [@​chrislovecnm](https://togithub.com/chrislovecnm) in [https://github.com/bazelbuild/rules_go/pull/3317](https://togithub.com/bazelbuild/rules_go/pull/3317) - fix(packagesdriver): bazelFlags should prefix the command by [@​JamyDev](https://togithub.com/JamyDev) in [https://github.com/bazelbuild/rules_go/pull/3371](https://togithub.com/bazelbuild/rules_go/pull/3371) - chore(gpd): export aspect utils for reusability by [@​JamyDev](https://togithub.com/JamyDev) in [https://github.com/bazelbuild/rules_go/pull/3373](https://togithub.com/bazelbuild/rules_go/pull/3373) - nogo: Add a \_base key to be a default config for all Analyzers. by [@​DolceTriade](https://togithub.com/DolceTriade) in [https://github.com/bazelbuild/rules_go/pull/3351](https://togithub.com/bazelbuild/rules_go/pull/3351) - Document that `Rlocation` can return relative paths by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3377](https://togithub.com/bazelbuild/rules_go/pull/3377) - Fix normalization check for `Rlocation` path by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3378](https://togithub.com/bazelbuild/rules_go/pull/3378) - fix(gpd): Write large target patterns to file by [@​JamyDev](https://togithub.com/JamyDev) in [https://github.com/bazelbuild/rules_go/pull/3372](https://togithub.com/bazelbuild/rules_go/pull/3372) - Make Go runfiles library repo mapping aware by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3347](https://togithub.com/bazelbuild/rules_go/pull/3347) #### New Contributors - [@​jfirebaugh](https://togithub.com/jfirebaugh) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3348](https://togithub.com/bazelbuild/rules_go/pull/3348) - [@​S-Chan](https://togithub.com/S-Chan) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3285](https://togithub.com/bazelbuild/rules_go/pull/3285) - [@​garymm](https://togithub.com/garymm) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3360](https://togithub.com/bazelbuild/rules_go/pull/3360) - [@​motiejus](https://togithub.com/motiejus) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3370](https://togithub.com/bazelbuild/rules_go/pull/3370) - [@​chrislovecnm](https://togithub.com/chrislovecnm) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3317](https://togithub.com/bazelbuild/rules_go/pull/3317) - [@​DolceTriade](https://togithub.com/DolceTriade) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3351](https://togithub.com/bazelbuild/rules_go/pull/3351) **Full Changelog**: bazel-contrib/rules_go@v0.36.0...v0.37.0 #### `WORKSPACE` code load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "io_bazel_rules_go", sha256 = "56d8c5a5c91e1af73eca71a6fab2ced959b67c86d12ba37feedb0a2dfea441a6", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.37.0/rules_go-v0.37.0.zip", "https://github.com/bazelbuild/rules_go/releases/download/v0.37.0/rules_go-v0.37.0.zip", ], ) load("@​io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") go_rules_dependencies() go_register_toolchains(version = "1.19.3") ### [`v0.36.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.36.0) [Compare Source](https://togithub.com/bazelbuild/rules_go/compare/v0.35.0...v0.36.0) #### Major new features - The Go runfiles library developed by [@​phst](https://togithub.com/phst) at https://github.com/phst/runfiles is now available as `github.com/bazelbuild/rules_go/go/runfiles` (target `@io_bazel_rules_go//go/runfiles`) and is now the official way to look up runfiles from Go. It will be made compatible with Bzlmod in a future release. **Note:** For improved consistency with runfiles libraries in other languages, the `Path` function present in https://github.com/phst/runfiles is called `Rlocation` in rules_go. - Adding two new command line flags `--@​io_bazel_rules_go//go/config:gc_goopts` and `--@​io_bazel_rules_go//go/config:gc_linkopts` to accept additional compiler and linker flags. #### What's Changed - bzlmod: Use register_toolchains by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3290](https://togithub.com/bazelbuild/rules_go/pull/3290) - Remove unused env_execute by [@​kmicklas](https://togithub.com/kmicklas) in [https://github.com/bazelbuild/rules_go/pull/3276](https://togithub.com/bazelbuild/rules_go/pull/3276) - Correctly forward InstrumentedFilesInfo from dependencies by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3294](https://togithub.com/bazelbuild/rules_go/pull/3294) - Parse Go SDK version out of `go version` instead of `VERSION` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3296](https://togithub.com/bazelbuild/rules_go/pull/3296) - also write test stderr to json (xml) output file by [@​rickystewart](https://togithub.com/rickystewart) in [https://github.com/bazelbuild/rules_go/pull/3300](https://togithub.com/bazelbuild/rules_go/pull/3300) - Bzlmod: Pin Bazel version in CI by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3301](https://togithub.com/bazelbuild/rules_go/pull/3301) - Allow to select Go SDK version from declared SDKs by [@​ash2k](https://togithub.com/ash2k) in [https://github.com/bazelbuild/rules_go/pull/3303](https://togithub.com/bazelbuild/rules_go/pull/3303) - Use top level VERSION file when it exists by [@​linzhp](https://togithub.com/linzhp) in [https://github.com/bazelbuild/rules_go/pull/3309](https://togithub.com/bazelbuild/rules_go/pull/3309) - synchronize when writing to the JSON converter by [@​rickystewart](https://togithub.com/rickystewart) in [https://github.com/bazelbuild/rules_go/pull/3311](https://togithub.com/bazelbuild/rules_go/pull/3311) - update version manifest URL by [@​benjaminp](https://togithub.com/benjaminp) in [https://github.com/bazelbuild/rules_go/pull/3314](https://togithub.com/bazelbuild/rules_go/pull/3314) - Symlink "misc" into repository for local_sdk. by [@​adam-azarchs](https://togithub.com/adam-azarchs) in [https://github.com/bazelbuild/rules_go/pull/3313](https://togithub.com/bazelbuild/rules_go/pull/3313) - Ensure compatibility with incompatible flags close to flipping by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3319](https://togithub.com/bazelbuild/rules_go/pull/3319) - Add additional bzlmod requirements to allow grpc protobufs to work by [@​shs96c](https://togithub.com/shs96c) in [https://github.com/bazelbuild/rules_go/pull/3320](https://togithub.com/bazelbuild/rules_go/pull/3320) - bzlmod: Update pinned Bazel version by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3321](https://togithub.com/bazelbuild/rules_go/pull/3321) - bzlmod: Set up automated BCR releases by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3324](https://togithub.com/bazelbuild/rules_go/pull/3324) - bzlmod: Add support for gogo proto compiler by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3323](https://togithub.com/bazelbuild/rules_go/pull/3323) - gopackagesdriver: move non-Go files to OtherFiles (Fixes [#​3326](https://togithub.com/bazelbuild/rules_go/issues/3326)) by [@​michaelarusso](https://togithub.com/michaelarusso) in [https://github.com/bazelbuild/rules_go/pull/3327](https://togithub.com/bazelbuild/rules_go/pull/3327) - bzlmod: Allow yanked versions in CI by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3329](https://togithub.com/bazelbuild/rules_go/pull/3329) - feat(pkg-drv): allow setting custom aspect and kinds by [@​JamyDev](https://togithub.com/JamyDev) in [https://github.com/bazelbuild/rules_go/pull/3328](https://togithub.com/bazelbuild/rules_go/pull/3328) - fix(packages-driver): allow defining additional aspects instead by [@​JamyDev](https://togithub.com/JamyDev) in [https://github.com/bazelbuild/rules_go/pull/3330](https://togithub.com/bazelbuild/rules_go/pull/3330) - Add support for parsing Go development versions by [@​zakcutner](https://togithub.com/zakcutner) in [https://github.com/bazelbuild/rules_go/pull/3333](https://togithub.com/bazelbuild/rules_go/pull/3333) - Match GOARCH ppc64 to @​platforms//cpu:ppc as well. by [@​mahiuchun](https://togithub.com/mahiuchun) in [https://github.com/bazelbuild/rules_go/pull/3336](https://togithub.com/bazelbuild/rules_go/pull/3336) - bzlmod: Update Publish to BCR app config by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3337](https://togithub.com/bazelbuild/rules_go/pull/3337) - gopackagesdriver: default to NotHandled:true for package queries by [@​ian-h-chamberlain](https://togithub.com/ian-h-chamberlain) in [https://github.com/bazelbuild/rules_go/pull/3338](https://togithub.com/bazelbuild/rules_go/pull/3338) - fix(packagesdrv): resolve third party go packages by [@​JamyDev](https://togithub.com/JamyDev) in [https://github.com/bazelbuild/rules_go/pull/3332](https://togithub.com/bazelbuild/rules_go/pull/3332) - runfiles: port phst/runfiles to rules_go by [@​sluongng](https://togithub.com/sluongng) in [https://github.com/bazelbuild/rules_go/pull/3205](https://togithub.com/bazelbuild/rules_go/pull/3205) - Adding gc_linopts to command line flag by [@​linzhp](https://togithub.com/linzhp) in [https://github.com/bazelbuild/rules_go/pull/3342](https://togithub.com/bazelbuild/rules_go/pull/3342) - Move new runfiles library to `//go/runfiles` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3341](https://togithub.com/bazelbuild/rules_go/pull/3341) - Rename `Path` to `Rlocation` in runfiles library by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3346](https://togithub.com/bazelbuild/rules_go/pull/3346) - Add 'gc_goopts' flag to command line to allow gc_goopts to propagate by [@​LWarrens](https://togithub.com/LWarrens) in [https://github.com/bazelbuild/rules_go/pull/3340](https://togithub.com/bazelbuild/rules_go/pull/3340) #### New Contributors - [@​kmicklas](https://togithub.com/kmicklas) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3276](https://togithub.com/bazelbuild/rules_go/pull/3276) - [@​adam-azarchs](https://togithub.com/adam-azarchs) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3313](https://togithub.com/bazelbuild/rules_go/pull/3313) - [@​shs96c](https://togithub.com/shs96c) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3320](https://togithub.com/bazelbuild/rules_go/pull/3320) - [@​michaelarusso](https://togithub.com/michaelarusso) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3327](https://togithub.com/bazelbuild/rules_go/pull/3327) - [@​zakcutner](https://togithub.com/zakcutner) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3333](https://togithub.com/bazelbuild/rules_go/pull/3333) - [@​mahiuchun](https://togithub.com/mahiuchun) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3336](https://togithub.com/bazelbuild/rules_go/pull/3336) - [@​LWarrens](https://togithub.com/LWarrens) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3340](https://togithub.com/bazelbuild/rules_go/pull/3340) **Full Changelog**: bazel-contrib/rules_go@v0.35.0...v0.36.0 #### `WORKSPACE` code load("@​bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "io_bazel_rules_go", sha256 = "ae013bf35bd23234d1dea46b079f1e05ba74ac0321423830119d3e787ec73483", urls = [ "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.36.0/rules_go-v0.36.0.zip", "https://github.com/bazelbuild/rules_go/releases/download/v0.36.0/rules_go-v0.36.0.zip", ], ) load("@​io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies") go_rules_dependencies() go_register_toolchains(version = "1.19.3") </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 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://app.renovatebot.com/dashboard#github/kreempuff/rules_unreal_engine). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMTcuMSIsInVwZGF0ZWRJblZlciI6IjM0LjExNy4xIn0=-->
* Add support for env_inherit * Keep compat with < 5.2 * Add skeleton test This will most likely fail CI - not sure how to pass through an env var * Add integration test * Update docs * Explicitly check Bazel version * Fix lib import * Import and visibility * revert changes * Fix dep * Create bazel_version repo rule and check version * fix deps * export file * Unconditionally set inherited_environment Requires increasing the minimum Bazel version to 5.2.0. Co-authored-by: Fabian Meumertzheim <[email protected]>
* Add support for env_inherit * Keep compat with < 5.2 * Add skeleton test This will most likely fail CI - not sure how to pass through an env var * Add integration test * Update docs * Explicitly check Bazel version * Fix lib import * Import and visibility * revert changes * Fix dep * Create bazel_version repo rule and check version * fix deps * export file * Unconditionally set inherited_environment Requires increasing the minimum Bazel version to 5.2.0. Co-authored-by: Fabian Meumertzheim <[email protected]>
* Add support for env_inherit * Keep compat with < 5.2 * Add skeleton test This will most likely fail CI - not sure how to pass through an env var * Add integration test * Update docs * Explicitly check Bazel version * Fix lib import * Import and visibility * revert changes * Fix dep * Create bazel_version repo rule and check version * fix deps * export file * Unconditionally set inherited_environment Requires increasing the minimum Bazel version to 5.2.0. Co-authored-by: Fabian Meumertzheim <[email protected]>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [github.com/bazelbuild/buildtools](https://togithub.com/bazelbuild/buildtools) | require | digest | `180a94a` -> `bf454e7` | | [github.com/bazelbuild/rules_go](https://togithub.com/bazelbuild/rules_go) | require | minor | `v0.37.0` -> `v0.38.0` | | [github.com/onsi/gomega](https://togithub.com/onsi/gomega) | require | minor | `v1.25.0` -> `v1.26.0` | | [golang.org/x/exp](https://togithub.com/golang/exp) | require | digest | `a68e582` -> `b3c2aaf` | | [google.golang.org/genproto](https://togithub.com/googleapis/go-genproto) | require | digest | `9d59e20` -> `dcaf20b` | | [google.golang.org/grpc](https://togithub.com/grpc/grpc-go) | require | patch | `v1.52.0` -> `v1.52.3` | --- ### ⚠ Dependency Lookup Warnings ⚠ Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>bazelbuild/rules_go</summary> ### [`v0.38.0`](https://togithub.com/bazelbuild/rules_go/releases/tag/v0.38.0) [Compare Source](https://togithub.com/bazelbuild/rules_go/compare/v0.37.0...v0.38.0) #### Breaking changes Starting this release, rules_go requires Bazel 5.3 and golang/x/tools at least 0.3.0. If you are using [stardoc](https://togithub.com/bazelbuild/stardoc), you also need to upgrade it to 0.5.3 to recognize `RunEnvironmentInfo`, which is used in this release. #### Major new features This is the first release to support Go 1.20. When on this version of Go, it is highly recommended to use Bazel 6 and set `--experimental_output_directory_naming_scheme=diff_against_baseline` to prevent certain unnecessary rebuilds. #### What's Changed - preserve intermediate files if `-work` is specified by [@​motiejus](https://togithub.com/motiejus) in [https://github.com/bazelbuild/rules_go/pull/3389](https://togithub.com/bazelbuild/rules_go/pull/3389) - Adapt `lcov_coverage_test` to `exec.Command` change by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3392](https://togithub.com/bazelbuild/rules_go/pull/3392) - explicitly build relative path for Tool command in lcov_coverage_test by [@​matloob](https://togithub.com/matloob) in [https://github.com/bazelbuild/rules_go/pull/3399](https://togithub.com/bazelbuild/rules_go/pull/3399) - Add support for building with boringcrypto by [@​matloob](https://togithub.com/matloob) in [https://github.com/bazelbuild/rules_go/pull/3398](https://togithub.com/bazelbuild/rules_go/pull/3398) - Generalize `boringcrypto` to `GOEXPERIMENT` support by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3401](https://togithub.com/bazelbuild/rules_go/pull/3401) - Replace `cfg = "host"` with `cfg = "exec"` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3404](https://togithub.com/bazelbuild/rules_go/pull/3404) - always produce .a files at the beginning of a build by [@​matloob](https://togithub.com/matloob) in [https://github.com/bazelbuild/rules_go/pull/3385](https://togithub.com/bazelbuild/rules_go/pull/3385) - Mark `nogo` targets as `manual` to keep top-level symlinks by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3410](https://togithub.com/bazelbuild/rules_go/pull/3410) - Refactoring the extld related logic by [@​linzhp](https://togithub.com/linzhp) in [https://github.com/bazelbuild/rules_go/pull/3400](https://togithub.com/bazelbuild/rules_go/pull/3400) - Fix incompatible flags not applied to integration tests by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3415](https://togithub.com/bazelbuild/rules_go/pull/3415) - chore: remove experimental warning from bzlmod module by [@​alexeagle](https://togithub.com/alexeagle) in [https://github.com/bazelbuild/rules_go/pull/3418](https://togithub.com/bazelbuild/rules_go/pull/3418) - Add a clarifying error about dependency cycle found for internal tests by [@​yushan26](https://togithub.com/yushan26) in [https://github.com/bazelbuild/rules_go/pull/3422](https://togithub.com/bazelbuild/rules_go/pull/3422) - Do not use exec paths for rundir by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3414](https://togithub.com/bazelbuild/rules_go/pull/3414) - Upgrade org_golang_x_tools to 0.5.0 by [@​linzhp](https://togithub.com/linzhp) in [https://github.com/bazelbuild/rules_go/pull/3356](https://togithub.com/bazelbuild/rules_go/pull/3356) - fix: Relative path of embedsrc by [@​bakjos](https://togithub.com/bakjos) in [https://github.com/bazelbuild/rules_go/pull/3407](https://togithub.com/bazelbuild/rules_go/pull/3407) - Add support for env_inherit by [@​ttpathan](https://togithub.com/ttpathan) in [https://github.com/bazelbuild/rules_go/pull/3256](https://togithub.com/bazelbuild/rules_go/pull/3256) - Update stardoc to 0.5.3 by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3427](https://togithub.com/bazelbuild/rules_go/pull/3427) - Add `env` attribute to `go_binary` by [@​fmeum](https://togithub.com/fmeum) in [https://github.com/bazelbuild/rules_go/pull/3428](https://togithub.com/bazelbuild/rules_go/pull/3428) #### New Contributors - [@​matloob](https://togithub.com/matloob) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3399](https://togithub.com/bazelbuild/rules_go/pull/3399) - [@​yushan26](https://togithub.com/yushan26) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3422](https://togithub.com/bazelbuild/rules_go/pull/3422) - [@​bakjos](https://togithub.com/bakjos) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3407](https://togithub.com/bazelbuild/rules_go/pull/3407) - [@​ttpathan](https://togithub.com/ttpathan) made their first contribution in [https://github.com/bazelbuild/rules_go/pull/3256](https://togithub.com/bazelbuild/rules_go/pull/3256) **Full Changelog**: bazel-contrib/rules_go@v0.37.0...v0.38.0 </details> <details> <summary>onsi/gomega</summary> ### [`v1.26.0`](https://togithub.com/onsi/gomega/releases/tag/v1.26.0) [Compare Source](https://togithub.com/onsi/gomega/compare/v1.25.0...v1.26.0) #### 1.26.0 ##### Features - When a polled function returns an error, keep track of the actual and report on the matcher state of the last non-errored actual \[[`21f3090`](https://togithub.com/onsi/gomega/commit/21f3090)] - improve eventually failure message output \[[`c530fb3`](https://togithub.com/onsi/gomega/commit/c530fb3)] ##### Fixes - fix several documentation spelling issues \[[`e2eff1f`](https://togithub.com/onsi/gomega/commit/e2eff1f)] </details> <details> <summary>grpc/grpc-go</summary> ### [`v1.52.3`](https://togithub.com/grpc/grpc-go/releases/tag/v1.52.3): Release 1.52.3 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.52.1...v1.52.3) ### Bug Fixes - Fix user-agent version ### [`v1.52.1`](https://togithub.com/grpc/grpc-go/releases/tag/v1.52.1): Release 1.52.1 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.52.0...v1.52.1) ### Bug Fixes - grpclb: rename grpclbstate package back to state ([#​5963](https://togithub.com/grpc/grpc-go/issues/5963)) </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 becomes conflicted, 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 [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/aspect-build/silo). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMDkuMSIsInVwZGF0ZWRJblZlciI6IjM0LjExMS4xIn0=--> Signed-off-by: Thulio Ferraz Assis <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Thulio Ferraz Assis <[email protected]>
What type of PR is this?
Feature
What does this PR do? Why is it needed?
Adds support for
env_inherit
attribute ingo_test
.This is useful for us for integration tests, where we pass database info in CI as environment variables.
env_inherit
is supported for native Bazel rules.Which issues(s) does this PR fix?
Closes #3241
Other notes for review
Inherited environment requires Bazel 5.2.0+. We only pass inherited_environment if
env_inherit
has been explicitly specified, so that rules_go still remains compatible with its minimum supported Bazel version.I wasn't quite sure on how to add a test for this. I need to be able to pass in an environment variable from the shell env, but there didn't seem like anything existing set up to do this - it just runs test targets directly, with no wrapper(?). Would appreciate advice on how to approach that, thanks!