Status: SUCCEEDED
Triggered by: -
Duration: 1 hour
Actions:

Definition (rev 98159c5a790a566d9932b3dd4ce70437f6c6eb01)

buildbucket: <
  server: "cr-buildbucket.appspot.com"
  bucket: "global.ci"
  builder: "core.x64-debug-ffx-strict"
>

Incoming triggers

Incoming properties

{
  "branch": "refs/heads/main",
  "repository": "https://fuchsia.googlesource.com/integration",
  "revision": "ed13728958550dc40787c03a6e3d848071b0d4a8"
}

Incoming tags

  • buildset:commit/gitiles/fuchsia.googlesource.com/integration/+/ed13728958550dc40787c03a6e3d848071b0d4a8
  • gitiles_ref:refs/heads/main

Debug log (UTC)

[20:08:07.041] New invocation is queued and will start shortly
[20:08:08.462] Starting the invocation (attempt 1)
[20:08:08.507] Popped buildset tag "buildset:commit/gitiles/fuchsia.googlesource.com/integration/+/ed13728958550dc40787c03a6e3d848071b0d4a8"
[20:08:08.507] Popped gitiles commit info from properties and tags
[20:08:08.507] Preparing PubSub topic for "https://cr-buildbucket.appspot.com"
[20:08:08.507] PubSub topic is "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
[20:08:08.508] Buildbucket request:
{
  "requestId": "8867159353774179216",
  "builder": {
    "project": "fuchsia",
    "bucket": "global.ci",
    "builder": "core.x64-debug-ffx-strict"
  },
  "properties": {
      "$recipe_engine/scheduler": {
            "hostname": "luci-scheduler.appspot.com",
            "invocation": "8867159353774179216",
            "job": "fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f",
            "triggers": [
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "53791fb6133d2a9b2866a28c763b2932196d0449"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@53791fb6133d2a9b2866a28c763b2932196d0449",
                        "title": "53791fb6133d2a9b2866a28c763b2932196d0449",
                        "url": "https://fuchsia.googlesource.com/integration/+/53791fb6133d2a9b2866a28c763b2932196d0449"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "2770fd6dcca013a25b92b7805d4b1c46f9f05e6e"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@2770fd6dcca013a25b92b7805d4b1c46f9f05e6e",
                        "title": "2770fd6dcca013a25b92b7805d4b1c46f9f05e6e",
                        "url": "https://fuchsia.googlesource.com/integration/+/2770fd6dcca013a25b92b7805d4b1c46f9f05e6e"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "fa9db41b35d6d6c808fefc22629575ff57c754f6"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@fa9db41b35d6d6c808fefc22629575ff57c754f6",
                        "title": "fa9db41b35d6d6c808fefc22629575ff57c754f6",
                        "url": "https://fuchsia.googlesource.com/integration/+/fa9db41b35d6d6c808fefc22629575ff57c754f6"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "b31c7ce69c0821e9534715635be6ee0a97057add"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@b31c7ce69c0821e9534715635be6ee0a97057add",
                        "title": "b31c7ce69c0821e9534715635be6ee0a97057add",
                        "url": "https://fuchsia.googlesource.com/integration/+/b31c7ce69c0821e9534715635be6ee0a97057add"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "61ca23da27a7fdcffeee1c0f9fb67a50eff72174"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@61ca23da27a7fdcffeee1c0f9fb67a50eff72174",
                        "title": "61ca23da27a7fdcffeee1c0f9fb67a50eff72174",
                        "url": "https://fuchsia.googlesource.com/integration/+/61ca23da27a7fdcffeee1c0f9fb67a50eff72174"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "7f2b1e9ff3fec09a87b0205ece59d5198f1584ca"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@7f2b1e9ff3fec09a87b0205ece59d5198f1584ca",
                        "title": "7f2b1e9ff3fec09a87b0205ece59d5198f1584ca",
                        "url": "https://fuchsia.googlesource.com/integration/+/7f2b1e9ff3fec09a87b0205ece59d5198f1584ca"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "6e9974399fc1f32aa57c110fcd12f015b238ec31"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@6e9974399fc1f32aa57c110fcd12f015b238ec31",
                        "title": "6e9974399fc1f32aa57c110fcd12f015b238ec31",
                        "url": "https://fuchsia.googlesource.com/integration/+/6e9974399fc1f32aa57c110fcd12f015b238ec31"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "a5d519af23fb5a724ba1bbb4d1a17922e8e44b23"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@a5d519af23fb5a724ba1bbb4d1a17922e8e44b23",
                        "title": "a5d519af23fb5a724ba1bbb4d1a17922e8e44b23",
                        "url": "https://fuchsia.googlesource.com/integration/+/a5d519af23fb5a724ba1bbb4d1a17922e8e44b23"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "5a0e188977403af77b065ef2389c946f9c4cf241"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@5a0e188977403af77b065ef2389c946f9c4cf241",
                        "title": "5a0e188977403af77b065ef2389c946f9c4cf241",
                        "url": "https://fuchsia.googlesource.com/integration/+/5a0e188977403af77b065ef2389c946f9c4cf241"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "bf5d97ca3ee6f631288609cb4ccc5aac1e549734"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@bf5d97ca3ee6f631288609cb4ccc5aac1e549734",
                        "title": "bf5d97ca3ee6f631288609cb4ccc5aac1e549734",
                        "url": "https://fuchsia.googlesource.com/integration/+/bf5d97ca3ee6f631288609cb4ccc5aac1e549734"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "dd58982c943d42182735fd8e96705e68184c02d3"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@dd58982c943d42182735fd8e96705e68184c02d3",
                        "title": "dd58982c943d42182735fd8e96705e68184c02d3",
                        "url": "https://fuchsia.googlesource.com/integration/+/dd58982c943d42182735fd8e96705e68184c02d3"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "e3de976861dc9dce68dbdd346a0c688a1301a680"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@e3de976861dc9dce68dbdd346a0c688a1301a680",
                        "title": "e3de976861dc9dce68dbdd346a0c688a1301a680",
                        "url": "https://fuchsia.googlesource.com/integration/+/e3de976861dc9dce68dbdd346a0c688a1301a680"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "053ff3c48bb54e9874045c9681892c41ab76a668"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@053ff3c48bb54e9874045c9681892c41ab76a668",
                        "title": "053ff3c48bb54e9874045c9681892c41ab76a668",
                        "url": "https://fuchsia.googlesource.com/integration/+/053ff3c48bb54e9874045c9681892c41ab76a668"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "8b23d20e15930c68d17313e3202d02bfbe3379fe"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@8b23d20e15930c68d17313e3202d02bfbe3379fe",
                        "title": "8b23d20e15930c68d17313e3202d02bfbe3379fe",
                        "url": "https://fuchsia.googlesource.com/integration/+/8b23d20e15930c68d17313e3202d02bfbe3379fe"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "9b05873bd67de9c32e0983aff108862e5600b735"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@9b05873bd67de9c32e0983aff108862e5600b735",
                        "title": "9b05873bd67de9c32e0983aff108862e5600b735",
                        "url": "https://fuchsia.googlesource.com/integration/+/9b05873bd67de9c32e0983aff108862e5600b735"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "d2e1ece80625ae79a844fad1bbf3618dc7b5a0cd"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@d2e1ece80625ae79a844fad1bbf3618dc7b5a0cd",
                        "title": "d2e1ece80625ae79a844fad1bbf3618dc7b5a0cd",
                        "url": "https://fuchsia.googlesource.com/integration/+/d2e1ece80625ae79a844fad1bbf3618dc7b5a0cd"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "e67a2493d8bb2dec1b6e86fde0d8016f68520d34"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@e67a2493d8bb2dec1b6e86fde0d8016f68520d34",
                        "title": "e67a2493d8bb2dec1b6e86fde0d8016f68520d34",
                        "url": "https://fuchsia.googlesource.com/integration/+/e67a2493d8bb2dec1b6e86fde0d8016f68520d34"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "bb2dd2f11d4e031b0ebbef0d16e286bab3b0dbf2"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@bb2dd2f11d4e031b0ebbef0d16e286bab3b0dbf2",
                        "title": "bb2dd2f11d4e031b0ebbef0d16e286bab3b0dbf2",
                        "url": "https://fuchsia.googlesource.com/integration/+/bb2dd2f11d4e031b0ebbef0d16e286bab3b0dbf2"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "9af9b24427f48878467f61dc3a6a22936f1d6a92"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@9af9b24427f48878467f61dc3a6a22936f1d6a92",
                        "title": "9af9b24427f48878467f61dc3a6a22936f1d6a92",
                        "url": "https://fuchsia.googlesource.com/integration/+/9af9b24427f48878467f61dc3a6a22936f1d6a92"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "d03154ea70f066224be54f0866cda82eb3f10e5a"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@d03154ea70f066224be54f0866cda82eb3f10e5a",
                        "title": "d03154ea70f066224be54f0866cda82eb3f10e5a",
                        "url": "https://fuchsia.googlesource.com/integration/+/d03154ea70f066224be54f0866cda82eb3f10e5a"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "320806de13605652fd88c5c85fb9c6b705bbaf7e"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@320806de13605652fd88c5c85fb9c6b705bbaf7e",
                        "title": "320806de13605652fd88c5c85fb9c6b705bbaf7e",
                        "url": "https://fuchsia.googlesource.com/integration/+/320806de13605652fd88c5c85fb9c6b705bbaf7e"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "5d083431eadbb0a854ba35be2ceba9577b9e5e50"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@5d083431eadbb0a854ba35be2ceba9577b9e5e50",
                        "title": "5d083431eadbb0a854ba35be2ceba9577b9e5e50",
                        "url": "https://fuchsia.googlesource.com/integration/+/5d083431eadbb0a854ba35be2ceba9577b9e5e50"
                      },
                  {
                        "gitiles": {
                              "ref": "refs/heads/main",
                              "repo": "https://fuchsia.googlesource.com/integration",
                              "revision": "ed13728958550dc40787c03a6e3d848071b0d4a8"
                            },
                        "id": "https://fuchsia.googlesource.com/integration/+/refs/heads/main@ed13728958550dc40787c03a6e3d848071b0d4a8",
                        "title": "ed13728958550dc40787c03a6e3d848071b0d4a8",
                        "url": "https://fuchsia.googlesource.com/integration/+/ed13728958550dc40787c03a6e3d848071b0d4a8"
                      }
                ]
          }
    },
  "gitilesCommit": {
    "host": "fuchsia.googlesource.com",
    "project": "integration",
    "id": "ed13728958550dc40787c03a6e3d848071b0d4a8",
    "ref": "refs/heads/main"
  },
  "tags": [
    {
      "key": "scheduler_invocation_id",
      "value": "8867159353774179216"
    },
    {
      "key": "scheduler_job_id",
      "value": "fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f"
    },
    {
      "key": "user_agent",
      "value": "luci-scheduler"
    }
  ],
  "notify": {
    "pubsubTopic": "projects/luci-scheduler/topics/scheduler.buildbucket.cr-buildbucket~appspot.gserviceaccount.com"
  }
}
[20:08:08.878] Scheduled build:
{
  "id": "8701729291535573665",
  "builder": {
    "project": "fuchsia",
    "bucket": "global.ci",
    "builder": "core.x64-debug-ffx-strict"
  },
  "createdBy": "project:fuchsia",
  "createTime": "2025-10-06T20:08:08.550206862Z",
  "updateTime": "2025-10-06T20:08:08.550206862Z",
  "status": "SCHEDULED",
  "input": {
    "gitilesCommit": {
      "host": "fuchsia.googlesource.com",
      "project": "integration",
      "id": "ed13728958550dc40787c03a6e3d848071b0d4a8",
      "ref": "refs/heads/main"
    }
  }
}
[20:08:08.878] Task URL: https://cr-buildbucket.appspot.com/build/8701729291535573665
[20:08:08.878] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:2:0) after 3m15s
[20:08:09.033] Received PubSub notification, asking Buildbucket for the build status
[20:08:09.054] Build status: SCHEDULED
[20:08:15.180] Received PubSub notification, asking Buildbucket for the build status
[20:08:15.202] Build status: STARTED
[20:11:23.892] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:2:0)
[20:11:23.924] Build status: STARTED
[20:11:23.924] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:5:0) after 1m35s
[20:12:58.959] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:5:0)
[20:12:58.975] Build status: STARTED
[20:12:58.975] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:6:0) after 2m22s
[20:15:21.031] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:6:0)
[20:15:21.047] Build status: STARTED
[20:15:21.047] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:7:0) after 8m14s
[20:23:35.067] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:7:0)
[20:23:35.250] Build status: STARTED
[20:23:35.251] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:8:0) after 9m51s
[20:33:26.241] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:8:0)
[20:33:26.259] Build status: STARTED
[20:33:26.259] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:9:0) after 9m22s
[20:42:48.324] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:9:0)
[20:42:48.338] Build status: STARTED
[20:42:48.338] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:10:0) after 8m5s
[20:50:53.407] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:10:0)
[20:50:53.437] Build status: STARTED
[20:50:53.437] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:11:0) after 6m17s
[20:57:10.477] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:11:0)
[20:57:10.574] Build status: STARTED
[20:57:10.574] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:12:0) after 3m0s
[21:00:10.639] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:12:0)
[21:00:10.722] Build status: STARTED
[21:00:10.722] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:13:0) after 8m36s
[21:08:46.757] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:13:0)
[21:08:46.772] Build status: STARTED
[21:08:46.772] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:14:0) after 1m1s
[21:09:47.861] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:14:0)
[21:09:47.875] Build status: STARTED
[21:09:47.875] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:15:0) after 5m2s
[21:14:49.925] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:15:0)
[21:14:49.941] Build status: STARTED
[21:14:49.941] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:16:0) after 1m56s
[21:16:46.066] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:16:0)
[21:16:46.133] Build status: STARTED
[21:16:46.133] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:17:0) after 2m19s
[21:19:05.252] Handling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:17:0)
[21:19:05.306] Build status: STARTED
[21:19:05.306] Scheduling timer "check-buildbucket-build-status" (fuchsia/global.ci-core.x64-debug-ffx-strict-e5a0ec7f:8867159353774179216:18:0) after 8m18s
[21:21:09.222] Received PubSub notification, asking Buildbucket for the build status
[21:21:09.244] Build:
{
  "id": "8701729291535573665",
  "builder": {
    "project": "fuchsia",
    "bucket": "global.ci",
    "builder": "core.x64-debug-ffx-strict"
  },
  "createdBy": "project:fuchsia",
  "createTime": "2025-10-06T20:08:08.550206862Z",
  "startTime": "2025-10-06T20:08:14.987607784Z",
  "endTime": "2025-10-06T21:21:06.770193324Z",
  "updateTime": "2025-10-06T21:21:06.770193324Z",
  "status": "SUCCESS",
  "input": {
    "gitilesCommit": {
      "host": "fuchsia.googlesource.com",
      "project": "integration",
      "id": "ed13728958550dc40787c03a6e3d848071b0d4a8",
      "ref": "refs/heads/main"
    }
  }
}
[21:21:09.244] Invocation finished in 1h13m2.211476338s with status SUCCEEDED