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

Definition (rev cca5e2689dfd70ecc9405e1b7f6d49f169ec490f)

buildbucket: <
  server: "cr-buildbucket.appspot.com"
  bucket: "luci.webrtc.ci"
  builder: "iOS64 Debug"
>

Incoming triggers

Incoming properties

{
  "branch": "refs/heads/master",
  "repository": "https://webrtc.googlesource.com/src",
  "revision": "ab866a2ccbf595af7c8a8646a890548463ea936f"
}

Incoming tags

  • buildset:commit/git/ab866a2ccbf595af7c8a8646a890548463ea936f
  • buildset:commit/gitiles/webrtc.googlesource.com/src/+/ab866a2ccbf595af7c8a8646a890548463ea936f
  • gitiles_ref:refs/heads/master

Debug log (UTC)

[12:18:14.488] New invocation is queued and will start shortly
[12:18:15.907] Starting the invocation (attempt 1)
[12:18:15.944] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[12:18:15.944] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[12:18:15.945] Buildbucket request:
{
  "bucket": "luci.webrtc.ci",
  "client_operation_id": "9046389715364052848",
  "parameters_json": "{\"builder_name\":\"iOS64 Debug\",\"properties\":{\"$recipe_engine/scheduler\":{\"hostname\":\"luci-scheduler.appspot.com\",\"triggers\":[{\"gitiles\":{\"ref\":\"refs/heads/master\",\"repo\":\"https://webrtc.googlesource.com/src\",\"revision\":\"ab866a2ccbf595af7c8a8646a890548463ea936f\"},\"id\":\"https://webrtc.googlesource.com/src/+/refs/heads/master@ab866a2ccbf595af7c8a8646a890548463ea936f\",\"title\":\"ab866a2ccbf595af7c8a8646a890548463ea936f\",\"url\":\"https://webrtc.googlesource.com/src/+/ab866a2ccbf595af7c8a8646a890548463ea936f\"}]},\"branch\":\"refs/heads/master\",\"repository\":\"https://webrtc.googlesource.com/src\",\"revision\":\"ab866a2ccbf595af7c8a8646a890548463ea936f\"}}",
  "pubsub_callback": {
    "auth_token": "...",
    "topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
  },
  "tags": [
    "builder:iOS64 Debug",
    "scheduler_invocation_id:9046389715364052848",
    "scheduler_job_id:webrtc/iOS64 Debug",
    "user_agent:luci-scheduler",
    "buildset:commit/git/ab866a2ccbf595af7c8a8646a890548463ea936f",
    "buildset:commit/gitiles/webrtc.googlesource.com/src/+/ab866a2ccbf595af7c8a8646a890548463ea936f",
    "gitiles_ref:refs/heads/master"
  ]
}
[12:18:17.968] Buildbucket response:
{
  "build": {
    "bucket": "luci.webrtc.ci",
    "canary_preference": "PROD",
    "created_by": "project:webrtc",
    "created_ts": "1588853896165695",
    "id": "8880959652933435504",
    "parameters_json": "{\"builder_name\": \"iOS64 Debug\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://webrtc.googlesource.com/src\", \"revision\": \"ab866a2ccbf595af7c8a8646a890548463ea936f\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@ab866a2ccbf595af7c8a8646a890548463ea936f\", \"title\": \"ab866a2ccbf595af7c8a8646a890548463ea936f\", \"url\": \"https://webrtc.googlesource.com/src/+/ab866a2ccbf595af7c8a8646a890548463ea936f\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"ab866a2ccbf595af7c8a8646a890548463ea936f\"}}",
    "project": "webrtc",
    "result_details_json": "{\"properties\": {}}",
    "service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
    "status": "SCHEDULED",
    "status_changed_ts": "1588853897256683",
    "tags": [
      "build_address:luci.webrtc.ci/iOS64 Debug/18993",
      "builder:iOS64 Debug",
      "buildset:commit/git/ab866a2ccbf595af7c8a8646a890548463ea936f",
      "buildset:commit/gitiles/webrtc.googlesource.com/src/+/ab866a2ccbf595af7c8a8646a890548463ea936f",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9046389715364052848",
      "scheduler_job_id:webrtc/iOS64 Debug",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8880959652933435504/+/annotations",
      "swarming_tag:luci_project:webrtc",
      "swarming_tag:recipe_name:webrtc/ios",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_task_id:",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1588853897256891",
    "url": "https://ci.chromium.org/b/8880959652933435504",
    "utcnow_ts": "1588853897541702"
  }
}
[12:18:17.968] Task URL: https://ci.chromium.org/b/8880959652933435504
[12:18:17.968] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:2:0) after 1m0s
[12:19:18.002] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:2:0)
[12:19:18.002] Timer tick, asking Buildbucket for the build status
[12:19:18.180] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:19:18.180] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:3:0) after 1m0s
[12:20:18.278] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:3:0)
[12:20:18.278] Timer tick, asking Buildbucket for the build status
[12:20:18.452] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:20:18.452] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:4:0) after 1m0s
[12:21:18.519] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:4:0)
[12:21:18.519] Timer tick, asking Buildbucket for the build status
[12:21:18.824] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:21:18.824] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:5:0) after 1m0s
[12:22:18.959] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:5:0)
[12:22:18.959] Timer tick, asking Buildbucket for the build status
[12:22:19.144] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:22:19.144] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:6:0) after 1m0s
[12:23:19.154] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:6:0)
[12:23:19.154] Timer tick, asking Buildbucket for the build status
[12:23:19.344] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:23:19.344] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:7:0) after 1m0s
[12:24:19.441] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:7:0)
[12:24:19.441] Timer tick, asking Buildbucket for the build status
[12:24:19.736] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:24:19.736] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:8:0) after 1m0s
[12:25:19.756] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:8:0)
[12:25:19.756] Timer tick, asking Buildbucket for the build status
[12:25:19.841] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:25:19.841] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:9:0) after 1m0s
[12:26:19.879] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:9:0)
[12:26:19.879] Timer tick, asking Buildbucket for the build status
[12:26:20.071] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:26:20.071] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:10:0) after 1m0s
[12:27:20.223] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:10:0)
[12:27:20.223] Timer tick, asking Buildbucket for the build status
[12:27:20.356] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:27:20.356] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:11:0) after 1m0s
[12:28:20.480] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:11:0)
[12:28:20.480] Timer tick, asking Buildbucket for the build status
[12:28:20.652] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:28:20.652] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:12:0) after 1m0s
[12:29:20.858] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:12:0)
[12:29:20.858] Timer tick, asking Buildbucket for the build status
[12:29:21.284] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:29:21.284] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:13:0) after 1m0s
[12:30:21.349] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:13:0)
[12:30:21.349] Timer tick, asking Buildbucket for the build status
[12:30:21.754] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:30:21.754] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:14:0) after 1m0s
[12:31:21.938] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:14:0)
[12:31:21.938] Timer tick, asking Buildbucket for the build status
[12:31:22.231] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:31:22.231] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:15:0) after 1m0s
[12:32:22.312] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:15:0)
[12:32:22.312] Timer tick, asking Buildbucket for the build status
[12:32:22.601] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:32:22.601] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:16:0) after 1m0s
[12:33:22.772] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:16:0)
[12:33:22.772] Timer tick, asking Buildbucket for the build status
[12:33:23.592] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:33:23.592] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:17:0) after 1m0s
[12:34:23.777] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:17:0)
[12:34:23.777] Timer tick, asking Buildbucket for the build status
[12:34:23.935] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:34:23.935] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:18:0) after 1m0s
[12:35:24.313] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:18:0)
[12:35:24.313] Timer tick, asking Buildbucket for the build status
[12:35:24.463] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:35:24.463] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:19:0) after 1m0s
[12:36:24.493] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:19:0)
[12:36:24.493] Timer tick, asking Buildbucket for the build status
[12:36:24.851] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:36:24.851] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:20:0) after 1m0s
[12:37:25.062] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:20:0)
[12:37:25.062] Timer tick, asking Buildbucket for the build status
[12:37:25.463] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:37:25.463] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:21:0) after 1m0s
[12:38:25.633] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:21:0)
[12:38:25.633] Timer tick, asking Buildbucket for the build status
[12:38:25.785] Build 8880959652933435504: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[12:38:25.785] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:22:0) after 1m0s
[12:38:35.713] Received PubSub notification, asking Buildbucket for the build status
[12:38:35.900] Build 8880959652933435504: status "STARTED", result "", failure_reason "", cancelation_reason ""
[12:39:25.868] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:22:0)
[12:39:25.868] Timer tick, asking Buildbucket for the build status
[12:39:25.997] Build 8880959652933435504: status "STARTED", result "", failure_reason "", cancelation_reason ""
[12:39:25.997] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:24:0) after 1m0s
[12:40:26.028] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:24:0)
[12:40:26.028] Timer tick, asking Buildbucket for the build status
[12:40:26.217] Build 8880959652933435504: status "STARTED", result "", failure_reason "", cancelation_reason ""
[12:40:26.217] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:25:0) after 1m0s
[12:41:26.317] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:25:0)
[12:41:26.317] Timer tick, asking Buildbucket for the build status
[12:41:26.557] Build 8880959652933435504: status "STARTED", result "", failure_reason "", cancelation_reason ""
[12:41:26.557] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:26:0) after 1m0s
[12:42:26.750] Handling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:26:0)
[12:42:26.750] Timer tick, asking Buildbucket for the build status
[12:42:27.032] Build 8880959652933435504: status "STARTED", result "", failure_reason "", cancelation_reason ""
[12:42:27.032] Scheduling timer "check-buildbucket-build-status" (webrtc/iOS64 Debug:9046389715364052848:27:0) after 1m0s
[12:42:44.402] Received PubSub notification, asking Buildbucket for the build status
[12:42:44.481] Build 8880959652933435504: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[12:42:44.481] Buildbucket build:
{
  "build": {
    "bucket": "luci.webrtc.ci",
    "canary_preference": "PROD",
    "completed_ts": "1588855363427841",
    "created_by": "project:webrtc",
    "created_ts": "1588853896165695",
    "id": "8880959652933435504",
    "parameters_json": "{\"builder_name\": \"iOS64 Debug\", \"properties\": {\"$recipe_engine/scheduler\": {\"hostname\": \"luci-scheduler.appspot.com\", \"triggers\": [{\"gitiles\": {\"ref\": \"refs/heads/master\", \"repo\": \"https://webrtc.googlesource.com/src\", \"revision\": \"ab866a2ccbf595af7c8a8646a890548463ea936f\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@ab866a2ccbf595af7c8a8646a890548463ea936f\", \"title\": \"ab866a2ccbf595af7c8a8646a890548463ea936f\", \"url\": \"https://webrtc.googlesource.com/src/+/ab866a2ccbf595af7c8a8646a890548463ea936f\"}]}, \"branch\": \"refs/heads/master\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"ab866a2ccbf595af7c8a8646a890548463ea936f\"}}",
    "project": "webrtc",
    "result": "SUCCESS",
    "result_details_json": "{\"properties\": {\"$build/goma\": {\"server_host\": \"goma.chromium.org\", \"use_luci_auth\": true}, \"$depot_tools/osx_sdk\": {\"sdk_version\": \"11c29\"}, \"$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://webrtc.googlesource.com/src\", \"revision\": \"ab866a2ccbf595af7c8a8646a890548463ea936f\"}, \"id\": \"https://webrtc.googlesource.com/src/+/refs/heads/master@ab866a2ccbf595af7c8a8646a890548463ea936f\", \"title\": \"ab866a2ccbf595af7c8a8646a890548463ea936f\", \"url\": \"https://webrtc.googlesource.com/src/+/ab866a2ccbf595af7c8a8646a890548463ea936f\"}]}, \"bot_id\": \"build141-m9\", \"branch\": \"refs/heads/master\", \"buildername\": \"iOS64 Debug\", \"buildnumber\": 18993, \"got_clang_revision\": \"n346557-4e0d9925-2\", \"got_revision\": \"ab866a2ccbf595af7c8a8646a890548463ea936f\", \"got_revision_cp\": \"refs/heads/master@{#31180}\", \"mastername\": \"client.webrtc\", \"path_config\": \"generic\", \"recipe\": \"webrtc/ios\", \"repository\": \"https://webrtc.googlesource.com/src\", \"revision\": \"ab866a2ccbf595af7c8a8646a890548463ea936f\"}, \"swarming\": {\"bot_dimensions\": {\"caches\": [\"builder_059806cb76369fad874f65dcf15d9fac8b85f8aaa2bcc21181e3047888c9f722_v2\", \"builder_061ad2c84e63fc0fec4b05c132093ef9b6ab75b59928be3b662c8e2e0a6344fd_v2\", \"builder_159efc1d4e07f83357b1af150b22b5735146a4a38107e0dc728b750b9a5ddd95_v2\", \"builder_2187023a95b72a4c85b14150e8627786d4d0f124144eef86bf927816a2830941_v2\", \"builder_3d12c2f33c8b539e7425f6bc13584a1590c81aeb2114d2a2ac69b6615cd68c43_v2\", \"builder_43f7e9f5ae24b6ee3ca22209fec6b34c1a00e60d041ce7cae040782e455433aa_v2\", \"builder_5be86841ba1a2fffbf39b2203b40a6ecce8d6cb8ff7379bf32e5204ecbef59b2_v2\", \"builder_63601768ebaa6550931251d01f66fd42a511d047ab36f27e7a12ce2bed95fdde_v2\", \"builder_8a2278e97eb38544b82301aee383e0f90c5414a7b11d57b8f9ae783a4faf492d_v2\", \"builder_af73c5fcdc7c8d0d83ff5fdfb91effdc54af69c7f411ef9f3eba46b34978fd88_v2\", \"builder_d425412af15739f7858c3ec48c0cf46fd8a190c41fc9a14b966839c948b4f9be_v2\", \"git\", \"goma_v2\", \"osx_sdk\", \"vpython\"], \"cores\": [\"4\"], \"cpu\": [\"x86\", \"x86-64\", \"x86-64-i7-4578U\"], \"gce\": [\"0\"], \"gpu\": [\"8086\", \"8086:0a2e\"], \"hidpi\": [\"0\"], \"id\": [\"build141-m9\"], \"mac_model\": [\"Macmini7,1\"], \"machine_type\": [\"n1-standard-4\"], \"os\": [\"Mac\", \"Mac-10.14\", \"Mac-10.14.6\"], \"pool\": [\"luci.webrtc.ci\"], \"python\": [\"2.7.10\"], \"server_version\": [\"5033-bf2739b\"], \"ssd\": [\"1\"], \"zone\": [\"us\", \"us-atl\", \"us-atl-golo\", \"us-atl-golo-m9\"]}}}",
    "service_account": "webrtc-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
    "started_ts": "1588855114351358",
    "status": "COMPLETED",
    "status_changed_ts": "1588855363695732",
    "tags": [
      "build_address:luci.webrtc.ci/iOS64 Debug/18993",
      "builder:iOS64 Debug",
      "buildset:commit/git/ab866a2ccbf595af7c8a8646a890548463ea936f",
      "buildset:commit/gitiles/webrtc.googlesource.com/src/+/ab866a2ccbf595af7c8a8646a890548463ea936f",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9046389715364052848",
      "scheduler_job_id:webrtc/iOS64 Debug",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:log_location:logdog://logs.chromium.org/webrtc/buildbucket/cr-buildbucket.appspot.com/8880959652933435504/+/annotations",
      "swarming_tag:luci_project:webrtc",
      "swarming_tag:os:Mac",
      "swarming_tag:recipe_name:webrtc/ios",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_task_id:4c07e40e5c2fca10",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1588855363750477",
    "url": "https://ci.chromium.org/b/8880959652933435504",
    "utcnow_ts": "1588855364473798"
  }
}
[12:42:44.482] Invocation finished in 24m30.018827464s with status SUCCEEDED