Bazel: --action_env doesn't apply to genrule with host configuration

Created on 23 Oct 2018  路  3Comments  路  Source: bazelbuild/bazel

How to reproduce
BUILD:

genrule(
    name = "gen",
    outs = ["hello"],
    cmd = "touch $@",
    tools = [":mytool"],
)

genrule(
    name = "mytool",
    outs = ["tool"],
    cmd = "touch $@",
)

Run bazel build //:gen -s --action_env HAHA=123

pcloudy@pcloudy0-w MSYS ~/workspace/my_tests/genrule_tmp_test
$ bazel build //:gen -s --action_env HAHA=123
INFO: Build options have changed, discarding analysis cache.
INFO: Analysed target //:gen (1 packages loaded).
INFO: Found 1 target...
SUBCOMMAND: # //:mytool [action 'Executing genrule //:mytool [for host]']
cd C:/users/pcloudy/_bazel_pcloudy/j7l3crzt/execroot/__main__
  SET PATH=c:\tools\msys64\usr\bin;c:\tools\msys64\bin;C:\Program Files\CMake\bin;C:\Python36;C:\tools\msys64\home\pcloudy\bin;C:\Program Files\Java\jdk1.8.0_77\bin;C:\tools\msys64\usr\local\bin;C:\tools\msys64\usr\bin;C:\tools\msys64\usr\bin;C:\tools\msys64\opt\bin;C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\tools\msys64\usr\bin\site_perl;C:\tools\msys64\usr\bin\vendor_perl;C:\tools\msys64\usr\bin\core_perl
  c:/tools/msys64/usr/bin/bash.exe -c source external/bazel_tools/tools/genrule/genrule-setup.sh; touch bazel-out/host/genfiles/tool
SUBCOMMAND: # //:gen [action 'Executing genrule //:gen']
cd C:/users/pcloudy/_bazel_pcloudy/j7l3crzt/execroot/__main__
  SET HAHA=123
    SET PATH=c:\tools\msys64\usr\bin;c:\tools\msys64\bin;C:\Program Files\CMake\bin;C:\Python36;C:\tools\msys64\home\pcloudy\bin;C:\Program Files\Java\jdk1.8.0_77\bin;C:\tools\msys64\usr\local\bin;C:\tools\msys64\usr\bin;C:\tools\msys64\usr\bin;C:\tools\msys64\opt\bin;C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\tools\msys64\usr\bin\site_perl;C:\tools\msys64\usr\bin\vendor_perl;C:\tools\msys64\usr\bin\core_perl
  c:/tools/msys64/usr/bin/bash.exe -c source external/bazel_tools/tools/genrule/genrule-setup.sh; touch bazel-out/x64_windows-fastbuild/genfiles/hello
Target //:gen up-to-date:
  C:/users/pcloudy/_bazel_pcloudy/j7l3crzt/execroot/__main__/bazel-out/x64_windows-fastbuild/genfiles/hello
INFO: Elapsed time: 1.004s, Critical Path: 0.49s
INFO: 2 processes: 2 local.
INFO: Build completed successfully, 3 total actions

This is not a Windows specific issue, also happens on Linux.
Related TensorFlow issue: https://github.com/tensorflow/tensorflow/issues/22395#issuecomment-431181667

Workaround: add --distinct_host_configuration=false option

P2 team-Configurability bug

Most helpful comment

Maybe we should add a --host_action_env flag?

All 3 comments

Maybe we should add a --host_action_env flag?

possible dupe of #4008?

Yep.

Was this page helpful?
0 / 5 - 0 ratings