[21:57:05.304] New invocation is queued and will start shortly
[21:57:06.447] Starting the invocation (attempt 1)
[21:57:06.549] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[21:57:06.549] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[21:57:06.549] Buildbucket request:
{
"bucket": "luci.dart.ci.sandbox",
"client_operation_id": "9030136440473773056",
"parameters_json": "{\"builder_name\":\"flutter-analyze\",\"properties\":{\"$recipe_engine/scheduler\":{\"hostname\":\"luci-scheduler.appspot.com\",\"triggers\":[{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://dart.googlesource.com/sdk\",\"revision\":\"ab7dc265d780f5fd018f06860f270d54a4536f01\"},\"id\":\"https://dart.googlesource.com/sdk/+/refs/heads/master@ab7dc265d780f5fd018f06860f270d54a4536f01\",\"title\":\"ab7dc265d780f5fd018f06860f270d54a4536f01\",\"url\":\"https://dart.googlesource.com/sdk/+/ab7dc265d780f5fd018f06860f270d54a4536f01\"},{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://dart.googlesource.com/sdk\",\"revision\":\"47b5a1e9f533da24579752fe6af910a58ef4f5d8\"},\"id\":\"https://dart.googlesource.com/sdk/+/refs/heads/master@47b5a1e9f533da24579752fe6af910a58ef4f5d8\",\"title\":\"47b5a1e9f533da24579752fe6af910a58ef4f5d8\",\"url\":\"https://dart.googlesource.com/sdk/+/47b5a1e9f533da24579752fe6af910a58ef4f5d8\"}]},\"branch\":\"refs/heads/master\",\"repository\":\"https://dart.googlesource.com/sdk\",\"revision\":\"47b5a1e9f533da24579752fe6af910a58ef4f5d8\"}}",
"pubsub_callback": {
"auth_token": "...",
"topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
},
"tags": [
"builder:flutter-analyze",
"scheduler_invocation_id:9030136440473773056",
"scheduler_job_id:dart/flutter-analyze",
"user_agent:luci-scheduler",
"buildset:commit/git/47b5a1e9f533da24579752fe6af910a58ef4f5d8",
"buildset:commit/gitiles/dart.googlesource.com/sdk/+/47b5a1e9f533da24579752fe6af910a58ef4f5d8",
"gitiles_ref:refs/heads/master"
]
}
[21:57:07.185] Buildbucket response:
{
"build": {
"bucket": "luci.dart.ci.sandbox",
"canary_preference": "PROD",
"created_by": "project:dart",
"created_ts": "1604354226693049",
"id": "8864706378349512160",
"parameters_json": "{\"builder_name\": \"flutter-analyze\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"ab7dc265d780f5fd018f06860f270d54a4536f01\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@ab7dc265d780f5fd018f06860f270d54a4536f01\", \"title\": \"ab7dc265d780f5fd018f06860f270d54a4536f01\", \"url\": \"https://dart.googlesource.com/sdk/+/ab7dc265d780f5fd018f06860f270d54a4536f01\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"47b5a1e9f533da24579752fe6af910a58ef4f5d8\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@47b5a1e9f533da24579752fe6af910a58ef4f5d8\", \"title\": \"47b5a1e9f533da24579752fe6af910a58ef4f5d8\", \"url\": \"https://dart.googlesource.com/sdk/+/47b5a1e9f533da24579752fe6af910a58ef4f5d8\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"47b5a1e9f533da24579752fe6af910a58ef4f5d8\"}}",
"project": "dart",
"result_details_json": "{\"properties\": {}}",
"service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
"status": "SCHEDULED",
"status_changed_ts": "1604354227038142",
"tags": [
"build_address:luci.dart.ci.sandbox/flutter-analyze/10287",
"builder:flutter-analyze",
"buildset:commit/git/47b5a1e9f533da24579752fe6af910a58ef4f5d8",
"buildset:commit/gitiles/dart.googlesource.com/sdk/+/47b5a1e9f533da24579752fe6af910a58ef4f5d8",
"gitiles_ref:refs/heads/master",
"scheduler_invocation_id:9030136440473773056",
"scheduler_job_id:dart/flutter-analyze",
"swarming_hostname:chromium-swarm.appspot.com",
"swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8864706378349512160/+/annotations",
"swarming_tag:luci_project:dart",
"swarming_tag:recipe_name:dart/neo",
"swarming_tag:recipe_package:dart/recipe_bundles/dart.googlesource.com/recipes",
"swarming_task_id:",
"user_agent:luci-scheduler"
],
"updated_ts": "1604354227038286",
"url": "https://ci.chromium.org/b/8864706378349512160",
"utcnow_ts": "1604354227174819"
}
}
[21:57:07.185] Task URL: https://ci.chromium.org/b/8864706378349512160
[21:57:07.185] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:2:0) after 1m0s
[21:58:07.232] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:2:0)
[21:58:07.232] Timer tick, asking Buildbucket for the build status
[21:58:07.348] Build 8864706378349512160: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[21:58:07.348] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:3:0) after 1m0s
[21:59:07.367] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:3:0)
[21:59:07.367] Timer tick, asking Buildbucket for the build status
[21:59:07.595] Build 8864706378349512160: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[21:59:07.595] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:4:0) after 1m0s
[22:00:07.614] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:4:0)
[22:00:07.614] Timer tick, asking Buildbucket for the build status
[22:00:07.718] Build 8864706378349512160: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:00:07.718] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:5:0) after 1m0s
[22:01:08.069] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:5:0)
[22:01:08.069] Timer tick, asking Buildbucket for the build status
[22:01:08.166] Build 8864706378349512160: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:01:08.166] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:6:0) after 1m0s
[22:02:08.425] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:6:0)
[22:02:08.425] Timer tick, asking Buildbucket for the build status
[22:02:08.635] Build 8864706378349512160: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[22:02:08.635] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:7:0) after 1m0s
[22:02:21.583] Received PubSub notification, asking Buildbucket for the build status
[22:02:21.680] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:03:08.721] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:7:0)
[22:03:08.721] Timer tick, asking Buildbucket for the build status
[22:03:09.188] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:03:09.188] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:9:0) after 1m0s
[22:04:09.211] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:9:0)
[22:04:09.211] Timer tick, asking Buildbucket for the build status
[22:04:09.362] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:04:09.362] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:10:0) after 1m0s
[22:05:09.586] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:10:0)
[22:05:09.586] Timer tick, asking Buildbucket for the build status
[22:05:09.870] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:05:09.870] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:11:0) after 1m0s
[22:06:09.921] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:11:0)
[22:06:09.921] Timer tick, asking Buildbucket for the build status
[22:06:10.094] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:06:10.094] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:12:0) after 1m0s
[22:07:10.182] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:12:0)
[22:07:10.182] Timer tick, asking Buildbucket for the build status
[22:07:10.285] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:07:10.285] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:13:0) after 1m0s
[22:08:10.418] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:13:0)
[22:08:10.418] Timer tick, asking Buildbucket for the build status
[22:08:10.541] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:08:10.541] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:14:0) after 1m0s
[22:09:10.626] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:14:0)
[22:09:10.626] Timer tick, asking Buildbucket for the build status
[22:09:11.202] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:09:11.203] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:15:0) after 1m0s
[22:10:11.282] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:15:0)
[22:10:11.282] Timer tick, asking Buildbucket for the build status
[22:10:11.556] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:10:11.556] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:16:0) after 1m0s
[22:11:11.602] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:16:0)
[22:11:11.602] Timer tick, asking Buildbucket for the build status
[22:11:11.719] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:11:11.719] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:17:0) after 1m0s
[22:12:11.786] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:17:0)
[22:12:11.786] Timer tick, asking Buildbucket for the build status
[22:12:11.943] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:12:11.943] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:18:0) after 1m0s
[22:13:12.025] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:18:0)
[22:13:12.025] Timer tick, asking Buildbucket for the build status
[22:13:12.253] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:13:12.253] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:19:0) after 1m0s
[22:14:12.298] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:19:0)
[22:14:12.298] Timer tick, asking Buildbucket for the build status
[22:14:12.375] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:14:12.375] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:20:0) after 1m0s
[22:15:12.466] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:20:0)
[22:15:12.466] Timer tick, asking Buildbucket for the build status
[22:15:12.557] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:15:12.557] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:21:0) after 1m0s
[22:16:12.668] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:21:0)
[22:16:12.668] Timer tick, asking Buildbucket for the build status
[22:16:12.745] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:16:12.745] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:22:0) after 1m0s
[22:17:12.852] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:22:0)
[22:17:12.852] Timer tick, asking Buildbucket for the build status
[22:17:12.995] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:17:12.995] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:23:0) after 1m0s
[22:18:13.041] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:23:0)
[22:18:13.041] Timer tick, asking Buildbucket for the build status
[22:18:13.124] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:18:13.124] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:24:0) after 1m0s
[22:19:13.164] Handling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:24:0)
[22:19:13.164] Timer tick, asking Buildbucket for the build status
[22:19:13.305] Build 8864706378349512160: status "STARTED", result "", failure_reason "", cancelation_reason ""
[22:19:13.305] Scheduling timer "check-buildbucket-build-status" (dart/flutter-analyze:9030136440473773056:25:0) after 1m0s
[22:20:06.959] Received PubSub notification, asking Buildbucket for the build status
[22:20:07.140] Build 8864706378349512160: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[22:20:07.140] Buildbucket build:
{
"build": {
"bucket": "luci.dart.ci.sandbox",
"canary_preference": "PROD",
"completed_ts": "1604355606099268",
"created_by": "project:dart",
"created_ts": "1604354226693049",
"id": "8864706378349512160",
"parameters_json": "{\"builder_name\": \"flutter-analyze\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"ab7dc265d780f5fd018f06860f270d54a4536f01\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@ab7dc265d780f5fd018f06860f270d54a4536f01\", \"title\": \"ab7dc265d780f5fd018f06860f270d54a4536f01\", \"url\": \"https://dart.googlesource.com/sdk/+/ab7dc265d780f5fd018f06860f270d54a4536f01\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"47b5a1e9f533da24579752fe6af910a58ef4f5d8\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@47b5a1e9f533da24579752fe6af910a58ef4f5d8\", \"title\": \"47b5a1e9f533da24579752fe6af910a58ef4f5d8\", \"url\": \"https://dart.googlesource.com/sdk/+/47b5a1e9f533da24579752fe6af910a58ef4f5d8\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"47b5a1e9f533da24579752fe6af910a58ef4f5d8\"}}",
"project": "dart",
"result": "SUCCESS",
"result_details_json": "{\"properties\": {\"$build/goma\": {\"enable_ats\": true, \"server_host\": \"goma.chromium.org\", \"use_luci_auth\": true}, \"$recipe_engine/isolated\": {\"server\": \"https://isolateserver.appspot.com\"}, \"$recipe_engine/path\": {\"cache_dir\": \"/b/s/w/ir/cache\", \"temp_dir\": \"/b/s/w/ir/tmp/rt\"}, \"$recipe_engine/runtime\": {\"is_experimental\": false, \"is_luci\": true}, \"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"ab7dc265d780f5fd018f06860f270d54a4536f01\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@ab7dc265d780f5fd018f06860f270d54a4536f01\", \"title\": \"ab7dc265d780f5fd018f06860f270d54a4536f01\", \"url\": \"https://dart.googlesource.com/sdk/+/ab7dc265d780f5fd018f06860f270d54a4536f01\"}, {\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"47b5a1e9f533da24579752fe6af910a58ef4f5d8\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@47b5a1e9f533da24579752fe6af910a58ef4f5d8\", \"title\": \"47b5a1e9f533da24579752fe6af910a58ef4f5d8\", \"url\": \"https://dart.googlesource.com/sdk/+/47b5a1e9f533da24579752fe6af910a58ef4f5d8\"}]}, \"$recipe_engine/swarming\": {\"server\": \"https://chromium-swarm.appspot.com\"}, \"bot_id\": \"luci-dart-try-xenial-65-bfu8\", \"branch\": \"refs/heads/master\", \"buildername\": \"flutter-analyze\", \"buildnumber\": 10287, \"clobber\": \"true\", \"got_revision\": \"47b5a1e9f533da24579752fe6af910a58ef4f5d8\", \"path_config\": \"generic\", \"recipe\": \"dart/neo\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"47b5a1e9f533da24579752fe6af910a58ef4f5d8\"}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"browsers\", \"builder_04709c3d2cec0ce0f55217a459be8bdc01153b7ba62263f168f4e1b941215170_v2\", \"builder_049a50ebdc43a6e138b0bb8e83d5db2c783e29b0ce094947d63954ebc95694df_v2\", \"builder_119aaf6c4399d80013bfd00bffe181b9743937ac619b49e8c904969673215a92_v2\", \"builder_13dbf1751d908df3cb556044d28136f55311f04b060df4f26abd4777dd23db8a_v2\", \"builder_1b6044665c11ac21b76b5174316f99e877d7b36fecbed431d80353fc00e6db12_v2\", \"builder_2568cb5c143ed8cc40564df1a833ae4c1992befd94d0645f49c1ad521b08aa15_v2\", \"builder_74dfcc4a76324509fcce8f4c0b14d3da9857b2d4fe2880722db340a4642fa4d3_v2\", \"builder_b6d607e70bef8705fab12252876356ad958454ddf5c764406542df6b6c6abfa8_v2\", \"builder_c89b685ed9f2f88994f1e8b2dff54e34b1580d85e7a146d8428b56812ea00d39_v2\", \"builder_fd9a17dcfa0184089d987b3778122bb28b4e9c1090f5ac9f2932f825ab60def6_v2\", \"git\", \"goma_v2\", \"vpython\"], \"cores\": [\"8\"], \"cpu\": [\"x86\", \"x86-64\", \"x86-64-Haswell_GCE\", \"x86-64-avx2\"], \"gce\": [\"1\"], \"gcp\": [\"dart-ci\"], \"gpu\": [\"none\"], \"host_class\": [\"default\"], \"id\": [\"luci-dart-try-xenial-65-bfu8\"], \"image\": [\"dart-xenial-20101000-265b45aa9e2\"], \"inside_docker\": [\"0\"], \"kvm\": [\"1\"], \"locale\": [\"en_US.UTF-8\"], \"machine_type\": [\"e2-standard-8\"], \"os\": [\"Linux\", \"Ubuntu\", \"Ubuntu-16\", \"Ubuntu-16.04\", \"Ubuntu-16.04.6\"], \"pool\": [\"dart.tests\", \"luci.dart.try\"], \"python\": [\"2.7.12\"], \"server_version\": [\"5614-d862eaa\"], \"ssd\": [\"0\"], \"zone\": [\"us\", \"us-central\", \"us-central1\", \"us-central1-b\"]}}}",
"service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
"started_ts": "1604354540506278",
"status": "COMPLETED",
"status_changed_ts": "1604355606538921",
"tags": [
"build_address:luci.dart.ci.sandbox/flutter-analyze/10287",
"builder:flutter-analyze",
"buildset:commit/git/47b5a1e9f533da24579752fe6af910a58ef4f5d8",
"buildset:commit/gitiles/dart.googlesource.com/sdk/+/47b5a1e9f533da24579752fe6af910a58ef4f5d8",
"gitiles_ref:refs/heads/master",
"scheduler_invocation_id:9030136440473773056",
"scheduler_job_id:dart/flutter-analyze",
"swarming_hostname:chromium-swarm.appspot.com",
"swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8864706378349512160/+/annotations",
"swarming_tag:luci_project:dart",
"swarming_tag:os:Linux",
"swarming_tag:recipe_name:dart/neo",
"swarming_tag:recipe_package:dart/recipe_bundles/dart.googlesource.com/recipes",
"swarming_task_id:4fa3c8502f418010",
"user_agent:luci-scheduler"
],
"updated_ts": "1604355606564616",
"url": "https://ci.chromium.org/b/8864706378349512160",
"utcnow_ts": "1604355607120767"
}
}
[22:20:07.140] Invocation finished in 23m1.856852018s with status SUCCEEDED