build(bazel): add build --incompatible_list_based_execution_strategy_selection=false flag (#31019)

This option is changed to true in Bazel 0.27 and exposes a possible
regression in Bazel 0.27.0.
Error observed is in npm_package target `//packages/common/locales:package`:
```
ERROR: /home/circleci/ng/packages/common/locales/BUILD.bazel:13:1: Assembling
npm package packages/common/locales/package failed: No usable spawn strategy found
for spawn with mnemonic SkylarkAction.  Your --spawn_strategyor --strategy flags
are probably too strict. Visit https://github.com/bazelbuild/bazel/issues/7480 for
migration advises
```
Suspect is https://github.com/bazelbuild/rules_nodejs/blob/master/internal/npm_package/npm_package.bzl#L75-L82:
```
 execution_requirements = {
    # Never schedule this action remotely because it's not computationally expensive.
    # It just copies files into a directory; it's not worth copying inputs and outputs to a remote worker.
    # Also don't run it in a sandbox, because it resolves an absolute path to the bazel-out directory
    # allowing the .pack and .publish runnables to work with no symlink_prefix
    # See https://github.com/bazelbuild/rules_nodejs/issues/187
    "local": "1",
},
```

PR Close #31019
This commit is contained in:
Greg Magolan 2019-06-20 00:05:19 -07:00 committed by Kara Erickson
parent 72e4ff7591
commit ab27337612
2 changed files with 32 additions and 3 deletions

View File

@ -155,10 +155,30 @@ build:remote --bes_results_url="https://source.cloud.google.com/results/invocati
# This allows us to avoid installing a second copy of node_modules # This allows us to avoid installing a second copy of node_modules
common --experimental_allow_incremental_repository_updates common --experimental_allow_incremental_repository_updates
# This option is changed to true in Bazel 0.27 but exposes a known worker mode bug: # This option is changed to true in Bazel 0.27 and exposes a possible
# https://github.com/bazelbuild/rules_typescript/issues/449 # regression in Bazel 0.27.0.
# While we are fixing that issue, we need to keep this breaking change disabled # Error observed is in npm_package target `//packages/common/locales:package`:
# ```
# ERROR: /home/circleci/ng/packages/common/locales/BUILD.bazel:13:1: Assembling
# npm package packages/common/locales/package failed: No usable spawn strategy found
# for spawn with mnemonic SkylarkAction. Your --spawn_strategyor --strategy flags
# are probably too strict. Visit https://github.com/bazelbuild/bazel/issues/7480 for
# migration advises
# ```
# Suspect is https://github.com/bazelbuild/rules_nodejs/blob/master/internal/npm_package/npm_package.bzl#L75-L82:
# ```
# execution_requirements = {
# # Never schedule this action remotely because it's not computationally expensive.
# # It just copies files into a directory; it's not worth copying inputs and outputs to a remote worker.
# # Also don't run it in a sandbox, because it resolves an absolute path to the bazel-out directory
# # allowing the .pack and .publish runnables to work with no symlink_prefix
# # See https://github.com/bazelbuild/rules_nodejs/issues/187
# "local": "1",
# },
# ```
build --incompatible_list_based_execution_strategy_selection=false build --incompatible_list_based_execution_strategy_selection=false
test --incompatible_list_based_execution_strategy_selection=false
run --incompatible_list_based_execution_strategy_selection=false
#################################################### ####################################################
# User bazel configuration # User bazel configuration

View File

@ -20,3 +20,12 @@ build --symlink_prefix=/
# Turn on managed directories feature in Bazel # Turn on managed directories feature in Bazel
# This allows us to avoid installing a second copy of node_modules # This allows us to avoid installing a second copy of node_modules
common --experimental_allow_incremental_repository_updates common --experimental_allow_incremental_repository_updates
# This option is changed to true in Bazel 0.27 and exposes a possible
# regression in Bazel 0.27.0.
# See root /.bazelrc for more info. integration/bazel uses
# ng_package which depends on npm_package so this flag needs to be set
# her as well.
build --incompatible_list_based_execution_strategy_selection=false
test --incompatible_list_based_execution_strategy_selection=false
run --incompatible_list_based_execution_strategy_selection=false