summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2025-02-13 10:53:51 +0100
committerKlaus Aehlig <klaus.aehlig@huawei.com>2025-02-13 11:09:04 +0100
commitdd143d2ccf1d60ab4b2c077827db800269049393 (patch)
treedde8eca28a5ba93371485f3b4d253a1e85363c6c
parentad329060e2ed31391284b303e4f25eb1e3679126 (diff)
downloadrules-cc-dd143d2ccf1d60ab4b2c077827db800269049393.tar.gz
foreign rules: support extra remote-execution properties
Those rules call a foreign build system in a single action. Obviously, those actions are quite different compared to normal build actions; at the very least, they require more time and resources and generally also spawn more than a single process. We already support scaling up the action time out. Now support also adding additional execution properties, so that they can be schedulded to dedicated workers or endpoints.
-rw-r--r--CC/foreign/cmake/EXPRESSIONS3
-rw-r--r--CC/foreign/cmake/RULES8
-rw-r--r--CC/foreign/make/EXPRESSIONS2
-rw-r--r--CC/foreign/make/RULES8
-rw-r--r--CC/foreign/shell/EXPRESSIONS3
-rw-r--r--CC/foreign/shell/RULES8
6 files changed, 32 insertions, 0 deletions
diff --git a/CC/foreign/cmake/EXPRESSIONS b/CC/foreign/cmake/EXPRESSIONS
index 807c88b..e0ceab2 100644
--- a/CC/foreign/cmake/EXPRESSIONS
+++ b/CC/foreign/cmake/EXPRESSIONS
@@ -25,6 +25,7 @@
, "defaults-transition"
, "expand_exec"
, "TIMEOUT_SCALE"
+ , "FOREIGN_EXECUTION_PROPERTIES"
, "resolve_symlinks"
]
, "imports":
@@ -475,6 +476,8 @@
, "env": {"type": "var", "name": "ENV"}
, "timeout scaling":
{"type": "var", "name": "TIMEOUT_SCALE", "default": 10.0}
+ , "execution properties":
+ {"type": "var", "name": "FOREIGN_EXECUTION_PROPERTIES"}
}
}
}
diff --git a/CC/foreign/cmake/RULES b/CC/foreign/cmake/RULES
index b7fd406..917b4af 100644
--- a/CC/foreign/cmake/RULES
+++ b/CC/foreign/cmake/RULES
@@ -35,6 +35,7 @@
, "AR"
, "BUILD_POSITION_INDEPENDENT"
, "TIMEOUT_SCALE"
+ , "FOREIGN_EXECUTION_PROPERTIES"
]
, "implicit":
{ "defaults": [["CC", "defaults"]]
@@ -153,6 +154,9 @@
[ "The scaling of the timeout for the invocation of the foreign build."
, "Defaults to 10."
]
+ , "FOREIGN_EXECUTION_PROPERTIES":
+ [ "A map with extra remote-execution properties to be added to the foreign build action."
+ ]
}
, "imports":
{ "stage_field": ["", "stage_singleton_field"]
@@ -340,6 +344,7 @@
, "AR"
, "BUILD_POSITION_INDEPENDENT"
, "TIMEOUT_SCALE"
+ , "FOREIGN_EXECUTION_PROPERTIES"
]
, "implicit":
{ "defaults": [["CC", "defaults"]]
@@ -498,6 +503,9 @@
[ "The scaling of the timeout for the invocation of the foreign build."
, "Defaults to 10."
]
+ , "FOREIGN_EXECUTION_PROPERTIES":
+ [ "A map with extra remote-execution properties to be added to the foreign build action."
+ ]
}
, "imports":
{ "stage_field": ["", "stage_singleton_field"]
diff --git a/CC/foreign/make/EXPRESSIONS b/CC/foreign/make/EXPRESSIONS
index 68aa728..57b0a94 100644
--- a/CC/foreign/make/EXPRESSIONS
+++ b/CC/foreign/make/EXPRESSIONS
@@ -437,6 +437,8 @@
, "env": {"type": "var", "name": "ENV"}
, "timeout scaling":
{"type": "var", "name": "TIMEOUT_SCALE", "default": 10.0}
+ , "execution properties":
+ {"type": "var", "name": "FOREIGN_EXECUTION_PROPERTIES"}
}
}
}
diff --git a/CC/foreign/make/RULES b/CC/foreign/make/RULES
index cf67998..771a058 100644
--- a/CC/foreign/make/RULES
+++ b/CC/foreign/make/RULES
@@ -38,6 +38,7 @@
, "PREFIX"
, "BUILD_POSITION_INDEPENDENT"
, "TIMEOUT_SCALE"
+ , "FOREIGN_EXECUTION_PROPERTIES"
]
, "implicit":
{ "defaults": [["CC", "defaults"]]
@@ -169,6 +170,9 @@
[ "The scaling of the timeout for the invocation of the foreign build."
, "Defaults to 10."
]
+ , "FOREIGN_EXECUTION_PROPERTIES":
+ [ "A map with extra remote-execution properties to be added to the foreign build action."
+ ]
}
, "imports":
{ "stage_field": ["", "stage_singleton_field"]
@@ -360,6 +364,7 @@
, "PREFIX"
, "BUILD_POSITION_INDEPENDENT"
, "TIMEOUT_SCALE"
+ , "FOREIGN_EXECUTION_PROPERTIES"
]
, "implicit":
{ "defaults": [["CC", "defaults"]]
@@ -528,6 +533,9 @@
[ "The scaling of the timeout for the invocation of the foreign build."
, "Defaults to 10."
]
+ , "FOREIGN_EXECUTION_PROPERTIES":
+ [ "A map with extra remote-execution properties to be added to the foreign build action."
+ ]
}
, "imports":
{ "stage_field": ["", "stage_singleton_field"]
diff --git a/CC/foreign/shell/EXPRESSIONS b/CC/foreign/shell/EXPRESSIONS
index a37d315..7ca2741 100644
--- a/CC/foreign/shell/EXPRESSIONS
+++ b/CC/foreign/shell/EXPRESSIONS
@@ -18,6 +18,7 @@
, "PREFIX"
, "BUILD_POSITION_INDEPENDENT"
, "TIMEOUT_SCALE"
+ , "FOREIGN_EXECUTION_PROPERTIES"
, "resolve_symlinks"
]
, "imports":
@@ -351,6 +352,8 @@
, "env": {"type": "var", "name": "ENV"}
, "timeout scaling":
{"type": "var", "name": "TIMEOUT_SCALE", "default": 10.0}
+ , "execution properties":
+ {"type": "var", "name": "FOREIGN_EXECUTION_PROPERTIES"}
}
]
]
diff --git a/CC/foreign/shell/RULES b/CC/foreign/shell/RULES
index 255a715..182e46a 100644
--- a/CC/foreign/shell/RULES
+++ b/CC/foreign/shell/RULES
@@ -25,6 +25,7 @@
, "PREFIX"
, "BUILD_POSITION_INDEPENDENT"
, "TIMEOUT_SCALE"
+ , "FOREIGN_EXECUTION_PROPERTIES"
]
, "implicit":
{ "defaults": [["CC", "defaults"]]
@@ -113,6 +114,9 @@
[ "The scaling of the timeout for the invocation of the foreign build."
, "Defaults to 10."
]
+ , "FOREIGN_EXECUTION_PROPERTIES":
+ [ "A map with extra remote-execution properties to be added to the foreign build action."
+ ]
}
, "imports":
{ "artifacts": ["", "field_artifacts"]
@@ -254,6 +258,7 @@
, "PREFIX"
, "BUILD_POSITION_INDEPENDENT"
, "TIMEOUT_SCALE"
+ , "FOREIGN_EXECUTION_PROPERTIES"
]
, "implicit":
{ "defaults": [["CC", "defaults"]]
@@ -395,6 +400,9 @@
[ "The scaling of the timeout for the invocation of the foreign build."
, "Defaults to 10."
]
+ , "FOREIGN_EXECUTION_PROPERTIES":
+ [ "A map with extra remote-execution properties to be added to the foreign build action."
+ ]
}
, "imports":
{ "artifacts": ["", "field_artifacts"]