diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2025-02-13 10:53:51 +0100 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2025-02-13 11:09:04 +0100 |
commit | dd143d2ccf1d60ab4b2c077827db800269049393 (patch) | |
tree | dde8eca28a5ba93371485f3b4d253a1e85363c6c /CC | |
parent | ad329060e2ed31391284b303e4f25eb1e3679126 (diff) | |
download | rules-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.
Diffstat (limited to 'CC')
-rw-r--r-- | CC/foreign/cmake/EXPRESSIONS | 3 | ||||
-rw-r--r-- | CC/foreign/cmake/RULES | 8 | ||||
-rw-r--r-- | CC/foreign/make/EXPRESSIONS | 2 | ||||
-rw-r--r-- | CC/foreign/make/RULES | 8 | ||||
-rw-r--r-- | CC/foreign/shell/EXPRESSIONS | 3 | ||||
-rw-r--r-- | CC/foreign/shell/RULES | 8 |
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"] |