Commit Graph

10 Commits

Author SHA1 Message Date
Craig Tiller b0cf42d86e [clang-format] Remove requirement that port_platform.h is at the top (#36281)
Closes #36281

PiperOrigin-RevId: 623176865
2024-04-09 08:58:34 -07:00
Craig Tiller 399fded213 Reapply "[experiments] Explicit requirement check" (#34911) (#34915)
This reverts commit b0e0659bab.

Closes #34915

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/34915 from ctiller:requires2 8e4f033317
PiperOrigin-RevId: 583110606
2023-11-16 11:35:25 -08:00
Alisha Nanda b0e0659bab
Revert "[experiments] Explicit requirement check" (#34911)
Reverts grpc/grpc#34880, needs to be cherry-picked in.
2023-11-09 11:23:58 -08:00
Craig Tiller 88011e05f5
[experiments] Explicit requirement check (#34880)
Add a config to experiments & rollouts to allow dependent experiments to
be flagged.

We're getting past the point where it's possible to reason about which
experiments need to be turned off if we disable some other experiment,
and so this provides some additional rollout safety.

Can be specified in both experiments and rollouts: experiments.yaml
makes the most sense and we should default to it, but rollouts.yaml lets
us put dependencies between internal & external dependencies internally
and that's gonna be a little useful.

---------

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-11-08 16:05:03 -08:00
Yijie Ma bae0c705aa
[Deps] Update to Clang-16 (#34492)
<!--

If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the
appropriate
lang label.

-->
2023-10-11 16:26:32 -07:00
Craig Tiller c0155b4188
[experiments] Make codegen more merge friendly (#34393)
Remove the explicit numbering that's hostile to source code merge tools.
2023-09-18 14:54:41 -07:00
Vignesh Babu f4f3a907f3
[import] Fix missing dependency in experiments_tag_test (#33827) 2023-07-24 10:26:45 -07:00
Vignesh Babu f85b7c79ee
[experiments] Fix processing of platform specific test tags (#33749)
Also adds a unit test: experiments_tag_test which should fail if the
appropriate tags are not set for it.
2023-07-21 16:06:01 -07:00
Vignesh Babu 63037989ca
[experiments] Add specification of different default values for different platforms. (#33543)
It introduces the following syntax:

The following would mark the experiment as broken on ios, false on
windows and debug on posix. If a platform is un-specified, the default
for that platform will be set to false. Refer to
test/core/experiments/fixtures/test_experiments_rollout.yaml for
examples which are tested.

- name: experiment_1
   default:
      &nbsp; ios: broken
      &nbsp; windows: false
      &nbsp; posix: debug
      
It also supports the already existing syntax and interprets it as just
specifying one default for all platforms.
    
Supported platform tags: ios, windows, posix
2023-07-05 10:36:37 -07:00
Vignesh Babu bf3ffcf600
[experiments] A unit test for the experiments framework (#33334)
Adds a test for the experiments codegen. It updates the codegen to parse
test_experiments.yaml and test_experiments_rollouts.yaml files and
generate test_experiments.h and test_experiments.cc files along with an
experiments_test.cc file. The experiments test verifies the returned
value of IsExperimentEnabled with the expected value.
2023-06-29 12:21:11 -07:00