Status: SUCCEEDED
Triggered by: -
Duration: 24 minutes
Actions:

Definition (rev 840fc1d7a17d9f663eedc70c67b8fdf31f8eb475)

buildbucket: <
  server: "cr-buildbucket.appspot.com"
  bucket: "luci.dart.ci.sandbox"
  builder: "vm-ffi-android-release-arm"
>

Incoming triggers

Incoming properties

{
  "branch": "refs/heads/master",
  "repository": "https://dart.googlesource.com/sdk",
  "revision": "e5dd3933b401276fd115fbdb8d9947c897c17734"
}

Incoming tags

  • buildset:commit/git/e5dd3933b401276fd115fbdb8d9947c897c17734
  • buildset:commit/gitiles/dart.googlesource.com/sdk/+/e5dd3933b401276fd115fbdb8d9947c897c17734
  • gitiles_ref:refs/heads/master

Debug log (UTC)

[20:22:44.276] New invocation is queued and will start shortly
[20:22:45.759] Starting the invocation (attempt 1)
[20:22:45.802] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[20:22:45.802] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[20:22:45.802] Buildbucket request:
{
  "bucket": "luci.dart.ci.sandbox",
  "client_operation_id": "9046268636510550960",
  "parameters_json": "{\"builder_name\":\"vm-ffi-android-release-arm\",\"properties\":{\"$recipe_engine/scheduler\":{\"hostname\":\"luci-scheduler.appspot.com\",\"triggers\":[{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://dart.googlesource.com/sdk\",\"revision\":\"e5dd3933b401276fd115fbdb8d9947c897c17734\"},\"id\":\"https://dart.googlesource.com/sdk/+/refs/heads/master@e5dd3933b401276fd115fbdb8d9947c897c17734\",\"title\":\"e5dd3933b401276fd115fbdb8d9947c897c17734\",\"url\":\"https://dart.googlesource.com/sdk/+/e5dd3933b401276fd115fbdb8d9947c897c17734\"}]},\"branch\":\"refs/heads/master\",\"repository\":\"https://dart.googlesource.com/sdk\",\"revision\":\"e5dd3933b401276fd115fbdb8d9947c897c17734\"}}",
  "pubsub_callback": {
    "auth_token": "...",
    "topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
  },
  "tags": [
    "builder:vm-ffi-android-release-arm",
    "scheduler_invocation_id:9046268636510550960",
    "scheduler_job_id:dart/vm-ffi-android-release-arm",
    "user_agent:luci-scheduler",
    "buildset:commit/git/e5dd3933b401276fd115fbdb8d9947c897c17734",
    "buildset:commit/gitiles/dart.googlesource.com/sdk/+/e5dd3933b401276fd115fbdb8d9947c897c17734",
    "gitiles_ref:refs/heads/master"
  ]
}
[20:22:46.826] Buildbucket response:
{
  "build": {
    "bucket": "luci.dart.ci.sandbox",
    "canary": true,
    "canary_preference": "CANARY",
    "created_by": "project:dart",
    "created_ts": "1588969365911518",
    "id": "8880838574128776464",
    "parameters_json": "{\"builder_name\": \"vm-ffi-android-release-arm\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"e5dd3933b401276fd115fbdb8d9947c897c17734\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@e5dd3933b401276fd115fbdb8d9947c897c17734\", \"title\": \"e5dd3933b401276fd115fbdb8d9947c897c17734\", \"url\": \"https://dart.googlesource.com/sdk/+/e5dd3933b401276fd115fbdb8d9947c897c17734\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"e5dd3933b401276fd115fbdb8d9947c897c17734\"}}",
    "project": "dart",
    "result_details_json": "{\"properties\": {}}",
    "service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
    "status": "SCHEDULED",
    "status_changed_ts": "1588969366506440",
    "tags": [
      "build_address:luci.dart.ci.sandbox/vm-ffi-android-release-arm/4328",
      "builder:vm-ffi-android-release-arm",
      "buildset:commit/git/e5dd3933b401276fd115fbdb8d9947c897c17734",
      "buildset:commit/gitiles/dart.googlesource.com/sdk/+/e5dd3933b401276fd115fbdb8d9947c897c17734",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9046268636510550960",
      "scheduler_job_id:dart/vm-ffi-android-release-arm",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8880838574128776464/+/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": "1588969366506567",
    "url": "https://ci.chromium.org/b/8880838574128776464",
    "utcnow_ts": "1588969366786177"
  }
}
[20:22:46.826] Task URL: https://ci.chromium.org/b/8880838574128776464
[20:22:46.826] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:2:0) after 1m0s
[20:23:47.034] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:2:0)
[20:23:47.034] Timer tick, asking Buildbucket for the build status
[20:23:47.870] Build 8880838574128776464: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[20:23:47.870] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:3:0) after 1m0s
[20:24:48.058] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:3:0)
[20:24:48.058] Timer tick, asking Buildbucket for the build status
[20:24:48.367] Build 8880838574128776464: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[20:24:48.367] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:4:0) after 1m0s
[20:25:48.592] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:4:0)
[20:25:48.592] Timer tick, asking Buildbucket for the build status
[20:25:48.709] Build 8880838574128776464: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[20:25:48.709] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:5:0) after 1m0s
[20:26:48.790] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:5:0)
[20:26:48.790] Timer tick, asking Buildbucket for the build status
[20:26:48.966] Build 8880838574128776464: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[20:26:48.966] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:6:0) after 1m0s
[20:27:49.094] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:6:0)
[20:27:49.094] Timer tick, asking Buildbucket for the build status
[20:27:49.249] Build 8880838574128776464: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[20:27:49.249] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:7:0) after 1m0s
[20:28:49.347] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:7:0)
[20:28:49.347] Timer tick, asking Buildbucket for the build status
[20:28:49.596] Build 8880838574128776464: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[20:28:49.596] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:8:0) after 1m0s
[20:29:49.592] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:8:0)
[20:29:49.592] Timer tick, asking Buildbucket for the build status
[20:29:49.937] Build 8880838574128776464: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[20:29:49.937] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:9:0) after 1m0s
[20:30:49.932] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:9:0)
[20:30:49.932] Timer tick, asking Buildbucket for the build status
[20:30:50.063] Build 8880838574128776464: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[20:30:50.063] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:10:0) after 1m0s
[20:31:50.127] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:10:0)
[20:31:50.127] Timer tick, asking Buildbucket for the build status
[20:31:50.261] Build 8880838574128776464: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[20:31:50.261] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:11:0) after 1m0s
[20:32:50.298] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:11:0)
[20:32:50.298] Timer tick, asking Buildbucket for the build status
[20:32:50.775] Build 8880838574128776464: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[20:32:50.775] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:12:0) after 1m0s
[20:32:51.580] Received PubSub notification, asking Buildbucket for the build status
[20:32:51.831] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:33:50.798] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:12:0)
[20:33:50.798] Timer tick, asking Buildbucket for the build status
[20:33:50.951] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:33:50.951] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:14:0) after 1m0s
[20:34:51.001] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:14:0)
[20:34:51.001] Timer tick, asking Buildbucket for the build status
[20:34:51.481] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:34:51.481] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:15:0) after 1m0s
[20:35:51.509] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:15:0)
[20:35:51.509] Timer tick, asking Buildbucket for the build status
[20:35:51.713] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:35:51.713] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:16:0) after 1m0s
[20:36:51.688] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:16:0)
[20:36:51.688] Timer tick, asking Buildbucket for the build status
[20:36:51.875] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:36:51.875] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:17:0) after 1m0s
[20:37:51.894] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:17:0)
[20:37:51.894] Timer tick, asking Buildbucket for the build status
[20:37:52.060] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:37:52.060] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:18:0) after 1m0s
[20:38:52.049] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:18:0)
[20:38:52.049] Timer tick, asking Buildbucket for the build status
[20:38:52.553] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:38:52.553] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:19:0) after 1m0s
[20:39:52.555] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:19:0)
[20:39:52.555] Timer tick, asking Buildbucket for the build status
[20:39:52.744] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:39:52.744] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:20:0) after 1m0s
[20:40:52.768] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:20:0)
[20:40:52.768] Timer tick, asking Buildbucket for the build status
[20:40:53.145] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:40:53.145] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:21:0) after 1m0s
[20:41:53.175] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:21:0)
[20:41:53.175] Timer tick, asking Buildbucket for the build status
[20:41:53.278] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:41:53.278] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:22:0) after 1m0s
[20:42:53.301] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:22:0)
[20:42:53.301] Timer tick, asking Buildbucket for the build status
[20:42:53.628] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:42:53.628] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:23:0) after 1m0s
[20:43:53.696] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:23:0)
[20:43:53.696] Timer tick, asking Buildbucket for the build status
[20:43:53.947] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:43:53.947] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:24:0) after 1m0s
[20:44:53.990] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:24:0)
[20:44:53.990] Timer tick, asking Buildbucket for the build status
[20:44:54.184] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:44:54.184] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:25:0) after 1m0s
[20:45:54.238] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:25:0)
[20:45:54.238] Timer tick, asking Buildbucket for the build status
[20:45:54.452] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:45:54.452] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:26:0) after 1m0s
[20:46:54.496] Handling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:26:0)
[20:46:54.496] Timer tick, asking Buildbucket for the build status
[20:46:54.777] Build 8880838574128776464: status "STARTED", result "", failure_reason "", cancelation_reason ""
[20:46:54.777] Scheduling timer "check-buildbucket-build-status" (dart/vm-ffi-android-release-arm:9046268636510550960:27:0) after 1m0s
[20:47:34.834] Received PubSub notification, asking Buildbucket for the build status
[20:47:34.904] Build 8880838574128776464: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[20:47:34.904] Buildbucket build:
{
  "build": {
    "bucket": "luci.dart.ci.sandbox",
    "canary": true,
    "canary_preference": "CANARY",
    "completed_ts": "1588970853990813",
    "created_by": "project:dart",
    "created_ts": "1588969365911518",
    "id": "8880838574128776464",
    "parameters_json": "{\"builder_name\": \"vm-ffi-android-release-arm\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://dart.googlesource.com/sdk\", \"revision\": \"e5dd3933b401276fd115fbdb8d9947c897c17734\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@e5dd3933b401276fd115fbdb8d9947c897c17734\", \"title\": \"e5dd3933b401276fd115fbdb8d9947c897c17734\", \"url\": \"https://dart.googlesource.com/sdk/+/e5dd3933b401276fd115fbdb8d9947c897c17734\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"e5dd3933b401276fd115fbdb8d9947c897c17734\"}}",
    "project": "dart",
    "result": "SUCCESS",
    "result_details_json": "{\"properties\": {\"$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\": \"e5dd3933b401276fd115fbdb8d9947c897c17734\"}, \"id\": \"https://dart.googlesource.com/sdk/+/refs/heads/master@e5dd3933b401276fd115fbdb8d9947c897c17734\", \"title\": \"e5dd3933b401276fd115fbdb8d9947c897c17734\", \"url\": \"https://dart.googlesource.com/sdk/+/e5dd3933b401276fd115fbdb8d9947c897c17734\"}]}, \"$recipe_engine/swarming\": {\"server\": \"https://chromium-swarm.appspot.com\"}, \"bot_id\": \"luci-dart-try-xenial-90-f5zc\", \"branch\": \"refs/heads/master\", \"buildername\": \"vm-ffi-android-release-arm\", \"buildnumber\": 4328, \"clobber\": \"true\", \"got_revision\": \"e5dd3933b401276fd115fbdb8d9947c897c17734\", \"path_config\": \"generic\", \"recipe\": \"dart/neo\", \"repository\": \"https://dart.googlesource.com/sdk\", \"revision\": \"e5dd3933b401276fd115fbdb8d9947c897c17734\"}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"builder_36c85ebda7bed74f4f047df6d39aba7f824e167a4ee669897e735d76b78f3755_v2\", \"builder_4465b96f8363613b9fe8383db9c6c683aa0e555919da7f05b6c34e1093f4e002_v2\", \"builder_7bbcbf1d23b18216636ada7ac590a1a1084972b87ae360e02da6fdda1bfddc0c_v2\", \"builder_8949c8dcce2aeb2bc996a62a5f0905a891fc8b28f646674fea9daaf49a06323f_v2\", \"builder_8ed1ab99259f310ab52a6c8101ca6ca203b7dd6fbcd657e9977a4c47012f5036_v2\", \"builder_e7cb4a72b876d4aa81ed569f6afbdaa203d6b5278ad75cec4457accb7a162103_v2\", \"builder_fc87d8b756f6ef6f58af66318edbeaca820eb4af106a8048351c27566d7fbe87_v2\", \"git\", \"goma_v2\", \"vpython\"], \"cores\": [\"8\"], \"cpu\": [\"x86\", \"x86-64\", \"x86-64-Broadwell_GCE\", \"x86-64-avx2\"], \"gce\": [\"1\"], \"gcp\": [\"dart-ci\"], \"gpu\": [\"none\"], \"host_class\": [\"default\"], \"id\": [\"luci-dart-try-xenial-90-f5zc\"], \"image\": [\"dart-xenial-20022300-4c0e34b5b5e\"], \"inside_docker\": [\"0\"], \"kvm\": [\"1\"], \"locale\": [\"en_US.UTF-8\"], \"machine_type\": [\"n1-standard-8\"], \"os\": [\"Linux\", \"Ubuntu\", \"Ubuntu-16.04\"], \"pool\": [\"dart.tests\", \"luci.dart.try\"], \"python\": [\"2.7.12\"], \"server_version\": [\"5050-4c62a25\"], \"ssd\": [\"0\"], \"zone\": [\"us\", \"us-central\", \"us-central1\", \"us-central1-b\"]}}}",
    "service_account": "dart-luci-try-builder@dart-ci.iam.gserviceaccount.com",
    "started_ts": "1588969970471737",
    "status": "COMPLETED",
    "status_changed_ts": "1588970854466043",
    "tags": [
      "build_address:luci.dart.ci.sandbox/vm-ffi-android-release-arm/4328",
      "builder:vm-ffi-android-release-arm",
      "buildset:commit/git/e5dd3933b401276fd115fbdb8d9947c897c17734",
      "buildset:commit/gitiles/dart.googlesource.com/sdk/+/e5dd3933b401276fd115fbdb8d9947c897c17734",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9046268636510550960",
      "scheduler_job_id:dart/vm-ffi-android-release-arm",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/dart/buildbucket/cr-buildbucket.appspot.com/8880838574128776464/+/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:4c0ec600a05e6c10",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1588970854488345",
    "url": "https://ci.chromium.org/b/8880838574128776464",
    "utcnow_ts": "1588970854894670"
  }
}
[20:47:34.904] Invocation finished in 24m50.647769426s with status SUCCEEDED