Skip to content

ci: robust apt steps for opam and core-32bit (skip system ocaml, retry, mirror fallback) - #53

Merged
zachyking merged 2 commits into
mainfrom
ci/apt-opam-robust
Oct 26, 2026
Merged

zachyking merged 2 commits into
mainfrom
ci/apt-opam-robust

Conversation

@zachyking

Copy link
Copy Markdown
Member

The refinement job's opam step timed out on 4 of 4 recent runs (averin#51 run 40324224354 attempts 1 and 2, averin#50 run 40352552780), each time downloading ocaml 4.14.1-1ubuntu1 [81.4 MB] from azure.archive.ubuntu.com.

Evidence (noble ubuntu-latest runner, diagnostic run 40366111847, since removed)

apt-cache depends opam:

opam
  Depends: libc6, libgcc-s1, libglpk40, libstdc++6, opam-installer,
           build-essential, bubblewrap, unzip, wget|, curl
  Recommends: ocaml
  Recommends: git
  Recommends: <darcs>
  Recommends: mercurial
  Recommends: m4
  Recommends: rsync
  Recommends: ca-certificates

ocaml is only a Recommends. apt-get install -s of opam libgmp-dev pkg-config zstd:

  • with recommends: adds ocaml, ocaml-base, ocaml-interp, ocaml-man, ledit, libstdlib-ocaml(-dev), libcompiler-libs-ocaml-dev
  • --no-install-recommends: only bubblewrap build-essential libsuitesparseconfig7 libamd3 libcolamd3 libglpk40 opam-installer opam

setup-toolchain.sh builds its own OCaml 5.3.0 (opam switch create 5.3.0), so the system ocaml is unused.

Change

  • opam step: --no-install-recommends, plus the recommends the build still uses named explicitly (git, rsync, m4, ca-certificates).
  • Both apt steps (opam, core-32bit gcc-multilib): -o Acquire::Retries=5 -o Acquire::http::Timeout=60; on attempts 2 and 3 the step rewrites /etc/apt/sources.list.d/ubuntu.sources to http://archive.ubuntu.com/ubuntu (that runner only).

Formal claim checks (check_claims.py, check-claims.py) were run; nothing needed relocking.

🤖 Generated with Claude Code

zachyking and others added 2 commits October 26, 2026 17:10
Co-Authored-By: Claude Opus 5.5 <[email protected]>
…mirror

opam only Recommends ocaml, which setup-toolchain.sh does not need (it builds
OCaml 5.3.0), so install with --no-install-recommends plus the recommends the
build uses. Add apt retries and a 60s timeout, and fall back to
archive.ubuntu.com on attempts 2 and 3.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@zachyking
zachyking merged commit 22b1626 into main Oct 26, 2026
36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant