summaryrefslogtreecommitdiff
path: root/CC
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 /CC
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.
Diffstat (limited to 'CC')
-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"]