summaryrefslogtreecommitdiff
path: root/src/buildtool/main/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/main/main.cpp')
-rw-r--r--src/buildtool/main/main.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp
index 6fd8dded..4f874da0 100644
--- a/src/buildtool/main/main.cpp
+++ b/src/buildtool/main/main.cpp
@@ -134,7 +134,9 @@ void SetupExecutionConfig(EndpointArguments const& eargs,
}
}
-void SetupServeConfig(ServeArguments const& srvargs) {
+void SetupServeConfig(ServeArguments const& srvargs,
+ CommonArguments const& cargs,
+ BuildArguments const& bargs) {
if (srvargs.remote_serve_address) {
if (not RemoteServeConfig::SetRemoteAddress(
*srvargs.remote_serve_address)) {
@@ -165,6 +167,20 @@ void SetupServeConfig(ServeArguments const& srvargs) {
"Setting serve service repositories failed.");
std::exit(kExitFailure);
}
+ // make parallelism and build options available for remote builds
+ if (not RemoteServeConfig::SetJobs(cargs.jobs)) {
+ Logger::Log(LogLevel::Error, "Setting jobs failed.");
+ std::exit(kExitFailure);
+ }
+ if (bargs.build_jobs > 0 and
+ not RemoteServeConfig::SetBuildJobs(bargs.build_jobs)) {
+ Logger::Log(LogLevel::Error, "Setting build jobs failed.");
+ std::exit(kExitFailure);
+ }
+ if (not RemoteServeConfig::SetActionTimeout(bargs.timeout)) {
+ Logger::Log(LogLevel::Error, "Setting action timeout failed.");
+ std::exit(kExitFailure);
+ }
}
void SetupAuthConfig(CommonAuthArguments const& authargs,
@@ -814,7 +830,7 @@ auto main(int argc, char* argv[]) -> int {
SetupHashFunction();
SetupExecutionConfig(
arguments.endpoint, arguments.build, arguments.rebuild);
- SetupServeConfig(arguments.serve);
+ SetupServeConfig(arguments.serve, arguments.common, arguments.build);
SetupAuthConfig(arguments.auth, arguments.cauth, arguments.sauth);
if (arguments.cmd == SubCommand::kGc) {