Fix pre-processing.
The preprocess method was only returning json properties and ignoring
all the others.
Bug: https://github.com/flutter/flutter/issues/115489
Change-Id: I064a55ceda7c35e827b4eb9332962f01903b3e86
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/36860
Reviewed-by: Yusuf Mohsinally <mohsinally@google.com>
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
diff --git a/infra/config/recipes.cfg b/infra/config/recipes.cfg
index f5b9fa9..159593a 100644
--- a/infra/config/recipes.cfg
+++ b/infra/config/recipes.cfg
@@ -28,7 +28,7 @@
},
"fuchsia": {
"branch": "refs/heads/main",
- "revision": "436c2d70d2eaa2e980ce7b62c863a69575e884ea",
+ "revision": "3538cd9e3c9f289608047ca175983e49261d80da",
"url": "https://fuchsia.googlesource.com/infra/recipes.git"
},
"recipe_engine": {
diff --git a/recipe_modules/shard_util_v2/api.py b/recipe_modules/shard_util_v2/api.py
index 04f3394..4e09316 100644
--- a/recipe_modules/shard_util_v2/api.py
+++ b/recipe_modules/shard_util_v2/api.py
@@ -81,6 +81,9 @@
Args:
target: A target dictionary as read from the yaml file.
+
+ Returns:
+ A copy of the original dictionary with the json properties decoded.
"""
if target.get('properties'):
properties = target.get('properties')
@@ -88,6 +91,8 @@
for k, v in properties.items():
if isinstance(v,str) and (v.startswith('[') or v.startswith('{')):
new_props[k] = json.loads(v)
+ else:
+ new_props[k] = v
target['properties'] = new_props
return target
diff --git a/recipe_modules/shard_util_v2/examples/full.py b/recipe_modules/shard_util_v2/examples/full.py
index bbe4a92..a51c4f0 100644
--- a/recipe_modules/shard_util_v2/examples/full.py
+++ b/recipe_modules/shard_util_v2/examples/full.py
@@ -22,11 +22,13 @@
test_configs = api.properties.get('tests', [])
props = api.shard_util_v2.pre_process_properties(
{'properties': {
- '$flutter/osx_sdk': '{"cleanup_cache": true, "sdk_version": "14a5294e"}'
+ '$flutter/osx_sdk': '{"cleanup_cache": true, "sdk_version": "14a5294e"}',
+ 'validation': 'docs'
}
}
)
assert isinstance(props['properties']['$flutter/osx_sdk'], dict)
+ assert props['properties']['validation'] == 'docs'
with api.step.nest("launch builds") as presentation:
reqs = api.shard_util_v2.schedule_builds(build_configs, presentation)
with api.step.nest("collect builds") as presentation:
diff --git a/recipes/release/release_builder.expected/basic_linux_main.json b/recipes/release/release_builder.expected/basic_linux_main.json
index a0e9c92..e3eeaf3 100644
--- a/recipes/release/release_builder.expected/basic_linux_main.json
+++ b/recipes/release/release_builder.expected/basic_linux_main.json
@@ -305,7 +305,7 @@
}
},
"name": "launch builds.schedule",
- "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"try\", \"builder\": \"Linux Engine Drone\", \"project\": \"proj\"}, \"exe\": {\"cipdVersion\": \"refs/heads/main\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"gerritChanges\": [{\"change\": \"123456\", \"host\": \"flutter-review.googlesource.com\", \"patchset\": \"7\", \"project\": \"mirrors/engine\"}], \"gitilesCommit\": {\"host\": \"flutter.googlesource.com\", \"id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", \"project\": \"mirrors/engine\", \"ref\": \"refs/heads/main\"}, \"priority\": 25, \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"14a5294e\"}, \"build\": {\"name\": \"linux one\", \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"14a5294e\"}}, \"recipe\": \"engine/something\"}, \"environment\": \"Staging\", \"recipe\": \"engine/something\", \"repository\": \"engine\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"cq_experimental\", \"value\": \"false\"}, {\"key\": \"parent_buildbucket_id\", \"value\": \"8945511751514863184\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
+ "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"try\", \"builder\": \"Linux Engine Drone\", \"project\": \"proj\"}, \"exe\": {\"cipdVersion\": \"refs/heads/main\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"gerritChanges\": [{\"change\": \"123456\", \"host\": \"flutter-review.googlesource.com\", \"patchset\": \"7\", \"project\": \"mirrors/engine\"}], \"gitilesCommit\": {\"host\": \"flutter.googlesource.com\", \"id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", \"project\": \"mirrors/engine\", \"ref\": \"refs/heads/main\"}, \"priority\": 25, \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"14a5294e\"}, \"build\": {\"name\": \"linux one\", \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"14a5294e\"}, \"release_build\": true}, \"recipe\": \"engine/something\"}, \"environment\": \"Staging\", \"recipe\": \"engine/something\", \"release_build\": true, \"repository\": \"engine\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"cq_experimental\", \"value\": \"false\"}, {\"key\": \"parent_buildbucket_id\", \"value\": \"8945511751514863184\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
@@ -364,12 +364,14 @@
"@@@STEP_LOG_LINE@request@ \"properties\": {@@@",
"@@@STEP_LOG_LINE@request@ \"$flutter/osx_sdk\": {@@@",
"@@@STEP_LOG_LINE@request@ \"sdk_version\": \"14a5294e\"@@@",
- "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ }, @@@",
+ "@@@STEP_LOG_LINE@request@ \"release_build\": true@@@",
"@@@STEP_LOG_LINE@request@ }, @@@",
"@@@STEP_LOG_LINE@request@ \"recipe\": \"engine/something\"@@@",
"@@@STEP_LOG_LINE@request@ }, @@@",
"@@@STEP_LOG_LINE@request@ \"environment\": \"Staging\", @@@",
"@@@STEP_LOG_LINE@request@ \"recipe\": \"engine/something\", @@@",
+ "@@@STEP_LOG_LINE@request@ \"release_build\": true, @@@",
"@@@STEP_LOG_LINE@request@ \"repository\": \"engine\"@@@",
"@@@STEP_LOG_LINE@request@ }, @@@",
"@@@STEP_LOG_LINE@request@ \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", @@@",