Thicket data repository for the EEG
1{
2 "id": "https://www.tunbury.org/2025/05/14/opam-health-check-oxcaml",
3 "title": "Opam Health Check with OxCaml",
4 "link": "https://www.tunbury.org/2025/05/14/opam-health-check-oxcaml/",
5 "updated": "2025-05-14T06:00:00",
6 "published": "2025-05-14T06:00:00",
7 "summary": "Arthur mentioned that it would be great to know which packages build successfully with OxCaml and which don’t.",
8 "content": "<p>Arthur mentioned that it would be great to know which packages build successfully with OxCaml and which don’t.</p>\n\n<p>With a little effort and <a href=\"https://github.com/ocurrent/opam-health-check/pull/106\">PR#106</a>, I was able to get <a href=\"https://github.com/ocurrent/opam-health-check\">opam-health-check</a> to build OxCaml from the Jane Street branch and test the latest version of all the packages in opam.</p>\n\n<p>I created the switch using the branch <code>janestreet/opam-repository#with-extensions</code>. However, I ran into issues as <code>autoconf</code> isn’t included in the base images. I added an <code>extra-command</code> to install it, but found that these are executed last, after the switch has been created, and I needed <code>autoconf</code> before the switch was created. My PR moved the extra commands earlier in the build process.</p>\n\n<p>Here is my <code>config.yaml</code>.</p>\n\n<div><div><pre><code>name: default\nport: 8080\npublic-url: http://oxcaml.check.ci.dev\nadmin-port: 9999\nauto-run-interval: 1680\nprocesses: 100\nenable-dune-cache: false\nenable-logs-compression: true\ndefault-repository: ocaml/opam-repository\nextra-repositories:\n- janestreet-with-extensions: janestreet/opam-repository#with-extensions\nwith-test: false\nwith-lower-bound: false\nlist-command: opam list --available --installable --columns=package --short\nextra-command: sudo apt install autoconf -y\nplatform:\n os: linux\n arch: x86_64\n custom-pool:\n distribution: debian-unstable\n image: ocaml/opam:debian-12-ocaml-5.2@sha256:a17317e9abe385dc16b4390c64a374046d6dd562e80aea838d91c6c1335da357\nocaml-switches:\n- 5.2.0+flambda2:\n switch: 5.2.0+flambda2\n build-with: opam\n</code></pre></div></div>\n\n<p>This results in these commands, which build the switch for testing:</p>\n\n<div><div><pre><code>sudo ln -f /usr/bin/opam-dev /usr/bin/opam\nrm -rf ~/opam-repository && git clone -q 'https://github.com/ocaml/opam-repository' ~/opam-repository && git -C ~/opam-repository checkout -q dbc9ec7b83bac3673185542221a571372b6abb35\nrm -rf ~/.opam && opam init -ya --bare --config ~/.opamrc-sandbox ~/opam-repository\nsudo apt install autoconf -y\ngit clone -q 'https://github.com/janestreet/opam-repository' ~/'janestreet-with-extensions' && git -C ~/'janestreet-with-extensions' checkout -q 55a5d4c5e35a7365ddd6ffb3b87274a77f77deb5\nopam repository add --dont-select 'janestreet-with-extensions' ~/'janestreet-with-extensions'\nopam switch create --repositories=janestreet-with-extensions,default '5.2.0+flambda2' '5.2.0+flambda2'\nopam update --depexts\n</code></pre></div></div>\n\n<p>The results are available at <a href=\"https://oxcaml.check.ci.dev\">https://oxcaml.check.ci.dev</a>.</p>",
9 "content_type": "html",
10 "author": {
11 "name": "Mark Elvers",
12 "email": "mark.elvers@tunbury.org",
13 "uri": null
14 },
15 "categories": [
16 "opam-health-check,OxCaml",
17 "tunbury.org"
18 ],
19 "source": "https://www.tunbury.org/atom.xml"
20}