Conversation
lcpz
requested review from
RoboticPrism,
d0n601 and
d3sch41n
as code owners
September 17, 2026 15:17
|
@lcpz has exported this pull request. If you are a Meta employee, you can view the originating Diff in D120420789. |
Coverage Report for CI Build 36721906150Warning No base build found for commit Coverage: 53.163%Details
Uncovered Changes
Coverage RegressionsRequires a base build to compare against. How to fix this → Coverage Stats
💛 - Coveralls |
meta-codesync Bot
pushed a commit
that referenced
this pull request
Sep 17, 2026
Summary: ## Context Remote commands do not inherit the runner's environment. Callers need a way to explicitly select variables to pass to those commands without editing each TTP. ## This Diff - Add repeatable `--forward-env NAME` and comma-separated `TTPFORGE_FORWARD_ENV` support for remote `inline:` and `file:` commands. - Trim, merge, and deduplicate names from both sources. Skip unset variables and preserve values that are set but empty. - Apply forwarded values before TTP-level and step-level `env`, so explicit TTP and step values take precedence. - Document both forms and the precedence order in the remote execution guide and schema reference. - Add a CLI integration test using an authenticated loopback SSH server, covering all three precedence levels for inline and file commands. Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 17, 2026 15:22
ec4f095 to
1126b3e
Compare
meta-codesync Bot
pushed a commit
that referenced
this pull request
Sep 17, 2026
Summary: ## Context Remote commands do not inherit the runner's environment. Callers need a way to explicitly select variables to pass to those commands without editing each TTP. ## This Diff - Add repeatable `--forward-env NAME` and comma-separated `TTPFORGE_FORWARD_ENV` support for remote `inline:` and `file:` commands. - Trim, merge, and deduplicate names from both sources. Skip unset variables and preserve values that are set but empty. - Apply forwarded values before TTP-level and step-level `env`, so explicit TTP and step values take precedence. - Document both forms and the precedence order in the remote execution guide and schema reference. - Add a CLI integration test using an authenticated loopback SSH server, covering all three precedence levels for inline and file commands. - Require Go 1.26 for existing language features, select toolchain Go 1.26.5, and have the GitHub pre-commit workflow read its version from `go.mod`. Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 17, 2026 16:03
1126b3e to
b8cc81a
Compare
meta-codesync Bot
pushed a commit
that referenced
this pull request
Sep 17, 2026
Summary: ## Context Remote commands do not inherit the runner's environment. Callers need a way to explicitly select variables to pass to those commands without editing each TTP. ## This Diff - Add repeatable `--forward-env NAME` and comma-separated `TTPFORGE_FORWARD_ENV` support for remote `inline:` and `file:` commands. - Trim, merge, and deduplicate names from both sources. Skip unset variables and preserve values that are set but empty. - Apply forwarded values before TTP-level and step-level `env`, so explicit TTP and step values take precedence. - Document both forms and the precedence order in the remote execution guide and schema reference. - Add a CLI integration test using an authenticated loopback SSH server, covering all three precedence levels for inline and file commands. - Require Go 1.26 for existing language features, select toolchain Go 1.26.5, and have the GitHub pre-commit workflow read its version from `go.mod`. - Pass forwarded runner values literally; expand `$forge.` references only in TTP-level and step-level `env`. - Extend SSH integration coverage for literal forwarding and expansion, and isolate helper tests from ambient forwarding settings. Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 17, 2026 16:50
b8cc81a to
cee6b83
Compare
meta-codesync Bot
pushed a commit
that referenced
this pull request
Sep 17, 2026
Summary:
## Context
- Remote commands do not inherit the runner's environment. Callers need to explicitly forward selected values, such as run identifiers, to preserve execution context across SSH without editing each TTP.
- Preparing this change for public release also includes fixing the Go version mismatch exposed by GitHub CI. `go vet` failed on the existing `new("baz")` expression in `pkg/args/choices_test.go`, which requires Go 1.26, while the module selected Go 1.25.5. Updating Go and deriving the pre-commit version from `go.mod` are deliberate fixes for that public CI failure.
## This Diff
- Add repeatable `--forward-env NAME` and comma-separated `TTPFORGE_FORWARD_ENV` support for remote `inline:` and `file:` commands.
- Trim, merge, and deduplicate names from both sources. Require nonempty names to match `[A-Za-z_][A-Za-z0-9_]*`; fail the remote step before command dispatch on an invalid name, even if unset. Skip valid unset variables and preserve values that are set but empty.
- Preserve forwarded values literally, including `$forge.` references. Expand TTP-level and step-level `env` values and apply forwarded < TTP < step precedence.
- Document both forwarding forms, name validation, literal-value handling, and precedence in the remote execution guide and schema reference.
- Cover precedence, literal forwarding, and continued TTP/step expansion with 14 authenticated loopback SSH integration cases. Isolate helper tests from ambient forwarding settings.
- Add 24 invalid-name helper cases and 12 executor rejection cases covering both forwarding sources and POSIX, PowerShell, and cmd executor configurations. Verify no command reaches the backend on invalid input.
- Set the module minimum to Go 1.26.0 and select toolchain Go 1.26.5 to support the language features already used by the codebase.
- Have the GitHub pre-commit workflow read its Go version from `go.mod`, keeping public validation aligned with the declared toolchain.
Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 17, 2026 21:55
cee6b83 to
d20bf1a
Compare
meta-codesync Bot
pushed a commit
that referenced
this pull request
Sep 19, 2026
Summary:
## Context
- Remote commands do not inherit the runner's environment. Callers need to explicitly forward selected values, such as run identifiers, to preserve execution context across SSH without editing each TTP.
- Preparing this change for public release also includes fixing the Go version mismatch exposed by GitHub CI. `go vet` failed on the existing `new("baz")` expression in `pkg/args/choices_test.go`, which requires Go 1.26, while the module selected Go 1.25.5. Updating Go and deriving the pre-commit version from `go.mod` are deliberate fixes for that public CI failure.
## This Diff
- Add repeatable `--forward-env NAME` and comma-separated `TTPFORGE_FORWARD_ENV` support for remote `inline:` and `file:` commands.
- Trim, merge, and deduplicate names from both sources. Require nonempty names to match `[A-Za-z_][A-Za-z0-9_]*`; fail the remote step before command dispatch on an invalid name, even if unset. Skip valid unset variables and preserve values that are set but empty.
- Preserve forwarded values literally, including `$forge.` references. Expand TTP-level and step-level `env` values and apply forwarded < TTP < step precedence.
- Document both forwarding forms, name validation, literal-value handling, and precedence in the remote execution guide and schema reference.
- Cover precedence, literal forwarding, and continued TTP/step expansion with 14 authenticated loopback SSH integration cases. Isolate helper tests from ambient forwarding settings.
- Add 24 invalid-name helper cases and 12 executor rejection cases covering both forwarding sources and POSIX, PowerShell, and cmd executor configurations. Verify no command reaches the backend on invalid input.
- Set the module minimum to Go 1.26.0 and select toolchain Go 1.26.5 to support the language features already used by the codebase.
- Have the GitHub pre-commit workflow read its Go version from `go.mod`, keeping public validation aligned with the declared toolchain.
Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 19, 2026 15:59
d20bf1a to
74442f7
Compare
meta-codesync Bot
pushed a commit
that referenced
this pull request
Sep 19, 2026
Summary: Pull Request resolved: #643 ## Context - Remote commands do not inherit the runner's environment. Callers need to explicitly forward selected values, such as run identifiers, to preserve execution context across SSH without editing each TTP. - Preparing this change for public release also includes fixing the Go version mismatch exposed by GitHub CI. `go vet` failed on the existing `new("baz")` expression in `pkg/args/choices_test.go`, which requires Go 1.26, while the module selected Go 1.25.5. Updating Go and deriving the pre-commit version from `go.mod` are deliberate fixes for that public CI failure. ## This Diff - Add repeatable `--forward-env NAME` and comma-separated `TTPFORGE_FORWARD_ENV` support for remote `inline:` and `file:` commands. - Trim, merge, and deduplicate names from both sources. Require nonempty names to match `[A-Za-z_][A-Za-z0-9_]*`; fail the remote step before command dispatch on an invalid name, even if unset. Skip valid unset variables and preserve values that are set but empty. - Preserve forwarded values literally, including `$forge.` references. Expand TTP-level and step-level `env` values and apply forwarded < TTP < step precedence. - Document both forwarding forms, name validation, literal-value handling, and precedence in the remote execution guide and schema reference. - Cover precedence, literal forwarding, and continued TTP/step expansion with 14 authenticated loopback SSH integration cases. Isolate helper tests from ambient forwarding settings. - Add 24 invalid-name helper cases and 12 executor rejection cases covering both forwarding sources and POSIX, PowerShell, and cmd executor configurations. Verify no command reaches the backend on invalid input. - Set the module minimum to Go 1.26.0 and select toolchain Go 1.26.5 to support the language features already used by the codebase. - Have the GitHub pre-commit workflow read its Go version from `go.mod`, keeping public validation aligned with the declared toolchain. Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 19, 2026 16:01
74442f7 to
30e2576
Compare
meta-codesync Bot
pushed a commit
that referenced
this pull request
Sep 22, 2026
Summary:
## Context
- Remote commands do not inherit the runner's environment. Callers need to explicitly forward selected values, such as run identifiers, to preserve execution context across SSH without editing each TTP.
- Preparing this change for public release also includes fixing the Go version mismatch exposed by GitHub CI. `go vet` failed on the existing `new("baz")` expression in `pkg/args/choices_test.go`, which requires Go 1.26, while the module selected Go 1.25.5. Updating Go and deriving the pre-commit version from `go.mod` are deliberate fixes for that public CI failure.
## This Diff
- Add repeatable `--forward-env NAME` and comma-separated `TTPFORGE_FORWARD_ENV` support for remote `inline:` and `file:` commands.
- Trim, merge, and deduplicate names from both sources. Require nonempty names to match `[A-Za-z_][A-Za-z0-9_]*`; fail the remote step before command dispatch on an invalid name, even if unset. Skip valid unset variables and preserve values that are set but empty.
- Preserve forwarded values literally, including `$forge.` references. Expand TTP-level and step-level `env` values and apply forwarded < TTP < step precedence.
- Document both forwarding forms, name validation, literal-value handling, and precedence in the remote execution guide and schema reference.
- Cover precedence, literal forwarding, and continued TTP/step expansion with 14 authenticated loopback SSH integration cases. Isolate helper tests from ambient forwarding settings.
- Add 24 invalid-name helper cases and 12 executor rejection cases covering both forwarding sources and POSIX, PowerShell, and cmd executor configurations. Verify no command reaches the backend on invalid input.
- Set the module minimum to Go 1.26.0 and select toolchain Go 1.26.5 to support the language features already used by the codebase.
- Have the GitHub pre-commit workflow read its Go version from `go.mod`, keeping public validation aligned with the declared toolchain.
Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 22, 2026 17:49
30e2576 to
62d3b09
Compare
meta-codesync Bot
pushed a commit
that referenced
this pull request
Sep 22, 2026
Summary: Pull Request resolved: #643 ## Context - Remote commands do not inherit the runner's environment. Callers need to explicitly forward selected values, such as run identifiers, to preserve execution context across SSH without editing each TTP. - Preparing this change for public release also includes fixing the Go version mismatch exposed by GitHub CI. `go vet` failed on the existing `new("baz")` expression in `pkg/args/choices_test.go`, which requires Go 1.26, while the module selected Go 1.25.5. Updating Go and deriving the pre-commit version from `go.mod` are deliberate fixes for that public CI failure. ## This Diff - Add repeatable `--forward-env NAME` and comma-separated `TTPFORGE_FORWARD_ENV` support for remote `inline:` and `file:` commands. - Trim, merge, and deduplicate names from both sources. Require nonempty names to match `[A-Za-z_][A-Za-z0-9_]*`; fail the remote step before command dispatch on an invalid name, even if unset. Skip valid unset variables and preserve values that are set but empty. - Preserve forwarded values literally, including `$forge.` references. Expand TTP-level and step-level `env` values and apply forwarded < TTP < step precedence. - Document both forwarding forms, name validation, literal-value handling, and precedence in the remote execution guide and schema reference. - Cover precedence, literal forwarding, and continued TTP/step expansion with 14 authenticated loopback SSH integration cases. Isolate helper tests from ambient forwarding settings. - Add 24 invalid-name helper cases and 12 executor rejection cases covering both forwarding sources and POSIX, PowerShell, and cmd executor configurations. Verify no command reaches the backend on invalid input. - Set the module minimum to Go 1.26.0 and select toolchain Go 1.26.5 to support the language features already used by the codebase. - Have the GitHub pre-commit workflow read its Go version from `go.mod`, keeping public validation aligned with the declared toolchain. Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 22, 2026 17:53
62d3b09 to
c36f4b1
Compare
meta-codesync Bot
pushed a commit
that referenced
this pull request
Sep 22, 2026
Summary: Pull Request resolved: #643 ## Context - Remote commands do not inherit the runner's environment. Callers need to explicitly forward selected values, such as run identifiers, to preserve execution context across SSH without editing each TTP. - Preparing this change for public release also includes fixing the Go version mismatch exposed by GitHub CI. `go vet` failed on the existing `new("baz")` expression in `pkg/args/choices_test.go`, which requires Go 1.26, while the module selected Go 1.25.5. Updating Go and deriving the pre-commit version from `go.mod` are deliberate fixes for that public CI failure. ## This Diff - Add repeatable `--forward-env NAME` and comma-separated `TTPFORGE_FORWARD_ENV` support for remote `inline:` and `file:` commands. - Trim, merge, and deduplicate names from both sources. Require nonempty names to match `[A-Za-z_][A-Za-z0-9_]*`; fail the remote step before command dispatch on an invalid name, even if unset. Skip valid unset variables and preserve values that are set but empty. - Preserve forwarded values literally, including `$forge.` references. Expand TTP-level and step-level `env` values and apply forwarded < TTP < step precedence. - Document both forwarding forms, name validation, literal-value handling, and precedence in the remote execution guide and schema reference. - Cover precedence, literal forwarding, and continued TTP/step expansion with 14 authenticated loopback SSH integration cases. Isolate helper tests from ambient forwarding settings. - Add 24 invalid-name helper cases and 12 executor rejection cases covering both forwarding sources and POSIX, PowerShell, and cmd executor configurations. Verify no command reaches the backend on invalid input. - Set the module minimum to Go 1.26.0 and select toolchain Go 1.26.5 to support the language features already used by the codebase. - Have the GitHub pre-commit workflow read its Go version from `go.mod`, keeping public validation aligned with the declared toolchain. Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 22, 2026 17:55
c36f4b1 to
2f34f60
Compare
meta-codesync Bot
pushed a commit
that referenced
this pull request
Sep 29, 2026
Summary:
## Context
- Remote commands do not inherit the runner's environment. Callers need to forward selected values, such as run identifiers, across SSH without editing each TTP.
- Forwarding is requested through a CLI flag so an older binary rejects unsupported usage before executing the TTP.
- GitHub CI exposed an existing Go version mismatch: `new("baz")` in `pkg/args/choices_test.go` requires Go 1.26, while the module selected Go 1.25.5.
## This Diff
- Add repeatable `--forward-env NAME` for remote `inline:` and `file:` commands.
- Trim and deduplicate names in argument order. Require nonempty names to match `[A-Za-z_][A-Za-z0-9_]*`; reject invalid names before remote command dispatch, even if unset. Skip unset variables and preserve set-but-empty values.
- Pass forwarded values literally, including `$forge.` references. Continue expanding TTP-level and step-level `env`, with forwarded < TTP < step precedence.
- Document the CLI interface, version requirement, validation, and precedence in the remote execution guide and schema reference.
- Cover forwarding and precedence with 14 authenticated loopback SSH cases, 12 invalid-name helper cases, and 6 executor rejection cases across POSIX, PowerShell, and cmd configurations.
- Set the module minimum to Go 1.26.0 and select Go 1.26.5. Have GitHub pre-commit derive its Go version from `go.mod`.
Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 29, 2026 16:39
2f34f60 to
2abf3bf
Compare
meta-codesync Bot
pushed a commit
that referenced
this pull request
Sep 29, 2026
Summary:
## Context
- Remote commands do not inherit the runner's environment. Callers need to forward selected values, such as run identifiers, across SSH without editing each TTP.
- Forwarding is requested through a CLI flag so an older binary rejects unsupported usage before executing the TTP.
- GitHub CI exposed an existing Go version mismatch: `new("baz")` in `pkg/args/choices_test.go` requires Go 1.26, while the module selected Go 1.25.5.
## This Diff
- Add repeatable `--forward-env NAME` for remote `inline:` and `file:` commands.
- Trim and deduplicate names in argument order. Require nonempty names to match `[A-Za-z_][A-Za-z0-9_]*`; reject invalid names before remote command dispatch, even if unset. Skip unset variables and preserve set-but-empty values.
- Pass forwarded values literally, including `$forge.` references. Continue expanding TTP-level and step-level `env`, with forwarded < TTP < step precedence.
- Document the CLI interface, version requirement, validation, and precedence in the remote execution guide and schema reference.
- Cover forwarding and precedence with 14 authenticated loopback SSH cases, 12 invalid-name helper cases, and 6 executor rejection cases across POSIX, PowerShell, and cmd configurations.
- Set the module minimum to Go 1.26.0 and select Go 1.26.5. Have GitHub pre-commit derive its Go version from `go.mod`.
Reviewed By: d0n601
Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 29, 2026 17:05
2abf3bf to
4a4c648
Compare
meta-codesync Bot
pushed a commit
that referenced
this pull request
Sep 29, 2026
Summary: Pull Request resolved: #643 ## Context - Remote commands do not inherit the runner's environment. Callers need to forward selected values, such as run identifiers, across SSH without editing each TTP. - Forwarding is requested through a CLI flag so an older binary rejects unsupported usage before executing the TTP. - GitHub CI exposed an existing Go version mismatch: `new("baz")` in `pkg/args/choices_test.go` requires Go 1.26, while the module selected Go 1.25.5. ## This Diff - Add repeatable `--forward-env NAME` for remote `inline:` and `file:` commands. - Trim and deduplicate names in argument order. Require nonempty names to match `[A-Za-z_][A-Za-z0-9_]*`; reject invalid names before remote command dispatch, even if unset. Skip unset variables and preserve set-but-empty values. - Pass forwarded values literally, including `$forge.` references. Continue expanding TTP-level and step-level `env`, with forwarded < TTP < step precedence. - Document the CLI interface, version requirement, validation, and precedence in the remote execution guide and schema reference. - Cover forwarding and precedence with 14 authenticated loopback SSH cases, 12 invalid-name helper cases, and 6 executor rejection cases across POSIX, PowerShell, and cmd configurations. - Set the module minimum to Go 1.26.0 and select Go 1.26.5. Have GitHub pre-commit derive its Go version from `go.mod`. Reviewed By: d0n601 Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 29, 2026 17:11
4a4c648 to
47ef633
Compare
meta-codesync Bot
pushed a commit
that referenced
this pull request
Sep 29, 2026
Summary:
## Context
- Remote commands do not inherit the runner's environment. Callers need to forward selected values, such as run identifiers, across SSH without editing each TTP.
- Forwarding is requested through a CLI flag so an older binary rejects unsupported usage before executing the TTP.
- GitHub CI exposed an existing Go version mismatch: `new("baz")` in `pkg/args/choices_test.go` requires Go 1.26, while the module selected Go 1.25.5.
## This Diff
- Add repeatable `--forward-env NAME` for remote `inline:` and `file:` commands.
- Trim and deduplicate names in argument order. Require nonempty names to match `[A-Za-z_][A-Za-z0-9_]*`; reject invalid names before remote command dispatch, even if unset. Skip unset variables; retain set-but-empty values on supported remote shells.
- Pass forwarded values literally, including `$forge.` references. Continue expanding TTP-level and step-level `env`, with forwarded < TTP < step precedence.
- Document the CLI interface, version requirement, validation, and precedence in the remote execution guide and schema reference.
- Cover forwarding and precedence with 14 authenticated loopback SSH cases, 12 invalid-name helper cases, and 6 executor rejection cases across POSIX, PowerShell, and cmd configurations.
- Set the module minimum to Go 1.26.0 and select Go 1.26.5. Have GitHub pre-commit derive its Go version from `go.mod`.
- Validate forwarded, TTP-level, and step-level environment names on every SSH shell backend before opening a command session.
- Quote `cmd.exe` environment assignments so operators and trailing spaces remain literal. Reject values that cmd cannot safely preserve (empty strings, double quotes, `%`, `!`, and ASCII controls); errors omit values.
Reviewed By: d0n601
Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 29, 2026 22:31
47ef633 to
28cd497
Compare
Summary:
## Context
- Remote commands do not inherit the runner's environment. Callers need to forward selected values, such as run identifiers, across SSH without editing each TTP.
- Forwarding is requested through a CLI flag so an older binary rejects unsupported usage before executing the TTP.
- GitHub CI exposed an existing Go version mismatch: `new("baz")` in `pkg/args/choices_test.go` requires Go 1.26, while the module selected Go 1.25.5.
## This Diff
- Add repeatable `--forward-env NAME` for remote `inline:` and `file:` commands.
- Trim and deduplicate names in argument order. Require nonempty names to match `[A-Za-z_][A-Za-z0-9_]*`; reject invalid names before remote command dispatch, even if unset. Skip unset variables and preserve set-but-empty values.
- Pass forwarded values literally, including `$forge.` references. Continue expanding TTP-level and step-level `env`, with forwarded < TTP < step precedence.
- Document the CLI interface, version requirement, validation, and precedence in the remote execution guide and schema reference.
- Cover forwarding and precedence with 14 authenticated loopback SSH cases, 12 invalid-name helper cases, and 6 executor rejection cases across POSIX, PowerShell, and cmd configurations.
- Set the module minimum to Go 1.26.0 and select Go 1.26.5. Have GitHub pre-commit derive its Go version from `go.mod`.
Reviewed By: andreizharinov, d0n601
Differential Revision: D120420789
meta-codesync
Bot
force-pushed
the
export-D120420789
branch
from
September 30, 2026 13:28
28cd497 to
e73b973
Compare
|
This pull request has been merged in 508f915. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
Context
new("baz")inpkg/args/choices_test.gorequires Go 1.26, while the module selected Go 1.25.5.This Diff
--forward-env NAMEfor remoteinline:andfile:commands.[A-Za-z_][A-Za-z0-9_]*; reject invalid names before remote command dispatch, even if unset. Skip unset variables and preserve set-but-empty values.$forge.references. Continue expanding TTP-level and step-levelenv, with forwarded < TTP < step precedence.go.mod.Reviewed By: andreizharinov, d0n601
Differential Revision: D120420789