- github
- ocaml
- opam-repository
- 547bbc
- distributions,debian-12-ocaml-4.14,lwt_ppx.6.0.0-beta01
(not at the head of any monitored branch or PR)
2025-12-04 13:34.03: New job: build lwt_ppx.6.0.0-beta01, using opam dev
from https://github.com/ocaml/opam-repository.git#refs/pull/28894/head (547bbce588bc6d9231ad2bd9c8b2b3930b2d061a)
on debian-12-ocaml-4.14/amd64
To reproduce locally:
cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/28894/head" && git reset --hard 547bbce5
git fetch origin master
git merge --no-edit 3e41859015888fe8240e84dfc5f31bfa12a557e8
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-4.14@sha256:a5d491cb3b8b243bb1023a679dec117cff2a74cb7611d53d6a7cd4ee228f24fc
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-dev /usr/bin/opam
RUN opam init --reinit -ni
RUN opam option solver=builtin-0install && opam config report
ENV OPAMDOWNLOADJOBS="1"
ENV OPAMERRLOGLEN="0"
ENV OPAMPRECISETRACKING="1"
ENV CI="true"
ENV OPAM_REPO_CI="true"
RUN rm -rf opam-repository/
COPY --chown=1000:1000 . opam-repository/
RUN opam repository set-url --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn lwt_ppx.6.0.0-beta01 6.0.0-beta01
RUN opam reinstall lwt_ppx.6.0.0-beta01; \
res=$?; \
test "$res" != 31 && exit "$res"; \
export OPAMCLI=2.0; \
build_dir=$(opam var prefix)/.opam-switch/build; \
failed=$(ls "$build_dir"); \
partial_fails=""; \
for pkg in $failed; do \
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-12\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'lwt_ppx.6.0.0-beta01' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
END-OF-DOCKERFILE
docker build -f ../Dockerfile .
2025-12-04 13:34.03: Using cache hint "ocaml/opam:debian-12-ocaml-4.14@sha256:a5d491cb3b8b243bb1023a679dec117cff2a74cb7611d53d6a7cd4ee228f24fc-lwt_ppx.6.0.0-beta01-547bbce588bc6d9231ad2bd9c8b2b3930b2d061a"
2025-12-04 13:34.03: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-4.14@sha256:a5d491cb3b8b243bb1023a679dec117cff2a74cb7611d53d6a7cd4ee228f24fc)
(user (uid 1000) (gid 1000))
(workdir /home/opam)
(run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
(run (network host)
(shell "opam init --reinit --config .opamrc-sandbox -ni"))
(run (shell "opam option solver=builtin-0install && opam config report"))
(env OPAMDOWNLOADJOBS 1)
(env OPAMERRLOGLEN 0)
(env OPAMPRECISETRACKING 1)
(env CI true)
(env OPAM_REPO_CI true)
(run (shell "rm -rf opam-repository/"))
(copy (src .) (dst opam-repository/))
(run (shell "opam repository set-url --strict default opam-repository/"))
(run (network host)
(shell "opam update --depexts || true"))
(run (shell "opam pin add -k version -yn lwt_ppx.6.0.0-beta01 6.0.0-beta01"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall lwt_ppx.6.0.0-beta01;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-12\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'lwt_ppx.6.0.0-beta01' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
)
2025-12-04 13:34.03: Waiting for resource in pool OCluster
2025-12-04 13:59.55: Waiting for worker…
2025-12-04 14:02.11: Got resource from pool OCluster
Building on asteria.caelum.ci.dev
All commits already cached
HEAD is now at 3e41859015 Merge pull request #28903 from jim-portegies/opam-publish-coq-waterproof.3.1.0-9.1
Merge made by the 'ort' strategy.
packages/lwt/lwt.6.0.0-beta01/opam | 66 ++++++++++++++++++++++
packages/lwt_direct/lwt_direct.6.0.0-beta01/opam | 42 ++++++++++++++
packages/lwt_ppx/lwt_ppx.1.0.0/opam | 2 +-
packages/lwt_ppx/lwt_ppx.1.0.1/opam | 2 +-
packages/lwt_ppx/lwt_ppx.1.1.0/opam | 2 +-
packages/lwt_ppx/lwt_ppx.1.2.0/opam | 2 +-
packages/lwt_ppx/lwt_ppx.1.2.1/opam | 2 +-
packages/lwt_ppx/lwt_ppx.1.2.2/opam | 2 +-
packages/lwt_ppx/lwt_ppx.1.2.3/opam | 2 +-
packages/lwt_ppx/lwt_ppx.1.2.4/opam | 2 +-
packages/lwt_ppx/lwt_ppx.2.0.0/opam | 2 +-
packages/lwt_ppx/lwt_ppx.2.0.1/opam | 2 +-
packages/lwt_ppx/lwt_ppx.2.0.2/opam | 2 +-
packages/lwt_ppx/lwt_ppx.2.0.3/opam | 2 +-
packages/lwt_ppx/lwt_ppx.2.1.0/opam | 2 +-
packages/lwt_ppx/lwt_ppx.5.8.0/opam | 2 +-
packages/lwt_ppx/lwt_ppx.5.9.1/opam | 2 +-
packages/lwt_ppx/lwt_ppx.5.9.2/opam | 2 +-
packages/lwt_ppx/lwt_ppx.6.0.0-beta01/opam | 43 ++++++++++++++
.../lwt_runtime_events.6.0.0-beta01/opam | 40 +++++++++++++
packages/moonpool-lwt/moonpool-lwt.0.10/opam | 2 +-
packages/moonpool-lwt/moonpool-lwt.0.9/opam | 2 +-
packages/tezt/tezt.2.0.0/opam | 2 +-
packages/tezt/tezt.3.0.0/opam | 2 +-
packages/tezt/tezt.4.3.0/opam | 2 +-
25 files changed, 212 insertions(+), 21 deletions(-)
create mode 100644 packages/lwt/lwt.6.0.0-beta01/opam
create mode 100644 packages/lwt_direct/lwt_direct.6.0.0-beta01/opam
create mode 100644 packages/lwt_ppx/lwt_ppx.6.0.0-beta01/opam
create mode 100644 packages/lwt_runtime_events/lwt_runtime_events.6.0.0-beta01/opam
(from ocaml/opam:debian-12-ocaml-4.14@sha256:a5d491cb3b8b243bb1023a679dec117cff2a74cb7611d53d6a7cd4ee228f24fc)
Unable to find image 'ocaml/opam:debian-12-ocaml-4.14@sha256:a5d491cb3b8b243bb1023a679dec117cff2a74cb7611d53d6a7cd4ee228f24fc' locally
docker.io/ocaml/opam@sha256:a5d491cb3b8b243bb1023a679dec117cff2a74cb7611d53d6a7cd4ee228f24fc: Pulling from ocaml/opam
708274aafe49: Pulling fs layer
a73733b08b3c: Pulling fs layer
cb40d7f96117: Pulling fs layer
ee9c8c5de7e3: Pulling fs layer
84e80908bda7: Pulling fs layer
4c5fd3b4cc24: Pulling fs layer
d71c2fbac086: Pulling fs layer
046cc1ae5c18: Pulling fs layer
bfa5a03ecd8a: Pulling fs layer
40d4ddac16f1: Pulling fs layer
8305889da4d2: Pulling fs layer
de468797725a: Pulling fs layer
b10a0f8d2c1b: Pulling fs layer
e9fbab9da9de: Pulling fs layer
4ffa9055390b: Pulling fs layer
c461ce8a66a9: Pulling fs layer
40ca5457b546: Pulling fs layer
f063f435a81d: Pulling fs layer
8305889da4d2: Waiting
ee9c8c5de7e3: Waiting
6351fe9743c5: Pulling fs layer
de468797725a: Waiting
84e80908bda7: Waiting
22968c37d4df: Pulling fs layer
b10a0f8d2c1b: Waiting
4c5fd3b4cc24: Waiting
4f4fb700ef54: Pulling fs layer
d71c2fbac086: Waiting
e9fbab9da9de: Waiting
d320bd713e6a: Pulling fs layer
046cc1ae5c18: Waiting
40ca5457b546: Waiting
4ffa9055390b: Waiting
a2017ee71e5e: Pulling fs layer
bfa5a03ecd8a: Waiting
f063f435a81d: Waiting
6351fe9743c5: Waiting
83d9f717158f: Pulling fs layer
c461ce8a66a9: Waiting
22968c37d4df: Waiting
4f4fb700ef54: Waiting
02498670002a: Pulling fs layer
4ffb5091be9d: Pulling fs layer
a2017ee71e5e: Waiting
83d9f717158f: Waiting
cb3e9e1b4f63: Pulling fs layer
40d4ddac16f1: Waiting
f5011bdd66a8: Pulling fs layer
d320bd713e6a: Waiting
4ffb5091be9d: Waiting
cb3e9e1b4f63: Waiting
ceec9f7d9eed: Pulling fs layer
f5011bdd66a8: Waiting
49a5fccf01c2: Pulling fs layer
ceec9f7d9eed: Waiting
02498670002a: Waiting
449a684551c0: Pulling fs layer
c90445344afc: Pulling fs layer
449a684551c0: Waiting
ae5fa8ce3250: Pulling fs layer
49a5fccf01c2: Waiting
e248699e6e3f: Pulling fs layer
0caccdf8efda: Pulling fs layer
ae5fa8ce3250: Waiting
e248699e6e3f: Waiting
fcb972cfc4a4: Pulling fs layer
0caccdf8efda: Waiting
030cd5149014: Pulling fs layer
5af5862b6eb4: Pulling fs layer
fcb972cfc4a4: Waiting
030cd5149014: Waiting
e795b73f8dbc: Pulling fs layer
2438f0824874: Pulling fs layer
5af5862b6eb4: Waiting
e795b73f8dbc: Waiting
ef6725c4e2f9: Pulling fs layer
2438f0824874: Waiting
6b14d1298bc1: Pulling fs layer
ef6725c4e2f9: Waiting
8ec45a5ead5b: Pulling fs layer
6b14d1298bc1: Waiting
8ec45a5ead5b: Waiting
a73733b08b3c: Download complete
cb40d7f96117: Verifying Checksum
cb40d7f96117: Download complete
84e80908bda7: Verifying Checksum
84e80908bda7: Download complete
ee9c8c5de7e3: Verifying Checksum
ee9c8c5de7e3: Download complete
d71c2fbac086: Verifying Checksum
d71c2fbac086: Download complete
046cc1ae5c18: Verifying Checksum
046cc1ae5c18: Download complete
bfa5a03ecd8a: Verifying Checksum
bfa5a03ecd8a: Download complete
40d4ddac16f1: Verifying Checksum
40d4ddac16f1: Download complete
8305889da4d2: Verifying Checksum
8305889da4d2: Download complete
4c5fd3b4cc24: Verifying Checksum
4c5fd3b4cc24: Download complete
de468797725a: Verifying Checksum
de468797725a: Download complete
e9fbab9da9de: Download complete
b10a0f8d2c1b: Verifying Checksum
b10a0f8d2c1b: Download complete
c461ce8a66a9: Download complete
40ca5457b546: Verifying Checksum
40ca5457b546: Download complete
4ffa9055390b: Verifying Checksum
f063f435a81d: Verifying Checksum
f063f435a81d: Download complete
6351fe9743c5: Verifying Checksum
6351fe9743c5: Download complete
22968c37d4df: Verifying Checksum
22968c37d4df: Download complete
708274aafe49: Verifying Checksum
708274aafe49: Download complete
4f4fb700ef54: Verifying Checksum
4f4fb700ef54: Download complete
d320bd713e6a: Verifying Checksum
d320bd713e6a: Download complete
a2017ee71e5e: Download complete
83d9f717158f: Verifying Checksum
83d9f717158f: Download complete
02498670002a: Verifying Checksum
02498670002a: Download complete
4ffb5091be9d: Verifying Checksum
4ffb5091be9d: Download complete
cb3e9e1b4f63: Download complete
f5011bdd66a8: Download complete
ceec9f7d9eed: Verifying Checksum
ceec9f7d9eed: Download complete
49a5fccf01c2: Download complete
449a684551c0: Verifying Checksum
449a684551c0: Download complete
c90445344afc: Download complete
ae5fa8ce3250: Verifying Checksum
ae5fa8ce3250: Download complete
0caccdf8efda: Download complete
030cd5149014: Download complete
5af5862b6eb4: Verifying Checksum
5af5862b6eb4: Download complete
e795b73f8dbc: Verifying Checksum
e795b73f8dbc: Download complete
708274aafe49: Pull complete
a73733b08b3c: Pull complete
cb40d7f96117: Pull complete
ee9c8c5de7e3: Pull complete
84e80908bda7: Pull complete
e248699e6e3f: Verifying Checksum
e248699e6e3f: Download complete
ef6725c4e2f9: Verifying Checksum
ef6725c4e2f9: Download complete
6b14d1298bc1: Download complete
8ec45a5ead5b: Download complete
4c5fd3b4cc24: Pull complete
d71c2fbac086: Pull complete
046cc1ae5c18: Pull complete
bfa5a03ecd8a: Pull complete
40d4ddac16f1: Pull complete
8305889da4d2: Pull complete
de468797725a: Pull complete
b10a0f8d2c1b: Pull complete
e9fbab9da9de: Pull complete
4ffa9055390b: Pull complete
c461ce8a66a9: Pull complete
2438f0824874: Verifying Checksum
2438f0824874: Download complete
40ca5457b546: Pull complete
f063f435a81d: Pull complete
6351fe9743c5: Pull complete
22968c37d4df: Pull complete
4f4fb700ef54: Pull complete
d320bd713e6a: Pull complete
a2017ee71e5e: Pull complete
83d9f717158f: Pull complete
02498670002a: Pull complete
4ffb5091be9d: Pull complete
cb3e9e1b4f63: Pull complete
f5011bdd66a8: Pull complete
ceec9f7d9eed: Pull complete
49a5fccf01c2: Pull complete
449a684551c0: Pull complete
c90445344afc: Pull complete
ae5fa8ce3250: Pull complete
fcb972cfc4a4: Verifying Checksum
fcb972cfc4a4: Download complete
e248699e6e3f: Pull complete
0caccdf8efda: Pull complete
fcb972cfc4a4: Pull complete
030cd5149014: Pull complete
5af5862b6eb4: Pull complete
e795b73f8dbc: Pull complete
2438f0824874: Pull complete
ef6725c4e2f9: Pull complete
6b14d1298bc1: Pull complete
8ec45a5ead5b: Pull complete
Digest: sha256:a5d491cb3b8b243bb1023a679dec117cff2a74cb7611d53d6a7cd4ee228f24fc
Status: Downloaded newer image for ocaml/opam@sha256:a5d491cb3b8b243bb1023a679dec117cff2a74cb7611d53d6a7cd4ee228f24fc
2025-12-04 14:04.03 ---> using "98bcb43ab7a698a61358d3210ba3d23ef3de0984b39d406a6633f0d17651e0c6" from cache
/: (user (uid 1000) (gid 1000))
/: (workdir /home/opam)
/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2025-12-04 14:04.03 ---> using "22ff22b52766aaae80c18ae09d1c1a3d5afbcfca671b0de38d4ea0c6c3468b35" from cache
/home/opam: (run (network host)
(shell "opam init --reinit --config .opamrc-sandbox -ni"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally from built-in defaults.
Checking for available remotes: rsync and local, git.
- you won't be able to use mercurial repositories unless you install the hg command on your system.
- you won't be able to use darcs repositories unless you install the darcs command on your system.
This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.
Continue? [Y/n] y
[NOTE] The 'jobs' option was reset, its value was 71 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
opam option jobs=71 --global
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-12-04 14:04.03 ---> using "4a4fbde12a854b38c79a7d90c5fd6d878cc143057f7313bad64c79130c58ebc0" from cache
/home/opam: (run (shell "opam option solver=builtin-0install && opam config report"))
Set to 'builtin-0install' the field solver in global configuration
# opam config report
# opam-version 2.5.0
# self-upgrade no
# system arch=x86_64 os=linux os-distribution=debian os-version=12
# solver builtin-0install
# install-criteria -changed,-count[avoid-version,solution]
# upgrade-criteria -count[avoid-version,solution]
# jobs 255
# repositories 1 (version-controlled)
# pinned 1 (version)
# current-switch 4.14
# invariant ["ocaml-base-compiler" {= "4.14.2"}]
# compiler-packages ocaml-base-compiler.4.14.2, ocaml-options-vanilla.1
# ocaml:native true
# ocaml:native-tools true
# ocaml:native-dynlink true
# ocaml:stubsdir /home/opam/.opam/4.14/lib/ocaml/stublibs:/home/opam/.opam/4.14/lib/ocaml
# ocaml:preinstalled false
# ocaml:compiler 4.14.2
2025-12-04 14:04.03 ---> using "7d987486ce66e39c8ba98f76382666eed954501bbdb7fdf189a6929f8d4554be" from cache
/home/opam: (env OPAMDOWNLOADJOBS 1)
/home/opam: (env OPAMERRLOGLEN 0)
/home/opam: (env OPAMPRECISETRACKING 1)
/home/opam: (env CI true)
/home/opam: (env OPAM_REPO_CI true)
/home/opam: (run (shell "rm -rf opam-repository/"))
2025-12-04 14:04.03 ---> using "1376aef5dbdc7a9ccc49506bf56431fcedbe864c8ac12a8c43f979d6c4bd7344" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2025-12-04 14:04.04 ---> using "4febec68e822df73b25647bd88c9b1da3d5e94cb2016875df4ece69448446d3b" from cache
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2025-12-04 14:04.17 ---> saved as "da1685d43e14df55c9d78be8d8a04a68d93f8992bc73bdde7387994626978e74"
/home/opam: (run (network host)
(shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian bookworm InRelease
- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
- Get:4 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [289 kB]
- Fetched 393 kB in 1s (765 kB/s)
- Reading package lists...
-
2025-12-04 14:04.20 ---> saved as "64e4f77dddf4cdbebb3a1ecc542a42ecd0d8d7a1c3530ff814584dd59dc5670c"
/home/opam: (run (shell "opam pin add -k version -yn lwt_ppx.6.0.0-beta01 6.0.0-beta01"))
lwt_ppx is now pinned to version 6.0.0-beta01
2025-12-04 14:04.20 ---> saved as "a942270f83b0a594cb54d9261676f7f51fcb21561fe910e97d3ff63a0eeb577d"
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall lwt_ppx.6.0.0-beta01;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-12\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'lwt_ppx.6.0.0-beta01' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
lwt_ppx.6.0.0-beta01 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 14 packages
- install base-bytes base [required by ocplib-endian]
- install cppo 1.8.0 [required by lwt]
- install csexp 1.5.2 [required by dune-configurator]
- install dune 3.20.2 [required by lwt_ppx]
- install dune-configurator 3.20.2 [required by lwt]
- install lwt 6.0.0-beta01 [required by lwt_ppx]
- install lwt_ppx 6.0.0-beta01 (pinned)
- install ocaml-compiler-libs v0.12.4 [required by ppxlib]
- install ocamlfind 1.9.8 [required by base-bytes]
- install ocplib-endian 1.2 [required by lwt]
- install ppx_derivers 1.2.1 [required by ppxlib]
- install ppxlib 0.37.0 [required by lwt_ppx]
- install sexplib0 v0.17.0 [required by ppxlib]
- install stdlib-shims 0.3.0 [required by ppxlib]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved cppo.1.8.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved dune.3.20.2, dune-configurator.3.20.2 (cached)
-> retrieved lwt.6.0.0-beta01, lwt_ppx.6.0.0-beta01 (cached)
-> retrieved ocaml-compiler-libs.v0.12.4 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ocplib-endian.1.2 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved ppxlib.0.37.0 (cached)
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed dune.3.20.2
-> installed ppx_derivers.1.2.1
-> installed csexp.1.5.2
-> installed cppo.1.8.0
-> installed ocaml-compiler-libs.v0.12.4
-> installed sexplib0.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed ocplib-endian.1.2
-> installed dune-configurator.3.20.2
-> installed lwt.6.0.0-beta01
-> installed ppxlib.0.37.0
-> installed lwt_ppx.6.0.0-beta01
Done.
# To update the current shell environment, run: eval $(opam env)
2025-12-04 14:05.03 ---> saved as "daf84ea08de141cce5bf84cd3049dbc6f36ebf1487976b5ec6f5900790510c96"
Job succeeded
2025-12-04 14:05.12: Job succeeded