diff --git a/Dockerfile b/Dockerfile index db8d6aa7..ed53601a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM ocaml/opam:debian-12-ocaml-4.14 AS build RUN sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam && opam init --reinit -ni RUN sudo apt-get update && sudo apt-get install libev-dev capnproto graphviz m4 pkg-config libsqlite3-dev libgmp-dev libffi-dev -y --no-install-recommends -RUN cd ~/opam-repository && git fetch origin master && git reset --hard 4babd36394aae994a783e98ff33cafe6e7fea1c8 && opam update +RUN cd ~/opam-repository && git fetch origin master && git reset --hard 8df59b79937426fefdf443f2202c514b5dfa479d && opam update COPY --chown=opam opam-repo-ci-service.opam opam-repo-ci-api.opam /src/ WORKDIR /src RUN opam install -y --deps-only . diff --git a/Dockerfile.web b/Dockerfile.web index 25efb5c5..965d06ba 100644 --- a/Dockerfile.web +++ b/Dockerfile.web @@ -1,7 +1,7 @@ FROM ocaml/opam:debian-12-ocaml-4.14 AS build RUN sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam && opam init --reinit -ni RUN sudo apt-get update && sudo apt-get install libev-dev capnproto m4 pkg-config libgmp-dev libffi-dev -y --no-install-recommends -RUN cd ~/opam-repository && git fetch origin master && git reset --hard 4babd36394aae994a783e98ff33cafe6e7fea1c8 && opam update +RUN cd ~/opam-repository && git fetch origin master && git reset --hard 8df59b79937426fefdf443f2202c514b5dfa479d && opam update COPY --chown=opam opam-repo-ci-api.opam opam-repo-ci-web.opam opam-repo-ci-service.opam /src/ WORKDIR /src RUN opam install -y --deps-only . diff --git a/doc/platforms.md b/doc/platforms.md index 8cbc1d28..52f60429 100644 --- a/doc/platforms.md +++ b/doc/platforms.md @@ -56,6 +56,7 @@ - 5.2-afl - 5.2-flambda - 5.2-no-flat-float-array +- 5.3~alpha1 ## Platforms Matrix @@ -93,6 +94,7 @@ | debian-12 | amd64 | 5.2-afl | dev | No | No | | debian-12 | amd64 | 5.2-flambda | dev | No | No | | debian-12 | amd64 | 5.2-no-flat-float-array | dev | No | No | +| debian-12 | amd64 | 5.3~alpha1 | dev | Yes | No | | debian-12 | arm32v7 | 4.14 | dev | No | No | | debian-12 | arm32v7 | 5.2 | dev | No | No | | debian-12 | arm64 | 4.14 | dev | No | No | diff --git a/test/specs.expected b/test/specs.expected index 2f6cbf43..55432dbf 100644 --- a/test/specs.expected +++ b/test/specs.expected @@ -1528,6 +1528,93 @@ build: debian-12-ocaml-5.2/amd64 opam-dev with-tests test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \ exit 1 +build: debian-12-ocaml-5.3-alpha1/amd64 opam-dev + FROM BASE_IMAGE_TAG + USER 1000:1000 + WORKDIR /home/opam + RUN sudo ln -f /usr/bin/opam-dev /usr/bin/opam + RUN opam init --reinit -ni + RUN uname -rs && opam exec -- ocaml -version && opam --version + ENV OPAMDOWNLOADJOBS="1" + ENV OPAMERRLOGLEN="0" + ENV OPAMSOLVERTIMEOUT="1000" + 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 a.0.0.1 0.0.1 + RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 opam reinstall a.0.0.1; \ + 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" != 'a.0.0.1' && partial_fails="$partial_fails $pkg"; \ + done; \ + test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \ + exit 1 + +build: debian-12-ocaml-5.3-alpha1/amd64 opam-dev lower-bounds + FROM BASE_IMAGE_TAG + USER 1000:1000 + WORKDIR /home/opam + RUN sudo ln -f /usr/bin/opam-dev /usr/bin/opam + RUN opam init --reinit -ni + RUN uname -rs && opam exec -- ocaml -version && opam --version + ENV OPAMDOWNLOADJOBS="1" + ENV OPAMERRLOGLEN="0" + ENV OPAMSOLVERTIMEOUT="1000" + 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 a.0.0.1 0.0.1 + RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 opam reinstall a.0.0.1; \ + 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" != 'a.0.0.1' && partial_fails="$partial_fails $pkg"; \ + done; \ + test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \ + exit 1 + ENV OPAMCRITERIA="+removed,+count[version-lag,solution]" + ENV OPAMFIXUPCRITERIA="+removed,+count[version-lag,solution]" + ENV OPAMUPGRADECRITERIA="+removed,+count[version-lag,solution]" + RUN opam option solver=builtin-0install + RUN --mount=type=cache,id=opam-archives,target=/home/opam/.opam/download-cache,uid=1000 opam reinstall a.0.0.1; \ + 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" != 'a.0.0.1' && partial_fails="$partial_fails $pkg"; \ + done; \ + test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \ + exit 1 + build: ubuntu-24.04-ocaml-5.2/amd64 opam-dev FROM BASE_IMAGE_TAG USER 1000:1000