- github
- ocaml
- opam-repository
- 3af7d0
- macos,macos-homebrew-ocaml-4.14-amd64,picos.0.4.0,tests
(not at the head of any monitored branch or PR)
2026-03-10 08:59.56: New job: test picos.0.4.0, using opam dev
from https://github.com/ocaml/opam-repository.git#refs/pull/29530/head (3af7d0a25910b3d20c909e559efb484eb6a78128)
on macos-homebrew-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/29530/head" && git reset --hard 3af7d0a2
git fetch origin master
git merge --no-edit 3c70647a78a7fd22066fca4f17f7ca4514500663
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM macos-homebrew-ocaml-4.14
USER 1000:1000
RUN ln -f ~/local/bin/opam-dev ~/local/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 -k local --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn picos.0.4.0 0.4.0
RUN opam reinstall picos.0.4.0; \
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 "\"macos-homebrew\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'picos.0.4.0' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
RUN (opam reinstall --with-test picos.0.4.0) || true
RUN opam reinstall --with-test --verbose picos.0.4.0; \
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 "\"macos-homebrew\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'picos.0.4.0' && 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 .
2026-03-10 08:59.56: Using cache hint "macos-homebrew-ocaml-4.14-picos.0.4.0-3af7d0a25910b3d20c909e559efb484eb6a78128"
2026-03-10 08:59.56: Using OBuilder spec:
((from macos-homebrew-ocaml-4.14)
(user (uid 1000) (gid 1000))
(run (shell "ln -f ~/local/bin/opam-dev ~/local/bin/opam"))
(run (network host)
(shell "opam init --reinit -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 -k local --strict default opam-repository/"))
(run (network host)
(shell "opam update --depexts || true"))
(run (shell "opam pin add -k version -yn picos.0.4.0 0.4.0"))
(run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
(network host)
(shell "opam reinstall picos.0.4.0;\
\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 \"\\\"macos-homebrew\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'picos.0.4.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
(run (network host)
(shell "(opam reinstall --with-test picos.0.4.0) || true"))
(run (shell "opam reinstall --with-test --verbose picos.0.4.0;\
\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 \"\\\"macos-homebrew\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'picos.0.4.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
)
2026-03-10 08:59.56: Waiting for resource in pool OCluster
2026-03-10 09:00.15: Waiting for worker…
2026-03-10 10:12.12: Got resource from pool OCluster
Building on i7-worker-03
All commits already cached
Updating files: 33% (6178/18405)
Updating files: 34% (6258/18405)
Updating files: 35% (6442/18405)
Updating files: 36% (6626/18405)
Updating files: 37% (6810/18405)
Updating files: 38% (6994/18405)
Updating files: 39% (7178/18405)
Updating files: 40% (7362/18405)
Updating files: 41% (7547/18405)
Updating files: 42% (7731/18405)
Updating files: 43% (7915/18405)
Updating files: 44% (8099/18405)
Updating files: 45% (8283/18405)
Updating files: 46% (8467/18405)
Updating files: 47% (8651/18405)
Updating files: 48% (8835/18405)
Updating files: 49% (9019/18405)
Updating files: 50% (9203/18405)
Updating files: 51% (9387/18405)
Updating files: 52% (9571/18405)
Updating files: 53% (9755/18405)
Updating files: 54% (9939/18405)
Updating files: 55% (10123/18405)
Updating files: 56% (10307/18405)
Updating files: 57% (10491/18405)
Updating files: 58% (10675/18405)
Updating files: 59% (10859/18405)
Updating files: 60% (11043/18405)
Updating files: 61% (11228/18405)
Updating files: 62% (11412/18405)
Updating files: 62% (11488/18405)
Updating files: 63% (11596/18405)
Updating files: 64% (11780/18405)
Updating files: 65% (11964/18405)
Updating files: 66% (12148/18405)
Updating files: 67% (12332/18405)
Updating files: 68% (12516/18405)
Updating files: 69% (12700/18405)
Updating files: 70% (12884/18405)
Updating files: 71% (13068/18405)
Updating files: 72% (13252/18405)
Updating files: 73% (13436/18405)
Updating files: 74% (13620/18405)
Updating files: 75% (13804/18405)
Updating files: 76% (13988/18405)
Updating files: 77% (14172/18405)
Updating files: 78% (14356/18405)
Updating files: 79% (14540/18405)
Updating files: 80% (14724/18405)
Updating files: 81% (14909/18405)
Updating files: 82% (15093/18405)
Updating files: 83% (15277/18405)
Updating files: 84% (15461/18405)
Updating files: 85% (15645/18405)
Updating files: 86% (15829/18405)
Updating files: 87% (16013/18405)
Updating files: 88% (16197/18405)
Updating files: 89% (16381/18405)
Updating files: 90% (16565/18405)
Updating files: 91% (16749/18405)
Updating files: 91% (16829/18405)
Updating files: 92% (16933/18405)
Updating files: 93% (17117/18405)
Updating files: 94% (17301/18405)
Updating files: 95% (17485/18405)
Updating files: 96% (17669/18405)
Updating files: 97% (17853/18405)
Updating files: 98% (18037/18405)
Updating files: 99% (18221/18405)
Updating files: 100% (18405/18405)
Updating files: 100% (18405/18405), done.
HEAD is now at 3c70647a78 Merge pull request #29507 from NathanReb/release-ppxlib-0-38-0-5-5-preview
Updating 3c70647a78..3af7d0a259
Fast-forward
packages/bimage-lwt/bimage-lwt.0.3.0/opam | 6 +++++-
packages/bimage-lwt/bimage-lwt.0.3.1/opam | 6 +++++-
packages/bimage-lwt/bimage-lwt.0.4.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.0.11.0/opam | 4 +++-
packages/caqti-lwt/caqti-lwt.1.0.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.1.2.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.1.3.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.1.6.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.1.7.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.1.8.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.1.9.0/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.2.0.1/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.2.1.1/opam | 6 +++++-
packages/caqti-lwt/caqti-lwt.2.2.4/opam | 6 +++++-
packages/fuseau-lwt/fuseau-lwt.0.1/opam | 6 +++++-
packages/lambda-term/lambda-term.1.13/opam | 6 +++++-
packages/lambda-term/lambda-term.2.0.1/opam | 6 +++++-
packages/lambda-term/lambda-term.2.0.2/opam | 6 +++++-
packages/lambda-term/lambda-term.2.0.3/opam | 6 +++++-
packages/lambda-term/lambda-term.2.0/opam | 6 +++++-
packages/lambda-term/lambda-term.3.0.0/opam | 6 +++++-
packages/lambda-term/lambda-term.3.0.1/opam | 6 +++++-
packages/lambda-term/lambda-term.3.1.0/opam | 6 +++++-
packages/lambda-term/lambda-term.3.2.0/opam | 6 +++++-
packages/lambda-term/lambda-term.3.3.0/opam | 6 +++++-
packages/lambda-term/lambda-term.3.3.1/opam | 6 +++++-
packages/lambda-term/lambda-term.3.3.2/opam | 6 +++++-
packages/lwt_domain/lwt_domain.0.1.0/opam | 6 +++++-
packages/lwt_domain/lwt_domain.0.2.0/opam | 6 +++++-
packages/lwt_domain/lwt_domain.0.3.0/opam | 6 +++++-
packages/lwt_eio/lwt_eio.0.1/opam | 6 +++++-
packages/lwt_eio/lwt_eio.0.2/opam | 6 +++++-
packages/lwt_eio/lwt_eio.0.3/opam | 6 +++++-
packages/lwt_eio/lwt_eio.0.4/opam | 6 +++++-
packages/lwt_eio/lwt_eio.0.5.1/opam | 6 +++++-
packages/lwt_eio/lwt_eio.0.5/opam | 6 +++++-
packages/lwt_glib/lwt_glib.1.0.1/opam | 6 +++++-
packages/lwt_glib/lwt_glib.1.1.0/opam | 6 +++++-
packages/lwt_glib/lwt_glib.1.1.1/opam | 6 +++++-
packages/lwt_log/lwt_log.1.1.0/opam | 6 +++++-
packages/lwt_log/lwt_log.1.1.1/opam | 6 +++++-
packages/lwt_log/lwt_log.1.1.2/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.0.0/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.0.1/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.1.0/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.2.0/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.2.1/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.2.2/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.2.3/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.1.2.4/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.2.0.0/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.2.0.1/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.2.0.2/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.2.0.3/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.2.1.0/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.5.8.0/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.5.8.1/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.5.9.1/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.5.9.2/opam | 6 +++++-
packages/lwt_ppx/lwt_ppx.5.9.3/opam | 6 +++++-
packages/moonpool-lwt/moonpool-lwt.0.10/opam | 6 +++++-
packages/moonpool-lwt/moonpool-lwt.0.6/opam | 6 +++++-
packages/moonpool-lwt/moonpool-lwt.0.7/opam | 6 +++++-
packages/moonpool-lwt/moonpool-lwt.0.8/opam | 6 +++++-
packages/moonpool-lwt/moonpool-lwt.0.9/opam | 6 +++++-
packages/mwt/mwt.0.1.0/opam | 6 +++++-
packages/nocrypto/nocrypto.0.5.4-1/opam | 6 +++++-
packages/nocrypto/nocrypto.0.5.4-2/opam | 6 +++++-
packages/ocluster/ocluster.0.1/opam | 4 +++-
packages/ocluster/ocluster.0.2.1/opam | 6 +++++-
packages/ocluster/ocluster.0.2/opam | 4 +++-
packages/ocluster/ocluster.0.3.0/opam | 6 +++++-
packages/picos/picos.0.3.0/opam | 6 +++++-
packages/picos/picos.0.4.0/opam | 6 +++++-
packages/picos_lwt/picos_lwt.0.5.0/opam | 6 +++++-
packages/picos_lwt/picos_lwt.0.6.0/opam | 6 +++++-
packages/tezt/tezt.2.0.0/opam | 6 +++++-
packages/tezt/tezt.3.0.0/opam | 4 +++-
packages/tezt/tezt.3.1.0/opam | 4 +++-
packages/tezt/tezt.3.1.1/opam | 4 +++-
packages/tezt/tezt.4.0.0/opam | 4 +++-
packages/tezt/tezt.4.1.0/opam | 4 +++-
packages/tezt/tezt.4.2.0/opam | 4 +++-
packages/tezt/tezt.4.3.0/opam | 4 +++-
84 files changed, 400 insertions(+), 84 deletions(-)
(from macos-homebrew-ocaml-4.14)
2026-03-10 10:12.18 ---> using "0c60f117aee57abea8364cb033d47bb1d63ff0f68e5ee97378e032498e8442af" from cache
/: (user (uid 1000) (gid 1000))
/: (run (shell "ln -f ~/local/bin/opam-dev ~/local/bin/opam"))
2026-03-10 10:12.18 ---> using "f20a31eccb94af52fa2a3ef86b723bc6460bac3d8a92b8861915540c2498d20a" from cache
/: (run (network host)
(shell "opam init --reinit -ni"))
No configuration file found, using 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 /Users/mac1000/.opam from version 2.1 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 1 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=1 --global
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] no changes from git+file:///Users/mac1000/opam-repository
2026-03-10 10:12.18 ---> using "7818e224f85c11d1d318abe9ba4e297be345388b7ed476f912b6900c6bae56aa" from cache
/: (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=macos os-distribution=homebrew os-version=15.5
# solver builtin-0install
# install-criteria -changed,-count[avoid-version,solution]
# upgrade-criteria -count[avoid-version,solution]
# jobs 11
# repositories 1 (version-controlled)
# pinned 0
# current-switch 4.14.2
# invariant ["ocaml-base-compiler" {= "4.14.2"} | "ocaml-system" {= "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 /Users/mac1000/.opam/4.14.2/lib/ocaml/stublibs:/Users/mac1000/.opam/4.14.2/lib/ocaml
# ocaml:preinstalled false
# ocaml:compiler 4.14.2
2026-03-10 10:12.19 ---> using "625776f8b2f728a128171e2ba4372c97abd18632a07574a8412026e8be39dac5" from cache
/: (env OPAMDOWNLOADJOBS 1)
/: (env OPAMERRLOGLEN 0)
/: (env OPAMPRECISETRACKING 1)
/: (env CI true)
/: (env OPAM_REPO_CI true)
/: (run (shell "rm -rf opam-repository/"))
2026-03-10 10:12.19 ---> using "15fbb76bf7dee5d6e8ae583230339015a61d8d2d8397de2cfe6459f8ba421f1e" from cache
/: (copy (src .) (dst opam-repository/))
2026-03-10 10:12.21 ---> using "62df4a6736934bb6c3691030f97d3d2e01998b025470a661281ddfb72f92a1c8" from cache
/: (run (shell "opam repository set-url -k local --strict default opam-repository/"))
[default] Initialised
2026-03-10 10:12.22 ---> using "af375344c24704545d7b5b85acba18d8cca4a07dd1c3de94a089b7c4ba534bcc" from cache
/: (run (network host)
(shell "opam update --depexts || true"))
+ /usr/local/bin/brew "update"
- ==> Updating Homebrew...
- ==> Downloading https://ghcr.io/v2/homebrew/core/portable-ruby/blobs/sha256:80c194381e990a4967a1ae44b8242b688e6a17ab590865a38671137677411469
- #=#=#
0.0%
-
# 1.5%
# 2.3%
# 2.7%
## 3.3%
## 3.8%
### 4.7%
#### 5.6%
#### 6.3%
##### 7.1%
-
##### 7.5%
##### 8.1%
###### 8.9%
###### 9.6%
####### 10.4%
######## 11.2%
######## 11.7%
######## 12.1%
######### 12.8%
######### 13.4%
########## 14.1%
-
########## 14.9%
########### 15.6%
########### 16.3%
############ 17.1%
############ 18.0%
############# 18.8%
############## 19.5%
############## 20.2%
############## 20.7%
############### 21.4%
################ 22.4%
-
################ 23.2%
################# 24.0%
################# 24.8%
################## 25.8%
################### 26.6%
################### 27.4%
#################### 28.2%
##################### 29.2%
##################### 30.0%
###################### 30.9%
###################### 31.7%
####################### 32.6%
-
######################## 33.5%
######################## 34.3%
######################### 35.2%
######################### 36.1%
########################## 36.9%
########################### 37.7%
########################### 38.5%
############################ 39.5%
############################# 40.5%
############################# 41.3%
############################## 42.1%
-
############################### 43.1%
############################### 43.9%
################################ 44.7%
################################ 45.5%
################################# 46.5%
################################## 47.3%
################################## 48.1%
################################### 49.0%
################################### 49.9%
#################################### 50.7%
##################################### 51.6%
-
##################################### 52.5%
###################################### 53.5%
####################################### 54.3%
####################################### 55.1%
######################################## 56.0%
######################################## 56.9%
######################################### 57.7%
########################################## 58.6%
########################################## 59.4%
########################################### 60.3%
############################################ 61.2%
-
############################################ 62.0%
############################################# 62.8%
############################################# 63.8%
############################################## 64.6%
############################################### 65.4%
############################################### 66.2%
################################################ 67.2%
################################################ 68.0%
################################################# 68.8%
################################################## 69.7%
################################################## 70.6%
-
################################################### 71.4%
#################################################### 72.3%
#################################################### 73.1%
##################################################### 74.1%
##################################################### 74.9%
###################################################### 75.7%
####################################################### 76.5%
####################################################### 77.5%
######################################################## 78.3%
######################################################## 79.1%
######################################################### 79.9%
#####################################
- #####################
- 80.9%
########################################################## 81.7%
########################################################### 82.6%
############################################################ 83.4%
############################################################ 84.3%
############################################################# 85.2%
############################################################# 86.0%
############################################################## 86.8%
############################################################### 87.8%
############################################################### 88.6%
################################################################ 89.4%
-
################################################################ 90.2%
################################################################# 91.2%
################################################################## 92.0%
################################################################## 93.0%
################################################################### 93.8%
#################################################################### 94.6%
#################################################################### 95.4%
##################################################################### 96.4%
###################################################################### 97.2%
###################################################################### 98.2%
####################################################################### 99.0%
####################################################################### 99.8%
-
######################################################################## 100.0%
- ==> Pouring portable-ruby-3.4.8.catalina.bottle.tar.gz
- ==> Homebrew collects anonymous analytics.
- Read the analytics documentation (and how to opt-out) here:
- https://docs.brew.sh/Analytics
- No analytics have been recorded yet (nor will be during this `brew` run).
-
- ==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
- https://github.com/Homebrew/brew#donations
-
- Already up-to-date.
2026-03-10 10:12.22 ---> using "a6b5f30c5231180af1bb228cd259aa8c12463acbf36bf242b51aae5b70935330" from cache
/: (run (shell "opam pin add -k version -yn picos.0.4.0 0.4.0"))
picos is now pinned to version 0.4.0
2026-03-10 10:12.22 ---> using "11e85b20f39986ddbdd1a7e8e3052e7763cf77290d64809d597b446fb55e206d" from cache
/: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew)))
(network host)
(shell "opam reinstall picos.0.4.0;\
\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 \"\\\"macos-homebrew\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'picos.0.4.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
picos.0.4.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 17 packages
- install backoff 0.1.1 [required by picos]
- 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.21.1 [required by picos]
- install dune-configurator 3.21.1 [required by lwt]
- install lwt 6.1.1 [required by picos]
- install mtime 2.1.0 [required by picos]
- install multicore-magic 2.3.2 [required by picos]
- install ocamlbuild 0.16.1 [required by mtime]
- install ocamlfind 1.9.8 [required by mtime]
- install ocplib-endian 1.2 [required by lwt]
- install picos 0.4.0 (pinned)
- install psq 0.2.1 [required by picos]
- install seq base [required by psq]
- install thread-local-storage 0.1 [required by picos]
- install topkg 1.1.1 [required by mtime]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved backoff.0.1.1 (cached)
-> retrieved cppo.1.8.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved dune.3.21.1, dune-configurator.3.21.1 (cached)
-> retrieved lwt.6.1.1 (cached)
-> retrieved mtime.2.1.0 (cached)
-> retrieved multicore-magic.2.3.2 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ocplib-endian.1.2 (cached)
-> retrieved picos.0.4.0 (https://github.com/ocaml-multicore/picos/releases/download/0.4.0/picos-0.4.0.tbz)
-> retrieved psq.0.2.1 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved thread-local-storage.0.1 (cached)
-> retrieved topkg.1.1.1 (cached)
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed mtime.2.1.0
-> installed dune.3.21.1
-> installed csexp.1.5.2
-> installed thread-local-storage.0.1
-> installed psq.0.2.1
-> installed multicore-magic.2.3.2
-> installed cppo.1.8.0
-> installed backoff.0.1.1
-> installed ocplib-endian.1.2
-> installed dune-configurator.3.21.1
-> installed lwt.6.1.1
-> installed picos.0.4.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-10 10:12.23 ---> using "6838b77b6bba8c960fe31f33ca6d97bb20fbd4aec6fe9970836a187e9846329d" from cache
/: (run (network host)
(shell "(opam reinstall --with-test picos.0.4.0) || true"))
The following actions will be performed:
=== recompile 1 package
- recompile picos 0.4.0 (pinned)
=== install 40 packages
- install alcotest 1.9.1 [required by picos]
- install astring 0.8.5 [required by alcotest, mdx]
- install camlp-streams 5.0.1 [required by mdx]
- install cmdliner 2.1.0 [required by dscheck, alcotest, mdx]
- install conf-npm 1 [required by picos]
- install containers 3.18 [required by dscheck]
- install domain-local-await 1.0.1 [required by multicore-bench]
- install domain_shims 0.1.0 [required by picos]
- install dscheck 0.5.0 [required by picos]
- install either 1.0.0 [required by containers]
- install fmt 0.11.0 [required by alcotest, mdx]
- install gen 1.1 [required by sedlex]
- install js_of_ocaml 5.8.2 [required by picos]
- install js_of_ocaml-compiler 5.8.2 [required by js_of_ocaml]
- install logs 0.10.0 [required by mdx]
- install mdx 2.5.1 [required by picos]
- install menhir 20260209 [required by js_of_ocaml-compiler]
- install menhirCST 20260209 [required by menhir]
- install menhirGLR 20260209 [required by menhir]
- install menhirLib 20260209 [required by js_of_ocaml-compiler]
- install menhirSdk 20260209 [required by js_of_ocaml-compiler]
- install multicore-bench 0.1.7 [required by picos]
- install ocaml-compiler-libs v0.12.4 [required by ppxlib]
- install ocaml-syntax-shims 1.0.0 [required by alcotest]
- install ocaml-version 4.0.3 [required by picos]
- install oseq 0.5.1 [required by dscheck]
- install ppx_derivers 1.2.1 [required by ppxlib]
- install ppxlib 0.35.0 [required by js_of_ocaml]
- install qcheck-core 0.91 [required by picos]
- install qcheck-multicoretests-util 0.10 [required by picos]
- install qcheck-stm 0.10 [required by picos]
- install re 1.14.0 [required by alcotest, mdx]
- install result 1.5 [required by mdx]
- install sedlex 3.7 [required by js_of_ocaml-compiler]
- install sexplib0 v0.17.0 [required by ppxlib]
- install stdlib-shims 0.3.0 [required by alcotest]
- install thread-table 1.0.0 [required by domain-local-await]
- install tsort 2.2.0 [required by dscheck]
- install uutf 1.0.4 [required by alcotest]
- install yojson 3.0.0 [required by multicore-bench]
The following system packages will first need to be installed:
node
<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
opam believes some required external dependencies are missing. opam can:
> 1. Run brew to install them (may need root/sudo access)
2. Display the recommended brew command and wait while you run it manually (e.g. in another terminal)
3. Continue anyway, and, upon success, permanently register that this external dependency is present, but not detectable
4. Abort the installation
[1/2/3/4] 1
+ /usr/local/bin/brew "install" "node"
- ==> Fetching downloads for: node
- ✔︎ Bottle Manifest node (25.8.0)
- ✔︎ Bottle Manifest ada-url (3.4.3)
- ✔︎ Bottle Manifest brotli (1.2.0)
- ✔︎ Bottle Manifest c-ares (1.34.6)
- ✔︎ Bottle Manifest icu4c@78 (78.2)
- ✔︎ Bottle Manifest libnghttp2 (1.68.0)
- ✔︎ Bottle Manifest libnghttp3 (1.15.0)
- ✔︎ Bottle Manifest ca-certificates (2025-12-02)
- ✔︎ Bottle Manifest openssl@3 (3.6.1)
- ✔︎ Bottle Manifest libngtcp2 (1.21.0)
- ✔︎ Bottle Manifest llhttp (9.3.1)
- ✔︎ Bottle Manifest libuv (1.52.1)
- ✔︎ Bottle Manifest simdjson (4.3.0)
- ✔︎ Bottle Manifest readline (8.3.3)
- ✔︎ Bottle hdrhistogram_c (0.11.9)
- ✔︎ Bottle Manifest uvwasi (0.0.23)
- ✔︎ Bottle Manifest zstd (1.5.7_1)
- ✔︎ Bottle Manifest lz4 (1.10.0)
- ✔︎ Bottle llhttp (9.3.1)
- ✔︎ Bottle ca-certificates (2025-12-02)
- ✔︎ Bottle fmt (12.1.0)
- ✔︎ Bottle uvwasi (0.0.23)
- ✔︎ Bottle Manifest xz (5.8.2)
- ✔︎ Bottle libnghttp2 (1.68.0)
- ✔︎ Bottle libngtcp2 (1.21.0)
- ✔︎ Bottle lz4 (1.10.0)
- ✔︎ Bottle libuv (1.52.1)
- ✔︎ Bottle readline (8.3.3)
- ✔︎ Bottle brotli (1.2.0)
- ✔︎ Bottle xz (5.8.2)
- ✔︎ Bottle zstd (1.5.7_1)
- ✔︎ Bottle simdjson (4.3.0)
- ✔︎ Bottle Manifest hdrhistogram_c (0.11.9)
- ✔︎ Bottle c-ares (1.34.6)
- ✔︎ Bottle Manifest fmt (12.1.0)
- ✔︎ Bottle libnghttp3 (1.15.0)
- ✔︎ Bottle sqlite (3.51.2_1)
- ✔︎ Bottle Manifest sqlite (3.51.2_1)
- ✔︎ Bottle ada-url (3.4.3)
- ✔︎ Bottle openssl@3 (3.6.1)
- ✔︎ Bottle node (25.8.0)
- ✔︎ Bottle icu4c@78 (78.2)
- ==> Installing dependencies for node: fmt, ada-url, brotli, c-ares, hdrhistogram_c, icu4c@78, libnghttp2, libnghttp3, ca-certificates, openssl@3, libngtcp2, libuv, llhttp, simdjson, readline, sqlite, uvwasi, lz4, xz and zstd
- ==> Installing node dependency: fmt
- ==> Pouring fmt--12.1.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/fmt/12.1.0: 29 files, 1MB
- ==> Installing node dependency: ada-url
- ==> Pouring ada-url--3.4.3.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/ada-url/3.4.3: 55 files, 1.2MB
- ==> Installing node dependency: brotli
- ==> Pouring brotli--1.2.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/brotli/1.2.0: 33 files, 1.8MB
- ==> Installing node dependency: c-ares
- ==> Pouring c-ares--1.34.6.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/c-ares/1.34.6: 176 files, 962.9KB
- ==> Installing node dependency: hdrhistogram_c
- ==> Pouring hdrhistogram_c--0.11.9.sonoma.bottle.1.tar.gz
- 🍺 /usr/local/Cellar/hdrhistogram_c/0.11.9: 22 files, 130.9KB
- ==> Installing node dependency: icu4c@78
- ==> Pouring icu4c@78--78.2.sonoma.bottle.1.tar.gz
- 🍺 /usr/local/Cellar/icu4c@78/78.2: 279 files, 86.7MB
- ==> Installing node dependency: libnghttp2
- ==> Pouring libnghttp2--1.68.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/libnghttp2/1.68.0: 14 files, 752.6KB
- ==> Installing node dependency: libnghttp3
- ==> Pouring libnghttp3--1.15.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/libnghttp3/1.15.0: 20 files, 564.8KB
- ==> Installing node dependency: ca-certificates
- ==> Pouring ca-certificates--2025-12-02.all.bottle.1.tar.gz
- ==> Regenerating CA certificate bundle from keychain, this may take a while...
- 🍺 /usr/local/Cellar/ca-certificates/2025-12-02: 4 files, 235.9KB
- ==> Installing node dependency: openssl@3
- ==> Pouring openssl@3--3.6.1.sequoia.bottle.tar.gz
- 🍺 /usr/local/Cellar/openssl@3/3.6.1: 7,624 files, 37.8MB
- ==> Installing node dependency: libngtcp2
- ==> Pouring libngtcp2--1.21.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/libngtcp2/1.21.0: 21 files, 1.2MB
- ==> Installing node dependency: libuv
- ==> Pouring libuv--1.52.1.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/libuv/1.52.1: 35 files, 1.2MB
- ==> Installing node dependency: llhttp
- ==> Pouring llhttp--9.3.1.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/llhttp/9.3.1: 13 files, 119.4KB
- ==> Installing node dependency: simdjson
- ==> Pouring simdjson--4.3.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/simdjson/4.3.0: 19 files, 8.0MB
- ==> Installing node dependency: readline
- ==> Pouring readline--8.3.3.sequoia.bottle.tar.gz
- 🍺 /usr/local/Cellar/readline/8.3.3: 56 files, 2.6MB
- ==> Installing node dependency: sqlite
- ==> Pouring sqlite--3.51.2_1.sequoia.bottle.tar.gz
- 🍺 /usr/local/Cellar/sqlite/3.51.2_1: 13 files, 5.2MB
- ==> Installing node dependency: uvwasi
- ==> Pouring uvwasi--0.0.23.sonoma.bottle.1.tar.gz
- 🍺 /usr/local/Cellar/uvwasi/0.0.23: 15 files, 262KB
- ==> Installing node dependency: lz4
- ==> Pouring lz4--1.10.0.sequoia.bottle.1.tar.gz
- 🍺 /usr/local/Cellar/lz4/1.10.0: 24 files, 678.2KB
- ==> Installing node dependency: xz
- ==> Pouring xz--5.8.2.sequoia.bottle.tar.gz
- 🍺 /usr/local/Cellar/xz/5.8.2: 96 files, 2.4MB
- ==> Installing node dependency: zstd
- ==> Pouring zstd--1.5.7_1.sequoia.bottle.tar.gz
- 🍺 /usr/local/Cellar/zstd/1.5.7_1: 32 files, 2.5MB
- ==> Installing node
- ==> Pouring node--25.8.0.sonoma.bottle.tar.gz
- 🍺 /usr/local/Cellar/node/25.8.0: 1,927 files, 79.7MB
- ==> Running `brew cleanup node`...
- Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`.
- Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
- ==> Caveats
- Bash completion has been installed to:
- /usr/local/etc/bash_completion.d
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved alcotest.1.9.1 (https://github.com/mirage/alcotest/releases/download/1.9.1/alcotest-1.9.1.tbz)
-> retrieved astring.0.8.5 (https://erratique.ch/software/astring/releases/astring-0.8.5.tbz)
-> retrieved camlp-streams.5.0.1 (https://github.com/ocaml/camlp-streams/archive/v5.0.1.tar.gz)
-> retrieved cmdliner.2.1.0 (https://erratique.ch/software/cmdliner/releases/cmdliner-2.1.0.tbz)
-> installed camlp-streams.5.0.1
-> installed conf-npm.1
-> retrieved containers.3.18 (https://github.com/c-cube/ocaml-containers/releases/download/v3.18/containers-3.18.tbz)
-> retrieved domain-local-await.1.0.1 (https://github.com/ocaml-multicore/domain-local-await/releases/download/1.0.1/domain-local-await-1.0.1.tbz)
-> retrieved domain_shims.0.1.0 (https://gitlab.com/gasche/domain-shims/-/archive/0.1.0/domain-shims-0.1.0.tar.gz)
-> retrieved dscheck.0.5.0 (https://github.com/ocaml-multicore/dscheck/releases/download/0.5.0/dscheck-0.5.0.tbz)
-> installed astring.0.8.5
-> installed domain_shims.0.1.0
-> retrieved either.1.0.0 (https://github.com/mirage/either/releases/download/1.0.0/either-1.0.0.tbz)
-> retrieved fmt.0.11.0 (https://erratique.ch/software/fmt/releases/fmt-0.11.0.tbz)
-> retrieved gen.1.1 (https://github.com/c-cube/gen/archive/v1.1.tar.gz)
-> installed either.1.0.0
-> installed gen.1.1
-> installed containers.3.18
-> retrieved js_of_ocaml.5.8.2, js_of_ocaml-compiler.5.8.2 (https://github.com/ocsigen/js_of_ocaml/releases/download/5.8.2/js_of_ocaml-5.8.2.tbz)
-> installed cmdliner.2.1.0
-> retrieved logs.0.10.0 (https://erratique.ch/software/logs/releases/logs-0.10.0.tbz)
-> retrieved mdx.2.5.1 (https://github.com/realworldocaml/mdx/releases/download/2.5.1/mdx-2.5.1.tbz)
-> installed fmt.0.11.0
-> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209 (https://gitlab.inria.fr/fpottier/menhir/-/archive/20260209/archive.tar.gz)
-> retrieved multicore-bench.0.1.7 (https://github.com/ocaml-multicore/multicore-bench/releases/download/0.1.7/multicore-bench-0.1.7.tbz)
-> installed menhirCST.20260209
-> retrieved ocaml-compiler-libs.v0.12.4 (https://github.com/janestreet/ocaml-compiler-libs/releases/download/v0.12.4/ocaml-compiler-libs-v0.12.4.tbz)
-> retrieved ocaml-syntax-shims.1.0.0 (https://github.com/ocaml-ppx/ocaml-syntax-shims/releases/download/1.0.0/ocaml-syntax-shims-1.0.0.tbz)
-> retrieved ocaml-version.4.0.3 (https://github.com/ocurrent/ocaml-version/releases/download/v4.0.3/ocaml-version-4.0.3.tbz)
-> installed menhirLib.20260209
-> installed menhirGLR.20260209
-> retrieved oseq.0.5.1 (https://github.com/c-cube/oseq/releases/download/v0.5.1/oseq-0.5.1.tbz)
-> installed menhirSdk.20260209
-> installed ocaml-syntax-shims.1.0.0
-> retrieved ppx_derivers.1.2.1 (https://github.com/ocaml-ppx/ppx_derivers/archive/1.2.1.tar.gz)
-> installed ocaml-version.4.0.3
-> installed ocaml-compiler-libs.v0.12.4
-> installed oseq.0.5.1
-> installed ppx_derivers.1.2.1
-> retrieved ppxlib.0.35.0 (https://github.com/ocaml-ppx/ppxlib/releases/download/0.35.0/ppxlib-0.35.0.tbz)
-> retrieved qcheck-core.0.91 (https://github.com/c-cube/qcheck/archive/v0.91.tar.gz)
-> retrieved qcheck-multicoretests-util.0.10, qcheck-stm.0.10 (https://github.com/ocaml-multicore/multicoretests/archive/refs/tags/0.10.tar.gz)
-> retrieved re.1.14.0 (https://github.com/ocaml/ocaml-re/archive/refs/tags/1.14.0.tar.gz)
-> retrieved result.1.5 (https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz)
-> retrieved sedlex.3.7 (https://github.com/ocaml-community/sedlex/archive/refs/tags/v3.7.tar.gz)
-> installed result.1.5
-> retrieved sexplib0.v0.17.0 (https://github.com/janestreet/sexplib0/archive/refs/tags/v0.17.0.tar.gz)
-> retrieved stdlib-shims.0.3.0 (https://github.com/ocaml/stdlib-shims/releases/download/0.3.0/stdlib-shims-0.3.0.tbz)
-> retrieved thread-table.1.0.0 (https://github.com/ocaml-multicore/thread-table/releases/download/1.0.0/thread-table-1.0.0.tbz)
-> retrieved tsort.2.2.0 (https://github.com/dmbaturin/ocaml-tsort/archive/refs/tags/2.2.0.tar.gz)
-> installed qcheck-core.0.91
-> installed stdlib-shims.0.3.0
-> retrieved uutf.1.0.4 (https://erratique.ch/software/uutf/releases/uutf-1.0.4.tbz)
-> installed thread-table.1.0.0
-> retrieved yojson.3.0.0 (https://github.com/ocaml-community/yojson/releases/download/3.0.0/yojson-3.0.0.tbz)
-> installed tsort.2.2.0
-> installed sexplib0.v0.17.0
-> installed dscheck.0.5.0
-> installed qcheck-multicoretests-util.0.10
-> installed domain-local-await.1.0.1
-> installed re.1.14.0
-> installed uutf.1.0.4
-> installed qcheck-stm.0.10
-> removed picos.0.4.0
-> installed yojson.3.0.0
-> installed multicore-bench.0.1.7
-> installed alcotest.1.9.1
-> installed menhir.20260209
-> installed ppxlib.0.35.0
-> installed sedlex.3.7
-> installed js_of_ocaml-compiler.5.8.2
-> installed logs.0.10.0
-> installed mdx.2.5.1
-> installed js_of_ocaml.5.8.2
-> installed picos.0.4.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-10 10:17.11 ---> saved as "a03a48e820eff7b6f04181af9716b6642a5eb7981395cba55ae11e769f7db563"
/: (run (shell "opam reinstall --with-test --verbose picos.0.4.0;\
\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 \"\\\"macos-homebrew\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'picos.0.4.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
The following actions will be performed:
=== recompile 1 package
- recompile picos 0.4.0 (pinned)
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 2/4: [picos: dune build]
+ /Users/mac1000/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "picos" "-j" "11" "@install" "@runtest" (CWD=/Users/mac1000/.opam/4.14.2/.opam-switch/build/picos.0.4.0)
- (cd _build/default/test && ./test_mpscq.exe)
-
random seed: 248222736
- generated error fail pass / total time test name
-
[ ] 0 0 0 0 / 1000 0.0s Picos_mpscq sequential
[✓] 1000 0 0 1000 / 1000 0.0s Picos_mpscq sequential
- ================================================================================
- success (ran 1 tests)
- (cd _build/default/test && /usr/local/bin/node test_js_of_ocaml.bc.js)
- Hello, from js_of_ocaml with Picos!
- (cd _build/default/test && ./test_server_and_client.exe)
- Using non-blocking sockets and threads on OCaml 4:
- Looping server running
- Server and Client test: SKIPPED
- (cd _build/default/test && ./test_picos.exe)
- Testing `Picos'.
- This run has ID `9O17OZN4'.
-
- [OK] Trigger basics 0
- [OK] Computation basics 0
- [OK] Fiber.FLS basics 0
- [OK] Thread cancelation 0
- [OK] Cancel after 0
- [OK] Computation signals in order 0
-
- Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.4.0/_build/default/test/_build/_tests/Picos'.
- Test Successful in 0.143s. 6 tests run.
- (cd _build/default/test && ./test_schedulers.exe)
- Testing `Picos schedulers'.
- This run has ID `4SNTSOF3'.
-
- [OK] Returns 0
- [OK] Current 0
- [OK] Cancel_after 0 basic.
- [OK] Cancel_after 1 long timeout.
-
- Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.4.0/_build/default/test/_build/_tests/Picos schedulers'.
- Test Successful in 0.117s. 4 tests run.
- (cd _build/default/test && ./test_stdio.exe)
- Testing `Picos_stdio'.
- This run has ID `456XJCFA'.
-
- [OK] Unix 0 openfile and read.
- [OK] Unix 1 sleepf.
- [OK] Unix 2 select empty timeout.
- [OK] Unix 3 select empty ∞.
- [OK] Unix 4 select.
- [OK] Unix 5 system.
-
- Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.4.0/_build/default/test/_build/_tests/Picos_stdio'.
- Test Successful in 0.395s. 6 tests run.
- (cd _build/default/test && ./test_structured.exe)
- Testing `Picos_structured'.
- This run has ID `9D46ZMHP'.
-
- [OK] Bundle 0 fork after terminate.
- [OK] Bundle 1 fork after escape.
- [OK] Bundle 2 exception in child terminates.
- [OK] Bundle 3 cancelation awaits children.
- [OK] Bundle 4 termination nests.
- [OK] Bundle 5 promise cancelation does not terminate.
- [OK] Bundle 6 error in promise terminates.
- [OK] Bundle 7 can wait promises.
- [OK] Bundle 8 any and all errors.
- [OK] Bundle 9 any and all returns.
- [OK] Bundle 10 race any.
-
- Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.4.0/_build/default/test/_build/_tests/Picos_structured'.
- Test Successful in 0.429s. 11 tests run.
- (cd _build/default/test && ./test_sync.exe)
- Testing `Picos_sync'.
- This run has ID `IF8SPBB1'.
-
- [OK] Mutex and Condition 0 basics.
- [OK] Mutex and Condition 1 errors.
- [OK] Mutex and Condition 2 cancelation.
- [OK] Lazy 0 basics.
- [OK] Lazy 1 cancelation.
-
- Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.4.0/_build/default/test/_build/_tests/Picos_sync'.
- Test Successful in 1.650s. 5 tests run.
- (cd _build/default/test && ./test_stdio_with_lwt.exe)
- Testing `Picos_stdio_with_lwt'.
- This run has ID `36918EPA'.
-
- [OK] Unix 0 system.
-
- Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.4.0/_build/default/test/_build/_tests/Picos_stdio_with_lwt'.
- Test Successful in 2.201s. 1 test run.
- (cd _build/default/test && ./test_select.exe)
- Testing `Picos_select'.
- This run has ID `0FG4MT3X'.
-
- [OK] Intr 0
-
- Full test results in `~/.opam/4.14.2/.opam-switch/build/picos.0.4.0/_build/default/test/_build/_tests/Picos_select'.
- Test Successful in 3.468s. 1 test run.
- (cd _build/default/test && ./test_htbl.exe)
-
random seed: 514567682
- generated error fail pass / total time test name
-
[ ] 0 0 0 0 / 1000 0.0s Picos_htbl sequential
[✓] 1000 0 0 1000 / 1000 0.0s Picos_htbl sequential
-
[ ] 0 0 0 0 / 1000 0.0s Picos_htbl concurrent
[ ] 8 0 0 8 / 1000 0.1s Picos_htbl concurrent
[ ] 17 0 0 17 / 1000 0.3s Picos_htbl concurrent
[ ] 22 0 0 22 / 1000 0.4s Picos_htbl concurrent
[ ] 34 0 0 34 / 1000 0.5s Picos_htbl concurrent
[ ] 38 0 0 38 / 1000 0.7s Picos_htbl concurrent
[ ] 45 0 0 45 / 1000 0.9s Picos_htbl concurrent
[ ] 55 0 0 55 / 1000 1.0s Picos_htbl concurrent
[ ] 69 0 0 69 / 1000 1.1s Picos_htbl concurrent
[ ] 73 0 0 73 / 1000 1.2s Picos_htbl concurrent
[ ] 76 0 0 76 / 1000 1.4s Picos_htbl concurrent
[ ] 84 0 0 84 / 1000 1.5s Picos_htbl concurrent
[ ] 93 0 0 93 / 1000 1.6s Picos_htbl concurrent
[ ] 94 0 0 94 / 1000 1.9s Picos_htbl concurrent
[ ] 99 0 0 99 / 1000 2.1s Picos_htbl concurrent
[ ] 108 0 0 108 / 1000 2.5s Picos_htbl concurrent
[ ] 112 0 0 112 / 1000 2.6s Picos_htbl concurrent
[ ] 119 0 0 119 / 1000 2.8s Picos_htbl concurrent
[ ] 124 0 0 124 / 1000 2.9s Picos_htbl concurrent
[ ] 126 0 0 126 / 1000 3.1s Picos_htbl concurrent
[ ] 128 0 0 128 / 1000 3.3s Picos_htbl concurrent
[ ] 138 0 0 138 / 1000 3.5s Picos_htbl concurrent
[ ] 143 0 0 143 / 1000 3.7s Picos_htbl concurrent
[ ] 148 0 0 148 / 1000 3.9s Picos_htbl concurrent
[ ] 151 0 0 151 / 1000 4.1s Picos_htbl concurrent
[ ] 182 0 0 182 / 1000 4.3s Picos_htbl concurrent
[ ] 184 0 0 184 / 1000 4.5s Picos_htbl concurrent
[ ] 193 0 0 193 / 1000 4.6s Picos_htbl concurrent
[ ] 201 0 0 201 / 1000 4.8s Picos_htbl concurrent
[ ] 212 0 0 212 / 1000 5.0s Picos_htbl concurrent
[ ] 225 0 0 225 / 1000 5.1s Picos_htbl concurrent
[ ] 230 0 0 230 / 1000 5.3s Picos_htbl concurrent
[ ] 241 0 0 241 / 1000 5.7s Picos_htbl concurrent
[ ] 245 0 0 245 / 1000 5.8s Picos_htbl concurrent
[ ] 252 0 0 252 / 1000 6.0s Picos_htbl concurrent
[ ] 265 0 0 265 / 1000 6.1s Picos_htbl concurrent
[ ] 271 0 0 271 / 1000 6.3s Picos_htbl concurrent
[ ] 278 0 0 278 / 1000 6.4s Picos_htbl concurrent
[ ] 295 0 0 295 / 1000 6.5s Picos_htbl concurrent
[ ] 297 0 0 297 / 1000 6.7s Picos_htbl concurrent
[ ] 305 0 0 305 / 1000 6.8s Picos_htbl concurrent
[ ] 314 0 0 314 / 1000 6.9s Picos_htbl concurrent
[ ] 322 0 0 322 / 1000 7.1s Picos_htbl concurrent
[ ] 325 0 0 325 / 1000 7.2s Picos_htbl concurrent
[ ] 341 0 0 341 / 1000 7.3s Picos_htbl concurrent
[ ] 360 0 0 360 / 1000 7.5s Picos_htbl concurrent
[ ] 368 0 0 368 / 1000 7.6s Picos_htbl concurrent
[ ] 384 0 0 384 / 1000 7.8s Picos_htbl concurrent
[ ] 392 0 0 392 / 1000 7.9s Picos_htbl concurrent
[ ] 395 0 0 395 / 1000 8.0s Picos_htbl concurrent
[ ] 407 0 0 407 / 1000 8.1s Picos_htbl concurrent
[ ] 413 0 0 413 / 1000 8.2s Picos_htbl concurrent
[ ] 424 0 0 424 / 1000 8.4s Picos_htbl concurrent
[ ] 426 0 0 426 / 1000 8.5s Picos_htbl concurrent
[ ] 429 0 0 429 / 1000 8.6s Picos_htbl concurrent
[ ] 433 0 0 433 / 1000 8.8s Picos_htbl concurrent
[ ] 439 0 0 439 / 1000 8.9s Picos_htbl concurrent
[ ] 441 0 0 441 / 1000 9.0s Picos_htbl concurrent
[ ] 452 0 0 452 / 1000 9.1s Picos_htbl concurrent
[ ] 456 0 0 456 / 1000 9.2s Picos_htbl concurrent
[ ] 471 0 0 471 / 1000 9.4s Picos_htbl concurrent
[ ] 483 0 0 483 / 1000 9.5s Picos_htbl concurrent
[ ] 496 0 0 496 / 1000 9.6s Picos_htbl concurrent
[ ] 507 0 0 507 / 1000 9.7s Picos_htbl concurrent
[ ] 509 0 0 509 / 1000 9.9s Picos_htbl concurrent
[ ] 516 0 0 516 / 1000 10.1s Picos_htbl concurrent
[ ] 527 0 0 527 / 1000 10.2s Picos_htbl concurrent
[ ] 547 0 0 547 / 1000 10.3s Picos_htbl concurrent
[ ] 573 0 0 573 / 1000 10.4s Picos_htbl concurrent
[ ] 583 0 0 583 / 1000 10.6s Picos_htbl concurrent
[ ] 601 0 0 601 / 1000 10.8s Picos_htbl concurrent
[ ] 609 0 0 609 / 1000 11.0s Picos_htbl concurrent
[ ] 624 0 0 624 / 1000 11.1s Picos_htbl concurrent
[ ] 647 0 0 647 / 1000 11.3s Picos_htbl concurrent
[ ] 660 0 0 660 / 1000 11.4s Picos_htbl concurrent
[ ] 662 0 0 662 / 1000 11.5s Picos_htbl concurrent
[ ] 677 0 0 677 / 1000 11.6s Picos_htbl concurrent
[ ] 688 0 0 688 / 1000 11.7s Picos_htbl concurrent
[ ] 692 0 0 692 / 1000 11.9s Picos_htbl concurrent
[ ] 694 0 0 694 / 1000 12.0s Picos_htbl concurrent
[ ] 708 0 0 708 / 1000 12.2s Picos_htbl concurrent
[ ] 715 0 0 715 / 1000 12.5s Picos_htbl concurrent
[ ] 730 0 0 730 / 1000 12.6s Picos_htbl concurrent
[ ] 732 0 0 732 / 1000 12.7s Picos_htbl concurrent
[ ] 743 0 0 743 / 1000 12.9s Picos_htbl concurrent
[ ] 756 0 0 756 / 1000 13.0s Picos_htbl concurrent
[ ] 780 0 0 780 / 1000 13.1s Picos_htbl concurrent
[ ] 786 0 0 786 / 1000 13.2s Picos_htbl concurrent
[ ] 790 0 0 790 / 1000 13.3s Picos_htbl concurrent
[ ] 804 0 0 804 / 1000 13.5s Picos_htbl concurrent
[ ] 818 0 0 818 / 1000 13.6s Picos_htbl concurrent
[ ] 820 0 0 820 / 1000 13.7s Picos_htbl concurrent
[ ] 824 0 0 824 / 1000 13.8s Picos_htbl concurrent
[ ] 833 0 0 833 / 1000 14.0s Picos_htbl concurrent
[ ] 840 0 0 840 / 1000 14.1s Picos_htbl concurrent
[ ] 846 0 0 846 / 1000 14.2s Picos_htbl concurrent
[ ] 860 0 0 860 / 1000 14.3s Picos_htbl concurrent
[ ] 874 0 0 874 / 1000 14.4s Picos_htbl concurrent
[ ] 887 0 0 887 / 1000 14.5s Picos_htbl concurrent
[ ] 893 0 0 893 / 1000 14.7s Picos_htbl concurrent
[ ] 895 0 0 895 / 1000 14.9s Picos_htbl concurrent
[ ] 903 0 0 903 / 1000 15.1s Picos_htbl concurrent
[ ] 922 0 0 922 / 1000 15.2s Picos_htbl concurrent
[ ] 936 0 0 936 / 1000 15.3s Picos_htbl concurrent
[ ] 944 0 0 944 / 1000 15.5s Picos_htbl concurrent
[ ] 971 0 0 971 / 1000 15.6s Picos_htbl concurrent
[ ] 979 0 0 979 / 1000 15.7s Picos_htbl concurrent
[ ] 986 0 0 986 / 1000 15.9s Picos_htbl concurrent
[✓] 1000 0 0 1000 / 1000 15.9s Picos_htbl concurrent
- ================================================================================
- success (ran 2 tests)
- (cd _build/default/bench && ./main.exe -brief)
- Fib:
- Picos Cancel_after with Picos_select:
- async round-trips over time/1 worker:
- 0.44 M/s
- round-trips over time/1 worker:
- 0.02 M/s
- time per async round-trip/1 worker:
- 2269.73 ns
- time per round-trip/1 worker:
- 44689.48 ns
- Picos Computation:
- attach detach pairs over time/1 worker:
- 5.66 M/s
- attach detach pairs over time/2 workers:
- 5.05 M/s
- attach detach pairs over time/4 workers:
- 5.92 M/s
- attach detach pairs over time/trivial:
- 12.43 M/s
- time per attach detach pair/1 worker:
- 176.77 ns
- time per attach detach pair/2 workers:
- 396.03 ns
- time per attach detach pair/4 workers:
- 676.09 ns
- time per attach detach pair/trivial:
- 80.43 ns
- Picos Current:
- ops over time/1 worker:
- 150.29 M/s
- ops over time/2 workers:
- 144.96 M/s
- ops over time/4 workers:
- 142.14 M/s
- time per op/1 worker:
- 6.65 ns
- time per op/2 workers:
- 13.80 ns
- time per op/4 workers:
- 28.14 ns
- Picos DLS:
- gets over time/1 worker:
- 312.26 M/s
- sets over time/1 worker:
- 95.35 M/s
- time per get/1 worker:
- 3.20 ns
- time per set/1 worker:
- 10.49 ns
- Picos FLS (excluding Current):
- gets over time/1 worker:
- 382.98 M/s
- sets over time/1 worker:
- 204.04 M/s
- time per get/1 worker:
- 2.61 ns
- time per set/1 worker:
- 4.90 ns
- Picos Mutex:
- locked yields over time/1 fiber:
- 0.07 M/s
- locked yields over time/2 fibers:
- 0.06 M/s
- locked yields over time/4 fibers:
- 0.05 M/s
- locked yields over time/8 fibers:
- 0.08 M/s
- time per locked yield/1 fiber:
- 14516.40 ns
- time per locked yield/2 fibers:
- 18179.61 ns
- time per locked yield/4 fibers:
- 19130.55 ns
- time per locked yield/8 fibers:
- 13232.32 ns
- Picos Spawn:
- spawns over time/1 at a time:
- 0.01 M/s
- spawns over time/2 at a time:
- 0.01 M/s
- spawns over time/4 at a time:
- 0.02 M/s
- spawns over time/8 at a time:
- 0.01 M/s
- time per spawn/1 at a time:
- 72818.39 ns
- time per spawn/2 at a time:
- 71863.34 ns
- time per spawn/4 at a time:
- 59956.59 ns
- time per spawn/8 at a time:
- 69689.31 ns
- Picos TLS:
- gets over time/1 worker:
- 153.64 M/s
- sets over time/1 worker:
- 87.51 M/s
- time per get/1 worker:
- 6.51 ns
- time per set/1 worker:
- 11.43 ns
- Picos Yield:
- time per yield/100 fibers:
- 14678.01 ns
- time per yield/10 fibers:
- 12946.90 ns
- time per yield/1 fiber:
- 29586.54 ns
- yields over time/100 fibers:
- 0.07 M/s
- yields over time/10 fibers:
- 0.08 M/s
- yields over time/1 fiber:
- 0.03 M/s
- Picos binaries:
- binary size/picos:
- 15.34 kB
- binary size/picos_domain:
- 4.90 kB
- binary size/picos_exn_bt:
- 7.40 kB
- binary size/picos_fd:
- 6.80 kB
- binary size/picos_htbl:
- 32.52 kB
- binary size/picos_mpscq:
- 13.04 kB
- binary size/picos_rc:
- 12.84 kB
- binary size/picos_select:
- 40.30 kB
- binary size/picos_stdio:
- 64.11 kB
- binary size/picos_structured:
- 45.02 kB
- binary size/picos_sync:
- 40.97 kB
- binary size/picos_thread:
- 2.54 kB
- binary size/picos_threaded:
- 16.77 kB
- Picos_htbl:
- operations over time/1 worker, 10% reads:
- 17.47 M/s
- operations over time/1 worker, 50% reads:
- 19.13 M/s
- operations over time/1 worker, 90% reads:
- 24.76 M/s
- time per operation/1 worker, 10% reads:
- 57.24 ns
- time per operation/1 worker, 50% reads:
- 52.27 ns
- time per operation/1 worker, 90% reads:
- 40.38 ns
- Picos_mpscq:
- messages over time/1 nb adder, 1 nb taker:
- 77.76 M/s
- messages over time/2 nb adders, 1 nb taker:
- 85.73 M/s
- messages over time/4 nb adders, 1 nb taker:
- 69.15 M/s
- messages over time/one domain:
- 31.47 M/s
- time per message/1 nb adder, 1 nb taker:
- 25.72 ns
- time per message/2 nb adders, 1 nb taker:
- 34.99 ns
- time per message/4 nb adders, 1 nb taker:
- 72.31 ns
- time per message/one domain:
- 31.77 ns
- Picos_stdio:
- blocking reads over time/1 worker:
- 0.01 M/s
- non-blocking reads over time/1 worker:
- 0.21 M/s
- time per blocking read/1 worker:
- 73125.90 ns
- time per non-blocking read/1 worker:
- 4782.92 ns
- Ref with Picos_sync.Mutex:
- ops over time/cas int (checked):
- 27.00 M/s
- ops over time/cas int (unchecked):
- 34.35 M/s
- ops over time/get (checked):
- 29.47 M/s
- ops over time/get (unchecked):
- 39.90 M/s
- ops over time/incr (checked):
- 29.57 M/s
- ops over time/incr (unchecked):
- 39.89 M/s
- ops over time/push & pop (checked):
- 24.05 M/s
- ops over time/push & pop (unchecked):
- 33.98 M/s
- ops over time/swap (checked):
- 27.10 M/s
- ops over time/swap (unchecked):
- 34.35 M/s
- ops over time/xchg int (checked):
- 27.48 M/s
- ops over time/xchg int (unchecked):
- 34.95 M/s
- time per op/cas int (checked):
- 37.04 ns
- time per op/cas int (unchecked):
- 29.11 ns
- time per op/get (checked):
- 33.93 ns
- time per op/get (unchecked):
- 25.06 ns
- time per op/incr (checked):
- 33.81 ns
- time per op/incr (unchecked):
- 25.07 ns
- time per op/push & pop (checked):
- 41.58 ns
- time per op/push & pop (unchecked):
- 29.43 ns
- time per op/swap (checked):
- 36.90 ns
- time per op/swap (unchecked):
- 29.11 ns
- time per op/xchg int (checked):
- 36.39 ns
- time per op/xchg int (unchecked):
- 28.62 ns
-> compiled picos.0.4.0
-> removed picos.0.4.0
-> installed picos.0.4.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-10 10:19.09 ---> saved as "2792371674c63805ed5776759a14c3d3e37d291cc93ef029d0cf1068137f48a8"
Job succeeded
2026-03-10 10:19.22: Job succeeded