while preparing for a new camlp5 release, I noticed that there’s a new platform, “opensuse”. Also, a week-or-so ago, I saw that OCaml “5.2~beta2” was part of the set of compiler releases being tested. Today, after Ocaml 5.2.0 was released and available thru opam, I saw that it had not yet made it into the set of tested compiler releases in opam-ci.
Obviously, it takes time to get these things done grin. And so I wondered if there were a place that we could look (e.g., the source or config-files that drive opam-ci) to see which platforms and compiler releases are being tested currently, so that I could just check there, instead of submitting a package release and burning CPU resources on the opam-ci test-clusters (only to find that there’s a new platforms I didn’t expect, or the compiler release I was expecting hasn’t made into the CI yet) ?
I realize that it’s a test fixture. I searched around, using “freebsd”, “opensuse”, and “5.2” and couldn’t find anything that looked like lists of platforms or compiler-versions. But if this test-fixture captures the set of compiler/platform combinations that are tested, then that’s enough I guess ?
ETA: specifically, I see that in that file, there’s “debian-12-ocaml-5.2-beta2”, but no “5.2”, so from this I can conclude that the CI apparatus is not yet testing against the new release. Which is (grin) the thing I wanted to be able to check.
grin A long, long time ago, I remember an interview with a high-ranking SRE at Google. It was in ACM Queue. He was asked about how much they automated, and he responded that for a bunch of things, they didn’t automate them, b/c if a thing was sufficiently low-probability, unless it was really simple to automate, it wasn’t worth the bother, and automation always carried risk with it. Sometimes having an SRE with a laptop on five-minute response duty, was the best way to deal with a class of failures.
If that file is a good place to look, a simple pointer from the docs to it is probably sufficient.
Thank you for confirming that that file is a relevant place to look!
Looking at the expected builds does seem like the best way.
I also had a look at the code to see where the platforms come from. The pipeline definition starts at pipeline.ml#L140, which uses test_repo to test opam-repository. That gets all the PRs and processes each one with test_pr, which uses Build.with_cluster:
compilers uses e.g. Ocaml_version.Releases.recent @ Ocaml_version.Releases.unreleased_betas