@@ -116,7 +116,7 @@ func (c *Client) buildCommand(target *core.BuildTarget, inputRoot *pb.Directory,
116116 Arguments : []string {
117117 "fetch" , strings .Join (target .AllURLs (state ), " " ), "verify" , strings .Join (target .Hashes , " " ),
118118 },
119- EnvironmentVariables : c .buildEnv (target , map [string ]string {}, false ),
119+ EnvironmentVariables : c .buildEnv (target , map [string ]string {}, process . NoSandbox ),
120120 OutputPaths : outs ,
121121 }, nil
122122 }
@@ -128,7 +128,7 @@ func (c *Client) buildCommand(target *core.BuildTarget, inputRoot *pb.Directory,
128128 return & pb.Command {
129129 Platform : c .targetPlatformProperties (target ),
130130 Arguments : c .sandboxArgs (target .Sandbox , process .BashCommand (c .shellPath , commandPrefix + cmd , state .Config .Build .ExitOnError )),
131- EnvironmentVariables : c .buildEnv (target , c .stampedBuildEnvironment (state , target , inputRoot , stamp , isTest || isRun ), target .Sandbox ),
131+ EnvironmentVariables : c .buildEnv (target , c .stampedBuildEnvironment (state , target , inputRoot , stamp , isTest || isRun ), process . NewSandboxConfig ( target .Sandbox , target . Sandbox ) ),
132132 OutputPaths : outs ,
133133 }, err
134134}
@@ -168,7 +168,7 @@ func (c *Client) buildTestCommand(state *core.BuildState, target *core.BuildTarg
168168 },
169169 },
170170 Arguments : c .sandboxArgs (target .Test .Sandbox , process .BashCommand (c .shellPath , commandPrefix + cmd , state .Config .Build .ExitOnError )),
171- EnvironmentVariables : c .buildEnv (nil , core .TestEnvironment (state , target , "." , run ), target .Test .Sandbox ),
171+ EnvironmentVariables : c .buildEnv (nil , core .TestEnvironment (state , target , "." , run ), process . NewSandboxConfig ( target .Test .Sandbox , target . Test . Sandbox ) ),
172172 OutputPaths : paths ,
173173 }, err
174174}
@@ -182,7 +182,7 @@ func (c *Client) buildRunCommand(state *core.BuildState, target *core.BuildTarge
182182 return & pb.Command {
183183 Platform : c .platform ,
184184 Arguments : outs ,
185- EnvironmentVariables : c .buildEnv (target , core .GeneralBuildEnvironment (state ), false ),
185+ EnvironmentVariables : c .buildEnv (target , core .GeneralBuildEnvironment (state ), process . NoSandbox ),
186186 }, nil
187187}
188188
@@ -588,14 +588,20 @@ func (c *Client) sandboxArgs(sandbox bool, args []string) []string {
588588}
589589
590590// buildEnv translates the set of environment variables for this target to a proto.
591- func (c * Client ) buildEnv (target * core.BuildTarget , env core.BuildEnv , sandbox bool ) []* pb.Command_EnvironmentVariable {
592- if sandbox {
591+ func (c * Client ) buildEnv (target * core.BuildTarget , env core.BuildEnv , sandbox process. SandboxConfig ) []* pb.Command_EnvironmentVariable {
592+ if sandbox != process . NoSandbox {
593593 env ["SANDBOX" ] = "true"
594594 if c .state .Config .Sandbox .Tool != "" {
595- // Mirror what local execution sets so the sandbox tool sees the same interface.
596- // SHARE_NETWORK/SHARE_MOUNT=0 means "don't share" i.e. sandbox that namespace.
597- env ["SHARE_NETWORK" ] = "0"
598- env ["SHARE_MOUNT" ] = "0"
595+ shareNetwork := "1"
596+ if sandbox .Network {
597+ shareNetwork = "0"
598+ }
599+ shareMount := "1"
600+ if sandbox .Mount {
601+ shareMount = "0"
602+ }
603+ env ["SHARE_NETWORK" ] = shareNetwork
604+ env ["SHARE_MOUNT" ] = shareMount
599605 }
600606 }
601607 if target != nil && target .IsBinary {
0 commit comments