Propagate all experimental options to the exec configuration
Experimental flags that don't propagate to the exec configuration can create very surprising failure cases for both Bazel users and devs. Unless there is a valid reason to not propagate them, they should be.
This is now enforced by a test and existing flags have been cleaned up where possible. The test strategy is the same as for incompatible_ flags.
This is motivated by https://github.com/bazelbuild/bazel/pull/23328, in which a number of tests based on genrule I added failed open due to an experimental flag not propagating to the exec configuration.
@lberki Could you review this as Bazel's "Chief Flag Officer"? :-) @aranguyen for configurability
@lberki Friendly ping
Uh, sorry. I'll defer to @gregestren here. This seems like a good idea on the surface. You also probably want to give --incompatible_* the same treatment.
I added a test for incompatible tests about a year ago, but back then I wasn't sure whether experimental flags should be treated in the same way.
Do we need re-review?
Do we need re-review?
Sorry, clicked the button accidentally while going over my pending PRs.
Just a heads up, this is being rolled back, it breaks things internally. But the number of breakages are very small, so it's probably safe to keep for Bazel.
This is still locked in for Bazel 8, right?
I'll look at getting it rolled forward again at head. Yes, the # of breakages is small. And they're almost certainly due to properties of the Google depot which don't generalize to Bazel, so there's no reason to block this outside that specific depot.
As it turns out, rolling back does not help as it was a bad interaction with https://github.com/bazelbuild/bazel/commit/78971a932bae9d788014df9b6235fb8242b59a77
Rolling it forward, sorry for the noise.