Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e404e05 authored by Anas Sulaiman's avatar Anas Sulaiman Committed by Automerger Merge Worker
Browse files

Merge "support toggling compare mode for rbe actions" into main am: f76b3267

parents 83c8da5f f76b3267
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ import (
	"path/filepath"
	"regexp"
	"sort"
	"strconv"
	"strings"

	"github.com/google/blueprint/proptools"
@@ -497,6 +498,7 @@ func metalavaCmd(ctx android.ModuleContext, rule *android.RuleBuilder, javaVersi
	if metalavaUseRbe(ctx) {
		rule.Remoteable(android.RemoteRuleSupports{RBE: true})
		execStrategy := ctx.Config().GetenvWithDefault("RBE_METALAVA_EXEC_STRATEGY", remoteexec.LocalExecStrategy)
		compare, _ := strconv.ParseBool(ctx.Config().GetenvWithDefault("RBE_METALAVA_COMPARE", "false"))
		labels := map[string]string{"type": "tool", "name": "metalava"}
		// TODO: metalava pool rejects these jobs
		pool := ctx.Config().GetenvWithDefault("RBE_METALAVA_POOL", "java16")
@@ -505,6 +507,9 @@ func metalavaCmd(ctx android.ModuleContext, rule *android.RuleBuilder, javaVersi
			ExecStrategy:    execStrategy,
			ToolchainInputs: []string{config.JavaCmd(ctx).String()},
			Platform:        map[string]string{remoteexec.PoolKey: pool},
			Compare:         compare,
			NumLocalRuns:    1,
			NumRemoteRuns:   1,
		})
	}

+11 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
package remoteexec

import (
	"fmt"
	"sort"
	"strings"
)
@@ -84,6 +85,12 @@ type REParams struct {
	// EnvironmentVariables is a list of environment variables whose values should be passed through
	// to the remote execution.
	EnvironmentVariables []string
	// Boolean indicating whether to compare chosen exec strategy with local execution.
	Compare bool
	// Number of times the action should be rerun locally.
	NumLocalRuns int
	// Number of times the action should be rerun remotely.
	NumRemoteRuns int
}

func init() {
@@ -135,6 +142,10 @@ func (r *REParams) wrapperArgs() string {
	}
	args += " --exec_strategy=" + strategy

	if r.Compare && r.NumLocalRuns >= 0 && r.NumRemoteRuns >= 0 {
		args += fmt.Sprintf(" --compare=true --num_local_reruns=%d --num_remote_reruns=%d", r.NumLocalRuns, r.NumRemoteRuns)
	}

	if len(r.Inputs) > 0 {
		args += " --inputs=" + strings.Join(r.Inputs, ",")
	}