Comments (6)
This might be easier:
If a package's opam file contains an explicit constraint on the version of OCaml then:
- Exclude it from non-matching versions
- Force it to be included for matching versions (complain if not)
from ocaml-ci.
If a package's opam file contains an explicit constraint on the version of OCaml then:
* Exclude it from non-matching versions * Force it to be included for matching versions (complain if not)
I'm not sure I like the idea of adding artificial constraints in .opam
files purely to signal intention to the CI β it's not easy to check when / if it's possible to relax those constraints β but it's definitely easier to implement and clearly better than the prior approach of replicating this info in config files. I'd be happy with this as a solution π
from ocaml-ci.
Given the potential for stopping testing a version without realising it, might it be an idea to be stronger and actually require a version constraint on ocaml?
from ocaml-ci.
So if you have no constraint on OCaml, then your package should be testing on all supported versions, and either the lint or analyse phases will fail if packages arenβt installable in a given version
from ocaml-ci.
Given the potential for stopping testing a version without realising it, might it be an idea to be stronger and actually require a version constraint on ocaml?
Yes, I've been wondering about that too.
My only concern is that sometimes a package is temporarily uninstallable on a new compiler release due to missing dependencies (e.g. Lwt not available on OCaml 4.12). We don't want to encourage people to go around adding ocaml < 4.12
constraints everywhere while that's being fixed.
But for lower bounds at least it seems fine. So if I say ocaml >= 4.02
then it must work with 4.02.
from ocaml-ci.
This is also an issue for Lwt now, since lwt_ppx is 4.04 only, but the rest of the opam packages should build on 4.02 but aren't being tested.
from ocaml-ci.
Related Issues (20)
- EXPERIMENTAL: (lint-opam) (failure: No *.opam files found!)
- Web UI reports "Oops! Internal Server Error" when job hasn't started yet
- Missing `.ocamlformat` version line causes analysis failure HOT 1
- failed: Failed to get head of ocaml/opam-repository:refs/heads/master HOT 1
- CI failure on 5.1 32-bit builders HOT 1
- OCaml 5.2 support HOT 2
- Add additional opam-repository / Dockerfile customization? HOT 3
- Naming of builders
- FreeBSD CI failures HOT 8
- debian-12 x86_32 workers fail due to old capnproto version HOT 6
- `lint-doc` job failing on installation of `conf-git` HOT 1
- `lint-fmt` job fails with "Error: Program ocamlformat not found in the tree or in PATH" HOT 3
- Web UI doesn't show log output, but CLI does
- `lint-fmt` failing with file permission error HOT 3
- Promote FreeBSD and MacOS to non-exprimental HOT 3
- HTTP 500 error on CI run HOT 2
- Local Opam Vars Job Causing Outages HOT 2
- Upgrade to opam 2.2
- ocaml CI fails when a tested package transitively depends on another one. HOT 2
- Support builds on RISC-V 64 bits, Linux (a Tier 1 ocaml platform)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ocaml-ci.