Roll-forward enabled_branchs tech-debt cleanup.
This re-lands 95015a6861ebe3d93ff02ef0ba50dd4b66f9e94c, with fixes around
how "enabled_branches" executes. Notably, three important bugs were fixed:
1. Read the top-level enabled_branches (was accidentally set to [])
2. Uses current branch, not the commit-origin, to filter enabled_branches.
After this change, the `{PLAT} packaging` builds that are supposed to only
be run on `beta` or `stable` channels should no longer be acidentally run
on release-candidate branches.
Change-Id: Ib616d1948506f62d303f61fa88eb44d0dc853a18
Bug: https://github.com/flutter/flutter/issues/169875
Change-Id: I578e281e7e4e46e018d07872a22c118cf1f22931
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/66101
Commit-Queue: Matan Lurey <matanl@google.com>
Reviewed-by: John McDole <codefu@google.com>
diff --git a/recipes/release/release_builder.expected/base_linux_main_monorepo.json b/recipes/release/release_builder.expected/base_linux_main_monorepo.json
index a1ed037..59f256f 100644
--- a/recipes/release/release_builder.expected/base_linux_main_monorepo.json
+++ b/recipes/release/release_builder.expected/base_linux_main_monorepo.json
@@ -522,6 +522,147 @@
},
{
"cmd": [],
+ "name": "engine.launch builds.get buildbucket id (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_TEXT@8945511751514863184@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "bb",
+ "batch",
+ "-host",
+ "cr-buildbucket.appspot.com"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "prod:try"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "engine.launch builds.schedule (2)",
+ "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"try\", \"builder\": \"Linux Engine Drone\", \"project\": \"prod\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Linux\"}], \"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/flutter\"}], \"gitilesCommit\": {\"host\": \"flutter.googlesource.com\", \"id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", \"project\": \"mirrors/flutter\", \"ref\": \"refs/heads/main\"}, \"priority\": 30, \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"14a5294e\"}, \"build\": {\"drone_dimensions\": [\"os=Linux\"], \"enabled_branches\": [\"beta\", \"main\"], \"name\": \"linux packaging one\", \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"14a5294e\"}, \"is_fusion\": \"true\"}, \"recipe\": \"release/something\", \"scheduler\": \"release\"}, \"build_identifier\": \"8945511751514863184\", \"environment\": \"Staging\", \"gclient_variables\": {}, \"is_fusion\": \"true\", \"parent_commit\": \"\", \"recipe\": \"release/something\", \"repository\": \"flutter\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133a\", \"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@2@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"responses\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"scheduleBuild\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"builder\": \"Linux Engine Drone\",@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"project\": \"prod\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ },@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"id\": \"8922054662172514001\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@",
+ "@@@STEP_LOG_LINE@request@{@@@",
+ "@@@STEP_LOG_LINE@request@ \"requests\": [@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"scheduleBuild\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"builder\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"bucket\": \"try\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"builder\": \"Linux Engine Drone\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"project\": \"prod\"@@@",
+ "@@@STEP_LOG_LINE@request@ },@@@",
+ "@@@STEP_LOG_LINE@request@ \"dimensions\": [@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"key\": \"os\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"value\": \"Linux\"@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ ],@@@",
+ "@@@STEP_LOG_LINE@request@ \"exe\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"cipdVersion\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@request@ },@@@",
+ "@@@STEP_LOG_LINE@request@ \"experimental\": \"NO\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"experiments\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"luci.buildbucket.parent_tracking\": false@@@",
+ "@@@STEP_LOG_LINE@request@ },@@@",
+ "@@@STEP_LOG_LINE@request@ \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"gerritChanges\": [@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"change\": \"123456\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"host\": \"flutter-review.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"patchset\": \"7\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"project\": \"mirrors/flutter\"@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ ],@@@",
+ "@@@STEP_LOG_LINE@request@ \"gitilesCommit\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"host\": \"flutter.googlesource.com\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"project\": \"mirrors/flutter\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"ref\": \"refs/heads/main\"@@@",
+ "@@@STEP_LOG_LINE@request@ },@@@",
+ "@@@STEP_LOG_LINE@request@ \"priority\": 30,@@@",
+ "@@@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@ \"build\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"drone_dimensions\": [@@@",
+ "@@@STEP_LOG_LINE@request@ \"os=Linux\"@@@",
+ "@@@STEP_LOG_LINE@request@ ],@@@",
+ "@@@STEP_LOG_LINE@request@ \"enabled_branches\": [@@@",
+ "@@@STEP_LOG_LINE@request@ \"beta\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"main\"@@@",
+ "@@@STEP_LOG_LINE@request@ ],@@@",
+ "@@@STEP_LOG_LINE@request@ \"name\": \"linux packaging one\",@@@",
+ "@@@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@ \"is_fusion\": \"true\"@@@",
+ "@@@STEP_LOG_LINE@request@ },@@@",
+ "@@@STEP_LOG_LINE@request@ \"recipe\": \"release/something\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"scheduler\": \"release\"@@@",
+ "@@@STEP_LOG_LINE@request@ },@@@",
+ "@@@STEP_LOG_LINE@request@ \"build_identifier\": \"8945511751514863184\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"environment\": \"Staging\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"gclient_variables\": {},@@@",
+ "@@@STEP_LOG_LINE@request@ \"is_fusion\": \"true\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"parent_commit\": \"\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"recipe\": \"release/something\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"repository\": \"flutter\"@@@",
+ "@@@STEP_LOG_LINE@request@ },@@@",
+ "@@@STEP_LOG_LINE@request@ \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133a\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"swarming\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"parentRunId\": \"fake-task-id\"@@@",
+ "@@@STEP_LOG_LINE@request@ },@@@",
+ "@@@STEP_LOG_LINE@request@ \"tags\": [@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"key\": \"cq_experimental\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"value\": \"false\"@@@",
+ "@@@STEP_LOG_LINE@request@ },@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"key\": \"parent_buildbucket_id\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"value\": \"8945511751514863184\"@@@",
+ "@@@STEP_LOG_LINE@request@ },@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"key\": \"user_agent\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"value\": \"recipe\"@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ ]@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ ]@@@",
+ "@@@STEP_LOG_LINE@request@}@@@",
+ "@@@STEP_LOG_END@request@@@",
+ "@@@STEP_LINK@8922054662172514001@https://cr-buildbucket.appspot.com/build/8922054662172514001@@@"
+ ]
+ },
+ {
+ "cmd": [],
"name": "engine.collect builds",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
@@ -542,7 +683,8 @@
"cr-buildbucket.appspot.com",
"-interval",
"20s",
- "8945511751514863186"
+ "8945511751514863186",
+ "8922054662172514001"
],
"infra_step": true,
"luci_context": {
@@ -584,7 +726,7 @@
}
},
"name": "engine.collect builds.collect.get",
- "stdin": "{\"requests\": [{\"getBuild\": {\"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"id\": \"8945511751514863186\"}}]}",
+ "stdin": "{\"requests\": [{\"getBuild\": {\"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"id\": \"8945511751514863186\"}}, {\"getBuild\": {\"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"id\": \"8922054662172514001\"}}]}",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@3@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
@@ -648,6 +790,12 @@
"@@@STEP_LOG_LINE@request@ \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\",@@@",
"@@@STEP_LOG_LINE@request@ \"id\": \"8945511751514863186\"@@@",
"@@@STEP_LOG_LINE@request@ }@@@",
+ "@@@STEP_LOG_LINE@request@ },@@@",
+ "@@@STEP_LOG_LINE@request@ {@@@",
+ "@@@STEP_LOG_LINE@request@ \"getBuild\": {@@@",
+ "@@@STEP_LOG_LINE@request@ \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"id\": \"8922054662172514001\"@@@",
+ "@@@STEP_LOG_LINE@request@ }@@@",
"@@@STEP_LOG_LINE@request@ }@@@",
"@@@STEP_LOG_LINE@request@ ]@@@",
"@@@STEP_LOG_LINE@request@}@@@",
diff --git a/recipes/release/release_builder.expected/filter_targets_not_on_current_platform.json b/recipes/release/release_builder.expected/filter_targets_not_on_current_platform.json
index d4cfc11..1bb1960 100644
--- a/recipes/release/release_builder.expected/filter_targets_not_on_current_platform.json
+++ b/recipes/release/release_builder.expected/filter_targets_not_on_current_platform.json
@@ -342,35 +342,7 @@
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@2@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
- "@@@STEP_LOG_LINE@json.output@ \"targets\": [@@@",
- "@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"drone_dimensions\": [@@@",
- "@@@STEP_LOG_LINE@json.output@ \"os=Linux\"@@@",
- "@@@STEP_LOG_LINE@json.output@ ],@@@",
- "@@@STEP_LOG_LINE@json.output@ \"enabled_branches\": [@@@",
- "@@@STEP_LOG_LINE@json.output@ \"flutter-3.2-candidate.5\"@@@",
- "@@@STEP_LOG_LINE@json.output@ ],@@@",
- "@@@STEP_LOG_LINE@json.output@ \"name\": \"Linux flutter_test\",@@@",
- "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"release_build\": \"true\"@@@",
- "@@@STEP_LOG_LINE@json.output@ },@@@",
- "@@@STEP_LOG_LINE@json.output@ \"recipe\": \"release/something\"@@@",
- "@@@STEP_LOG_LINE@json.output@ },@@@",
- "@@@STEP_LOG_LINE@json.output@ {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"drone_dimensions\": [@@@",
- "@@@STEP_LOG_LINE@json.output@ \"os=Mac\"@@@",
- "@@@STEP_LOG_LINE@json.output@ ],@@@",
- "@@@STEP_LOG_LINE@json.output@ \"enabled_branches\": [@@@",
- "@@@STEP_LOG_LINE@json.output@ \"flutter-3.2-candidate.5\"@@@",
- "@@@STEP_LOG_LINE@json.output@ ],@@@",
- "@@@STEP_LOG_LINE@json.output@ \"name\": \"Mac flutter_test\",@@@",
- "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@",
- "@@@STEP_LOG_LINE@json.output@ \"$flutter/osx_sdk\": \"{\\\"sdk_version\\\": \\\"14a5294e\\\"}\",@@@",
- "@@@STEP_LOG_LINE@json.output@ \"release_build\": \"true\"@@@",
- "@@@STEP_LOG_LINE@json.output@ },@@@",
- "@@@STEP_LOG_LINE@json.output@ \"recipe\": \"release/something\"@@@",
- "@@@STEP_LOG_LINE@json.output@ }@@@",
- "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"targets\": []@@@",
"@@@STEP_LOG_LINE@json.output@}@@@",
"@@@STEP_LOG_END@json.output@@@"
]
@@ -529,7 +501,7 @@
}
},
"name": "framework.launch builds.schedule",
- "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"try\", \"builder\": \"Linux Engine Drone\", \"project\": \"prod\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Linux\"}], \"exe\": {\"cipdVersion\": \"refs/heads/flutter-3.2-candidate.5\"}, \"executionTimeout\": \"14400s\", \"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/flutter\"}], \"gitilesCommit\": {\"host\": \"flutter.googlesource.com\", \"id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", \"project\": \"mirrors/flutter\", \"ref\": \"refs/heads/beta\"}, \"priority\": 30, \"properties\": {\"build\": {\"drone_dimensions\": [\"os=Linux\"], \"enabled_branches\": [\"beta\"], \"name\": \"Linux is_current_platform\", \"properties\": {\"is_fusion\": \"true\"}, \"recipe\": \"release/something\", \"scheduler\": \"release\"}, \"build_identifier\": \"8945511751514863184\", \"environment\": \"Staging\", \"gclient_variables\": {}, \"is_fusion\": \"true\", \"parent_commit\": \"\", \"recipe\": \"release/something\", \"repository\": \"flutter\"}, \"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\": \"prod\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Linux\"}], \"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/flutter\"}], \"gitilesCommit\": {\"host\": \"flutter.googlesource.com\", \"id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", \"project\": \"mirrors/flutter\", \"ref\": \"refs/heads/beta\"}, \"priority\": 30, \"properties\": {\"build\": {\"drone_dimensions\": [\"os=Linux\"], \"enabled_branches\": [\"beta\"], \"name\": \"Linux is_current_platform\", \"properties\": {\"is_fusion\": \"true\"}, \"recipe\": \"release/something\", \"scheduler\": \"release\"}, \"build_identifier\": \"8945511751514863184\", \"environment\": \"Staging\", \"gclient_variables\": {}, \"is_fusion\": \"true\", \"parent_commit\": \"\", \"recipe\": \"release/something\", \"repository\": \"flutter\"}, \"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@2@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
@@ -563,9 +535,8 @@
"@@@STEP_LOG_LINE@request@ }@@@",
"@@@STEP_LOG_LINE@request@ ],@@@",
"@@@STEP_LOG_LINE@request@ \"exe\": {@@@",
- "@@@STEP_LOG_LINE@request@ \"cipdVersion\": \"refs/heads/flutter-3.2-candidate.5\"@@@",
+ "@@@STEP_LOG_LINE@request@ \"cipdVersion\": \"refs/heads/main\"@@@",
"@@@STEP_LOG_LINE@request@ },@@@",
- "@@@STEP_LOG_LINE@request@ \"executionTimeout\": \"14400s\",@@@",
"@@@STEP_LOG_LINE@request@ \"experimental\": \"NO\",@@@",
"@@@STEP_LOG_LINE@request@ \"experiments\": {@@@",
"@@@STEP_LOG_LINE@request@ \"luci.buildbucket.parent_tracking\": false@@@",
diff --git a/recipes/release/release_builder.expected/linux_schedule_during_release_override_with_empty_enabled_branch.json b/recipes/release/release_builder.expected/linux_schedule_during_release_override.json
similarity index 100%
rename from recipes/release/release_builder.expected/linux_schedule_during_release_override_with_empty_enabled_branch.json
rename to recipes/release/release_builder.expected/linux_schedule_during_release_override.json
diff --git a/recipes/release/release_builder.expected/linux_schedule_during_release_override_with_matching_enabled_branch.json b/recipes/release/release_builder.expected/linux_scheduler_release.json
similarity index 97%
rename from recipes/release/release_builder.expected/linux_schedule_during_release_override_with_matching_enabled_branch.json
rename to recipes/release/release_builder.expected/linux_scheduler_release.json
index 5e76c5f..fab533a 100644
--- a/recipes/release/release_builder.expected/linux_schedule_during_release_override_with_matching_enabled_branch.json
+++ b/recipes/release/release_builder.expected/linux_scheduler_release.json
@@ -864,9 +864,9 @@
"@@@STEP_LOG_LINE@json.output@ \"drone_dimensions\": [@@@",
"@@@STEP_LOG_LINE@json.output@ \"os=Linux\"@@@",
"@@@STEP_LOG_LINE@json.output@ ],@@@",
- "@@@STEP_LOG_LINE@json.output@ \"name\": \"Linux schedule_during_release_override\",@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"name\": \"Linux scheduler_release\",@@@",
"@@@STEP_LOG_LINE@json.output@ \"recipe\": \"release/something\",@@@",
- "@@@STEP_LOG_LINE@json.output@ \"schedule_during_release_override\": true@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"scheduler\": \"release\"@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ ]@@@",
"@@@STEP_LOG_LINE@json.output@}@@@",
@@ -909,7 +909,7 @@
}
},
"name": "framework.launch builds.schedule",
- "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"try\", \"builder\": \"Linux Engine Drone\", \"project\": \"prod\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Linux\"}], \"exe\": {\"cipdVersion\": \"refs/heads/flutter-3.2-candidate.5\"}, \"executionTimeout\": \"14400s\", \"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/flutter\"}], \"gitilesCommit\": {\"host\": \"flutter.googlesource.com\", \"id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", \"project\": \"mirrors/flutter\", \"ref\": \"refs/heads/flutter-3.2-candidate.5\"}, \"priority\": 30, \"properties\": {\"build\": {\"drone_dimensions\": [\"os=Linux\"], \"name\": \"Linux schedule_during_release_override\", \"properties\": {\"is_fusion\": \"true\"}, \"recipe\": \"release/something\", \"schedule_during_release_override\": true}, \"build_identifier\": \"8945511751514863184\", \"environment\": \"Staging\", \"gclient_variables\": {}, \"is_fusion\": \"true\", \"parent_commit\": \"\", \"recipe\": \"release/something\", \"repository\": \"flutter\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133d\", \"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\": \"prod\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Linux\"}], \"exe\": {\"cipdVersion\": \"refs/heads/flutter-3.2-candidate.5\"}, \"executionTimeout\": \"14400s\", \"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/flutter\"}], \"gitilesCommit\": {\"host\": \"flutter.googlesource.com\", \"id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", \"project\": \"mirrors/flutter\", \"ref\": \"refs/heads/flutter-3.2-candidate.5\"}, \"priority\": 30, \"properties\": {\"build\": {\"drone_dimensions\": [\"os=Linux\"], \"name\": \"Linux scheduler_release\", \"properties\": {\"is_fusion\": \"true\"}, \"recipe\": \"release/something\", \"scheduler\": \"release\"}, \"build_identifier\": \"8945511751514863184\", \"environment\": \"Staging\", \"gclient_variables\": {}, \"is_fusion\": \"true\", \"parent_commit\": \"\", \"recipe\": \"release/something\", \"repository\": \"flutter\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-00000000133d\", \"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@2@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
@@ -971,12 +971,12 @@
"@@@STEP_LOG_LINE@request@ \"drone_dimensions\": [@@@",
"@@@STEP_LOG_LINE@request@ \"os=Linux\"@@@",
"@@@STEP_LOG_LINE@request@ ],@@@",
- "@@@STEP_LOG_LINE@request@ \"name\": \"Linux schedule_during_release_override\",@@@",
+ "@@@STEP_LOG_LINE@request@ \"name\": \"Linux scheduler_release\",@@@",
"@@@STEP_LOG_LINE@request@ \"properties\": {@@@",
"@@@STEP_LOG_LINE@request@ \"is_fusion\": \"true\"@@@",
"@@@STEP_LOG_LINE@request@ },@@@",
"@@@STEP_LOG_LINE@request@ \"recipe\": \"release/something\",@@@",
- "@@@STEP_LOG_LINE@request@ \"schedule_during_release_override\": true@@@",
+ "@@@STEP_LOG_LINE@request@ \"scheduler\": \"release\"@@@",
"@@@STEP_LOG_LINE@request@ },@@@",
"@@@STEP_LOG_LINE@request@ \"build_identifier\": \"8945511751514863184\",@@@",
"@@@STEP_LOG_LINE@request@ \"environment\": \"Staging\",@@@",
@@ -1156,7 +1156,7 @@
},
{
"cmd": [],
- "name": "framework.display builds.Linux schedule_during_release_override",
+ "name": "framework.display builds.Linux scheduler_release",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@2@@@",
"@@@STEP_LINK@8945511751514863186@https://cr-buildbucket.appspot.com/build/8945511751514863186@@@"
diff --git a/recipes/release/release_builder.expected/retry_override_still_runs_non_config_name_target.json b/recipes/release/release_builder.expected/retry_override_still_runs_non_config_name_target.json
index 7035ecb..99c4fd2 100644
--- a/recipes/release/release_builder.expected/retry_override_still_runs_non_config_name_target.json
+++ b/recipes/release/release_builder.expected/retry_override_still_runs_non_config_name_target.json
@@ -448,7 +448,7 @@
"@@@STEP_LOG_LINE@json.output@ ],@@@",
"@@@STEP_LOG_LINE@json.output@ \"name\": \"Linux only_enabled_for_release_candidates\",@@@",
"@@@STEP_LOG_LINE@json.output@ \"recipe\": \"release/something\",@@@",
- "@@@STEP_LOG_LINE@json.output@ \"schedule_during_release_override\": true@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"scheduler\": \"release\"@@@",
"@@@STEP_LOG_LINE@json.output@ }@@@",
"@@@STEP_LOG_LINE@json.output@ ]@@@",
"@@@STEP_LOG_LINE@json.output@}@@@",
@@ -491,7 +491,7 @@
}
},
"name": "framework.launch builds.schedule",
- "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"try\", \"builder\": \"Linux Engine Drone\", \"project\": \"prod\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Linux\"}], \"exe\": {\"cipdVersion\": \"refs/heads/flutter-3.2-candidate.5\"}, \"executionTimeout\": \"14400s\", \"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/flutter\"}], \"gitilesCommit\": {\"host\": \"flutter.googlesource.com\", \"id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", \"project\": \"mirrors/flutter\", \"ref\": \"refs/heads/flutter-3.2-candidate.5\"}, \"priority\": 30, \"properties\": {\"build\": {\"drone_dimensions\": [\"os=Linux\"], \"enabled_branches\": [\"flutter-\\\\d+\\\\.\\\\d+-candidate\\\\.\\\\d+\"], \"name\": \"Linux only_enabled_for_release_candidates\", \"properties\": {\"is_fusion\": \"true\"}, \"recipe\": \"release/something\", \"schedule_during_release_override\": true}, \"build_identifier\": \"8945511751514863184\", \"environment\": \"Staging\", \"gclient_variables\": {}, \"is_fusion\": \"true\", \"parent_commit\": \"\", \"recipe\": \"release/something\", \"repository\": \"flutter\", \"retry_override_list\": \"foo\"}, \"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\": \"prod\"}, \"dimensions\": [{\"key\": \"os\", \"value\": \"Linux\"}], \"exe\": {\"cipdVersion\": \"refs/heads/flutter-3.2-candidate.5\"}, \"executionTimeout\": \"14400s\", \"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/flutter\"}], \"gitilesCommit\": {\"host\": \"flutter.googlesource.com\", \"id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", \"project\": \"mirrors/flutter\", \"ref\": \"refs/heads/flutter-3.2-candidate.5\"}, \"priority\": 30, \"properties\": {\"build\": {\"drone_dimensions\": [\"os=Linux\"], \"enabled_branches\": [\"flutter-\\\\d+\\\\.\\\\d+-candidate\\\\.\\\\d+\"], \"name\": \"Linux only_enabled_for_release_candidates\", \"properties\": {\"is_fusion\": \"true\"}, \"recipe\": \"release/something\", \"scheduler\": \"release\"}, \"build_identifier\": \"8945511751514863184\", \"environment\": \"Staging\", \"gclient_variables\": {}, \"is_fusion\": \"true\", \"parent_commit\": \"\", \"recipe\": \"release/something\", \"repository\": \"flutter\", \"retry_override_list\": \"foo\"}, \"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@2@@@",
"@@@STEP_LOG_LINE@json.output@{@@@",
@@ -561,7 +561,7 @@
"@@@STEP_LOG_LINE@request@ \"is_fusion\": \"true\"@@@",
"@@@STEP_LOG_LINE@request@ },@@@",
"@@@STEP_LOG_LINE@request@ \"recipe\": \"release/something\",@@@",
- "@@@STEP_LOG_LINE@request@ \"schedule_during_release_override\": true@@@",
+ "@@@STEP_LOG_LINE@request@ \"scheduler\": \"release\"@@@",
"@@@STEP_LOG_LINE@request@ },@@@",
"@@@STEP_LOG_LINE@request@ \"build_identifier\": \"8945511751514863184\",@@@",
"@@@STEP_LOG_LINE@request@ \"environment\": \"Staging\",@@@",
diff --git a/recipes/release/release_builder.py b/recipes/release/release_builder.py
index 31ebff9..e59c366 100644
--- a/recipes/release/release_builder.py
+++ b/recipes/release/release_builder.py
@@ -35,7 +35,7 @@
# release_build: "true"
# ##############################################################################
#
-# For the framework, each target that is marked "scheduler: release" or "schedule_during_release_override: true"
+# For the framework, each target that is marked "scheduler: release"
# ##############################################################################
# # CONTENTS of //.ci.yaml
# ##############################################################################
@@ -46,7 +46,6 @@
# # SCHEDULED.
# - name: Linux docs_publish
# recipe: flutter/docs
-# schedule_during_release_override: true
# ##############################################################################
#
# Note that "enabled_branches" still applies.
@@ -97,16 +96,20 @@
# release_build: "true"
# or any build that is marked:
# - Linux framework_foo:
- # schedule_during_release_override: true
+ # scheduler: release
#
# Should be built during the Linux flutter_release_build orchestrator.
if target.get('properties', {}).get('release_build', '') == 'true':
return True
+ # TODO(matanlurey): Remove as part of https://github.com/flutter/flutter/issues/168913.
if target.get('schedule_during_release_override'):
return True
+ if target.get('scheduler') == 'release':
+ return True
return False
assert (is_release_channel)
+
# A framework build that is marked:
# - Linux framework_foo
# scheduler: release
@@ -115,16 +118,6 @@
if target.get('scheduler') != 'release':
return False
- # Ensure that this target is enabled for this release channel.
- # TODO(matanlurey): Once "scheduler: release" opt-out is removed and replaced
- # with "enabled_branches: ["flutter-\d+\.\d+-candidate\.\d+"]", then we remove
- # this second enabled_branches test and just rely on the initial one.
- #
- # See https://github.com/flutter/flutter/issues/168745.
- git_ref_branch = git_ref.replace('refs/heads/', '')
- if not git_ref_branch in target.get('enabled_branches', []):
- return False
-
# Skip targets that can't run on the current platform.
for_this_platform = target['name'].lower().startswith(api.platform.name)
if not for_this_platform:
@@ -137,7 +130,6 @@
api,
git_ref,
target,
- release_branch,
retry_override_list,
top_level_enabled_targets,
):
@@ -150,18 +142,16 @@
return False
# Enabled for current branch
- enabled_branches = target.get('enabled_branches', top_level_enabled_targets)
-
- # TODO(matanlurey): Add "flutter-\d+\.\d+-candidate\.\d+" to enabled_branches
- # and remove "scheduler != release". As far as I can tell, this was a hack put
- # in to work around https://github.com/flutter/flutter/issues/128459 and is
- # not necessary otherwise.
#
- # See https://github.com/flutter/flutter/issues/168745.
- if enabled_branches and target.get('scheduler') != 'release':
+ # Note this is different than "release_branch" (elsewhere), where we want to
+ # "which commit does this branch originate in", and here we just want to know
+ # "should something run on the current branch?"
+ current_branch = git_ref.split('/')[-1]
+ enabled_branches = target.get('enabled_branches', top_level_enabled_targets)
+ if enabled_branches:
for r in enabled_branches:
# Enabled branches is a list of regex
- if re.match(r, release_branch):
+ if re.match(r, current_branch):
break
else:
# Current branch didn't match any of the enabled branches.
@@ -209,7 +199,6 @@
api,
git_ref,
target,
- release_branch,
retry_override_list,
top_level_enabled_targets,
):
@@ -666,7 +655,7 @@
'recipe': 'release/something',
'enabled_branches': ['flutter-\d+\.\d+-candidate\.\d+'],
'drone_dimensions': ['os=Linux'],
- 'schedule_during_release_override': True,
+ 'scheduler': 'release',
},]
})
),
@@ -755,7 +744,9 @@
),
api.step_data(
'engine.read ci yaml.parse',
- api.json.output(release_multiplatform_tasks)
+ api.json.output({
+ 'targets': [],
+ })
),
api.step_data(
'framework.read ci yaml.parse',
@@ -781,12 +772,12 @@
api.step_data(
'Identify branches.git branch',
stdout=api.raw_io.output_text(
- 'remotes/origin/branch1\nremotes/origin/branch2\nremotes/origin/flutter-3.2-candidate.5'
+ 'remotes/origin/beta'
)
),
)
yield api.test(
- 'linux_schedule_during_release_override_with_empty_enabled_branch',
+ 'linux_schedule_during_release_override',
api.properties(
environment='Staging',
repository='flutter',
@@ -831,7 +822,7 @@
),
)
yield api.test(
- 'linux_schedule_during_release_override_with_matching_enabled_branch',
+ 'linux_scheduler_release',
api.properties(
environment='Staging',
repository='flutter',
@@ -856,10 +847,10 @@
'framework.read ci yaml.parse',
api.json.output({
'targets': [{
- 'name': 'Linux schedule_during_release_override',
+ 'name': 'Linux scheduler_release',
'recipe': 'release/something',
'drone_dimensions': ['os=Linux'],
- 'schedule_during_release_override': True,
+ 'scheduler': 'release',
},]
})
),