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

Definition (rev 58aa5b5aa51b86b4526dd8cca55bbc0cc337bee6)

buildbucket: <
  server: "cr-buildbucket.appspot.com"
  bucket: "luci.boringssl.ci"
  builder: "android_arm_rel"
>

Incoming triggers

Incoming properties

{
  "branch": "refs/heads/master",
  "repository": "https://boringssl.googlesource.com/boringssl.git",
  "revision": "384d0eaf1930af1ebc47eda751f0c78dfcba1c03"
}

Incoming tags

  • buildset:commit/git/384d0eaf1930af1ebc47eda751f0c78dfcba1c03
  • buildset:commit/gitiles/boringssl.googlesource.com/boringssl/+/384d0eaf1930af1ebc47eda751f0c78dfcba1c03
  • gitiles_ref:refs/heads/master

Debug log (UTC)

[19:04:58.196] New invocation is queued and will start shortly
[19:04:59.489] Starting the invocation (attempt 1)
[19:04:59.554] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[19:04:59.554] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[19:04:59.555] Buildbucket request:
{
  "bucket": "luci.boringssl.ci",
  "client_operation_id": "9096011263801967280",
  "parameters_json": "{\"builder_name\":\"android_arm_rel\",\"properties\":{\"branch\":\"refs/heads/master\",\"repository\":\"https://boringssl.googlesource.com/boringssl.git\",\"revision\":\"384d0eaf1930af1ebc47eda751f0c78dfcba1c03\"}}",
  "pubsub_callback": {
    "auth_token": "...",
    "topic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
  },
  "tags": [
    "builder:android_arm_rel",
    "scheduler_invocation_id:9096011263801967280",
    "scheduler_job_id:boringssl/android_arm_rel",
    "user_agent:luci-scheduler",
    "buildset:commit/git/384d0eaf1930af1ebc47eda751f0c78dfcba1c03",
    "buildset:commit/gitiles/boringssl.googlesource.com/boringssl/+/384d0eaf1930af1ebc47eda751f0c78dfcba1c03",
    "gitiles_ref:refs/heads/master"
  ]
}
[19:05:00.750] Buildbucket response:
{
  "build": {
    "bucket": "luci.boringssl.ci",
    "canary_preference": "AUTO",
    "created_by": "user:luci-scheduler@appspot.gserviceaccount.com",
    "created_ts": "1541531099707160",
    "id": "8930581201551362384",
    "lease_expiration_ts": "1541641500381210",
    "lease_key": "274679391",
    "parameters_json": "{\"builder_name\": \"android_arm_rel\", \"properties\": {\"branch\": \"refs/heads/master\", \"repository\": \"https://boringssl.googlesource.com/boringssl.git\", \"revision\": \"384d0eaf1930af1ebc47eda751f0c78dfcba1c03\"}}",
    "project": "boringssl",
    "result_details_json": "null",
    "service_account": "boringssl-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
    "status": "SCHEDULED",
    "status_changed_ts": "1541531100595893",
    "tags": [
      "builder:android_arm_rel",
      "buildset:commit/git/384d0eaf1930af1ebc47eda751f0c78dfcba1c03",
      "buildset:commit/gitiles/boringssl.googlesource.com/boringssl/+/384d0eaf1930af1ebc47eda751f0c78dfcba1c03",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9096011263801967280",
      "scheduler_job_id:boringssl/android_arm_rel",
      "swarming_dimension:caches:builder_164f1487d68ce542665e2aa7195b80a2c8ba965d7bb725bd39a1af6aeba188bb_v2",
      "swarming_dimension:device_type:bullhead",
      "swarming_dimension:pool:luci.flex.ci",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:buildbucket_bucket:boringssl/ci",
      "swarming_tag:buildbucket_build_id:8930581201551362384",
      "swarming_tag:buildbucket_hostname:cr-buildbucket.appspot.com",
      "swarming_tag:buildbucket_template_canary:0",
      "swarming_tag:buildbucket_template_revision:c1e4e074f3337ff2dbbfb9aa3b0475a61adb09a6",
      "swarming_tag:builder:android_arm_rel",
      "swarming_tag:buildset:commit/git/384d0eaf1930af1ebc47eda751f0c78dfcba1c03",
      "swarming_tag:buildset:commit/gitiles/boringssl.googlesource.com/boringssl/+/384d0eaf1930af1ebc47eda751f0c78dfcba1c03",
      "swarming_tag:caches:builder_164f1487d68ce542665e2aa7195b80a2c8ba965d7bb725bd39a1af6aeba188bb_v2",
      "swarming_tag:device_type:bullhead",
      "swarming_tag:gitiles_ref:refs/heads/master",
      "swarming_tag:log_location:logdog://logs.chromium.org/boringssl/buildbucket/cr-buildbucket.appspot.com/8930581201551362384/+/annotations",
      "swarming_tag:luci_project:boringssl",
      "swarming_tag:pool:luci.flex.ci",
      "swarming_tag:priority:30",
      "swarming_tag:recipe_name:boringssl",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_tag:scheduler_invocation_id:9096011263801967280",
      "swarming_tag:scheduler_job_id:boringssl/android_arm_rel",
      "swarming_tag:service_account:boringssl-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
      "swarming_tag:swarming.pool.template:skip",
      "swarming_tag:swarming.pool.version:dd55db361767f651954903f456cf3885474a96dc",
      "swarming_tag:user:None",
      "swarming_tag:user_agent:luci-scheduler",
      "swarming_task_id:41033b6adb1d5b10",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1541531100595984",
    "url": "https://ci.chromium.org/b/8930581201551362384",
    "utcnow_ts": "1541531100732740"
  }
}
[19:05:00.750] Task URL: https://ci.chromium.org/b/8930581201551362384
[19:05:00.750] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:2:0) after 1m0s
[19:05:03.050] Received PubSub notification, asking Buildbucket for the build status
[19:05:03.092] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:06:00.818] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:2:0)
[19:06:00.818] Timer tick, asking Buildbucket for the build status
[19:06:00.921] Build 8930581201551362384: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[19:06:00.921] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:4:0) after 1m0s
[19:07:00.992] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:4:0)
[19:07:00.992] Timer tick, asking Buildbucket for the build status
[19:07:01.064] Build 8930581201551362384: status "SCHEDULED", result "", failure_reason "", cancelation_reason ""
[19:07:01.064] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:5:0) after 1m0s
[19:07:09.069] Received PubSub notification, asking Buildbucket for the build status
[19:07:09.104] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:08:01.104] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:5:0)
[19:08:01.104] Timer tick, asking Buildbucket for the build status
[19:08:01.151] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:08:01.151] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:7:0) after 1m0s
[19:09:01.186] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:7:0)
[19:09:01.186] Timer tick, asking Buildbucket for the build status
[19:09:01.239] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:09:01.239] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:8:0) after 1m0s
[19:10:01.257] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:8:0)
[19:10:01.257] Timer tick, asking Buildbucket for the build status
[19:10:01.678] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:10:01.678] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:9:0) after 1m0s
[19:11:01.712] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:9:0)
[19:11:01.712] Timer tick, asking Buildbucket for the build status
[19:11:01.781] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:11:01.781] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:10:0) after 1m0s
[19:12:01.801] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:10:0)
[19:12:01.801] Timer tick, asking Buildbucket for the build status
[19:12:02.528] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:12:02.528] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:11:0) after 1m0s
[19:13:02.561] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:11:0)
[19:13:02.561] Timer tick, asking Buildbucket for the build status
[19:13:02.721] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:13:02.721] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:12:0) after 1m0s
[19:14:02.738] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:12:0)
[19:14:02.738] Timer tick, asking Buildbucket for the build status
[19:14:04.034] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:14:04.034] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:13:0) after 1m0s
[19:15:04.073] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:13:0)
[19:15:04.073] Timer tick, asking Buildbucket for the build status
[19:15:04.203] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:15:04.204] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:14:0) after 1m0s
[19:16:04.252] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:14:0)
[19:16:04.252] Timer tick, asking Buildbucket for the build status
[19:16:04.328] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:16:04.328] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:15:0) after 1m0s
[19:17:04.351] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:15:0)
[19:17:04.351] Timer tick, asking Buildbucket for the build status
[19:17:04.390] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:17:04.390] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:16:0) after 1m0s
[19:18:04.410] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:16:0)
[19:18:04.410] Timer tick, asking Buildbucket for the build status
[19:18:04.472] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:18:04.472] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:17:0) after 1m0s
[19:19:04.501] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:17:0)
[19:19:04.501] Timer tick, asking Buildbucket for the build status
[19:19:04.576] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:19:04.576] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:18:0) after 1m0s
[19:20:04.599] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:18:0)
[19:20:04.599] Timer tick, asking Buildbucket for the build status
[19:20:04.845] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:20:04.845] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:19:0) after 1m0s
[19:21:04.923] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:19:0)
[19:21:04.923] Timer tick, asking Buildbucket for the build status
[19:21:05.066] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:21:05.066] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:20:0) after 1m0s
[19:22:05.092] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:20:0)
[19:22:05.093] Timer tick, asking Buildbucket for the build status
[19:22:05.223] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:22:05.223] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:21:0) after 1m0s
[19:23:05.240] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:21:0)
[19:23:05.240] Timer tick, asking Buildbucket for the build status
[19:23:05.313] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:23:05.313] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:22:0) after 1m0s
[19:24:05.361] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:22:0)
[19:24:05.361] Timer tick, asking Buildbucket for the build status
[19:24:05.410] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:24:05.410] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:23:0) after 1m0s
[19:25:05.427] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:23:0)
[19:25:05.427] Timer tick, asking Buildbucket for the build status
[19:25:05.629] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:25:05.629] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:24:0) after 1m0s
[19:26:05.654] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:24:0)
[19:26:05.654] Timer tick, asking Buildbucket for the build status
[19:26:05.729] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:26:05.729] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:25:0) after 1m0s
[19:27:05.754] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:25:0)
[19:27:05.754] Timer tick, asking Buildbucket for the build status
[19:27:05.815] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:27:05.815] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:26:0) after 1m0s
[19:28:05.837] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:26:0)
[19:28:05.837] Timer tick, asking Buildbucket for the build status
[19:28:05.891] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:28:05.891] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:27:0) after 1m0s
[19:29:05.917] Handling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:27:0)
[19:29:05.917] Timer tick, asking Buildbucket for the build status
[19:29:06.017] Build 8930581201551362384: status "STARTED", result "", failure_reason "", cancelation_reason ""
[19:29:06.017] Scheduling timer "check-buildbucket-build-status" (boringssl/android_arm_rel:9096011263801967280:28:0) after 1m0s
[19:29:09.055] Received PubSub notification, asking Buildbucket for the build status
[19:29:09.101] Build 8930581201551362384: status "COMPLETED", result "SUCCESS", failure_reason "", cancelation_reason ""
[19:29:09.101] Buildbucket build:
{
  "build": {
    "bucket": "luci.boringssl.ci",
    "canary_preference": "AUTO",
    "completed_ts": "1541532547770355",
    "created_by": "user:luci-scheduler@appspot.gserviceaccount.com",
    "created_ts": "1541531099707160",
    "id": "8930581201551362384",
    "parameters_json": "{\"builder_name\": \"android_arm_rel\", \"properties\": {\"branch\": \"refs/heads/master\", \"repository\": \"https://boringssl.googlesource.com/boringssl.git\", \"revision\": \"384d0eaf1930af1ebc47eda751f0c78dfcba1c03\"}}",
    "project": "boringssl",
    "result": "SUCCESS",
    "result_details_json": "{\"ui\": {\"info\": \"\"}, \"swarming\": {\"bot_dimensions\": {\"device_os_flavor\": [\"google\"], \"zone\": [\"us\", \"us-mtv\", \"us-mtv-chops\", \"us-mtv-chops-b\", \"us-mtv-chops-b-9\"], \"inside_docker\": [\"1\", \"stock\"], \"python\": [\"2.7.12\"], \"os\": [\"Android\"], \"temp_band\": [\"\u003e=30\"], \"pool\": [\"luci.flex.ci\"], \"device_type\": [\"bullhead\"], \"server_version\": [\"3817-6aedaff\"], \"device_os\": [\"M\", \"MMB29Q\"], \"device_gms_core_version\": [\"8.1.86\"], \"id\": [\"build6-b9--device3\"], \"android_devices\": [\"1\"], \"caches\": [\"git\", \"vpython\"]}}, \"properties\": {\"$recipe_engine/path\": {\"cache_dir\": \"/b/swarming/w/ir/cache\", \"temp_dir\": \"/b/swarming/w/ir/tmp/rt\"}, \"repository\": \"https://boringssl.googlesource.com/boringssl.git\", \"buildername\": \"android_arm_rel\", \"got_revision\": \"384d0eaf1930af1ebc47eda751f0c78dfcba1c03\", \"recipe\": \"boringssl\", \"$recipe_engine/runtime\": {\"is_experimental\": false, \"is_luci\": true}, \"buildbucket\": {\"hostname\": \"cr-buildbucket.appspot.com\", \"build\": {\"created_ts\": 1541531099707160, \"tags\": [\"builder:android_arm_rel\", \"buildset:commit/git/384d0eaf1930af1ebc47eda751f0c78dfcba1c03\", \"buildset:commit/gitiles/boringssl.googlesource.com/boringssl/+/384d0eaf1930af1ebc47eda751f0c78dfcba1c03\", \"gitiles_ref:refs/heads/master\", \"scheduler_invocation_id:9096011263801967280\", \"scheduler_job_id:boringssl/android_arm_rel\", \"user_agent:luci-scheduler\"], \"bucket\": \"luci.boringssl.ci\", \"created_by\": \"user:luci-scheduler@appspot.gserviceaccount.com\", \"project\": \"boringssl\", \"id\": \"8930581201551362384\"}}, \"branch\": \"refs/heads/master\", \"path_config\": \"generic\", \"revision\": \"384d0eaf1930af1ebc47eda751f0c78dfcba1c03\", \"bot_id\": \"build6-b9--device3\"}}",
    "service_account": "boringssl-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
    "started_ts": "1541531102008335",
    "status": "COMPLETED",
    "status_changed_ts": "1541532548559126",
    "tags": [
      "builder:android_arm_rel",
      "buildset:commit/git/384d0eaf1930af1ebc47eda751f0c78dfcba1c03",
      "buildset:commit/gitiles/boringssl.googlesource.com/boringssl/+/384d0eaf1930af1ebc47eda751f0c78dfcba1c03",
      "gitiles_ref:refs/heads/master",
      "scheduler_invocation_id:9096011263801967280",
      "scheduler_job_id:boringssl/android_arm_rel",
      "swarming_dimension:caches:builder_164f1487d68ce542665e2aa7195b80a2c8ba965d7bb725bd39a1af6aeba188bb_v2",
      "swarming_dimension:device_type:bullhead",
      "swarming_dimension:pool:luci.flex.ci",
      "swarming_hostname:chromium-swarm.appspot.com",
      "swarming_tag:buildbucket_bucket:boringssl/ci",
      "swarming_tag:buildbucket_build_id:8930581201551362384",
      "swarming_tag:buildbucket_hostname:cr-buildbucket.appspot.com",
      "swarming_tag:buildbucket_template_canary:0",
      "swarming_tag:buildbucket_template_revision:c1e4e074f3337ff2dbbfb9aa3b0475a61adb09a6",
      "swarming_tag:builder:android_arm_rel",
      "swarming_tag:buildset:commit/git/384d0eaf1930af1ebc47eda751f0c78dfcba1c03",
      "swarming_tag:buildset:commit/gitiles/boringssl.googlesource.com/boringssl/+/384d0eaf1930af1ebc47eda751f0c78dfcba1c03",
      "swarming_tag:caches:builder_164f1487d68ce542665e2aa7195b80a2c8ba965d7bb725bd39a1af6aeba188bb_v2",
      "swarming_tag:device_type:bullhead",
      "swarming_tag:gitiles_ref:refs/heads/master",
      "swarming_tag:log_location:logdog://logs.chromium.org/boringssl/buildbucket/cr-buildbucket.appspot.com/8930581201551362384/+/annotations",
      "swarming_tag:luci_project:boringssl",
      "swarming_tag:pool:luci.flex.ci",
      "swarming_tag:priority:30",
      "swarming_tag:recipe_name:boringssl",
      "swarming_tag:recipe_package:infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",
      "swarming_tag:scheduler_invocation_id:9096011263801967280",
      "swarming_tag:scheduler_job_id:boringssl/android_arm_rel",
      "swarming_tag:service_account:boringssl-ci-builder@chops-service-accounts.iam.gserviceaccount.com",
      "swarming_tag:swarming.pool.template:skip",
      "swarming_tag:swarming.pool.version:dd55db361767f651954903f456cf3885474a96dc",
      "swarming_tag:user:None",
      "swarming_tag:user_agent:luci-scheduler",
      "swarming_task_id:41033b6adb1d5b10",
      "user_agent:luci-scheduler"
    ],
    "updated_ts": "1541532548561936",
    "url": "https://ci.chromium.org/b/8930581201551362384",
    "utcnow_ts": "1541532549088554"
  }
}
[19:29:09.101] Invocation finished in 24m10.923093389s with status SUCCEEDED