Closed talex5 closed 4 years ago
Thanks a lot for the PR. As I was mentioning in https://github.com/swaywm/wlroots-ocaml/pull/3 , note that the project is in a somewhat dormant state right now, but I'll see what I can do for the other build failures today.
Everything now build in master, and I made some progress on porting the examples (examples/simple.ml is now complete).
I do agree that it would be really nice to add CI to the repository, in particular CI triggered on updates in wlroots, so that we know when the bindings become outdated. However I have no experience doing that (or doing CI for ocaml projects in fact). Would you be able to help with this maybe? Or if you just have a couple pointers that would be very fine as well.
I'd suggest:
conf-wlroots.opam
package with a depext on the wlroots
package of at least one platform (e.g. fedora).Alternatively, you could set up Travis with e.g. https://github.com/ocaml/ocaml-ci-scripts/blob/master/README-travis.md - that's more mature, but usually takes much longer to run because it does no caching.
Thanks! Let's try to use ocaml-ci then.
A couple more questions:
conf-wlroots.opam
file live in the root of the wlroots-ocaml
repository (for the moment), or do I need to add it as a proper package in the main opam repository?wlroots-ocaml
now also depends on bindings for xkbcommon that are not currently released (and they would also need a conf-xkbcommon
I assume). What would be the simplest way of depending on these auxiliary bindings in the CI build?Yes, you can put conf-wlroots.opam
in here too.
For unreleased dependencies, I normally use git submodule add ...
. The CI will use git clone --recursive
to get them too, and will opam pin
any *.opam
files it finds.
OK, thanks.
Just to be clear: what I thought would be useful is that the CI would trigger not only on new commits for the wlroots-ocaml
repository, but also on new commits on the main wlroots
repository. This way, I would know when I need to update the bindings because of changes upstream.
Is it something that's possible?
Then I guess the conf-wlroots
package would have to contain instructions for building wlroots from source...?
(it might be worth noting that AFAIK wlroots/sway has its own CI system, that could be worth using if that is simpler)
Yes, good point. Probably best to use the same CI as the rest of the project, indeed.
-DWLR_USE_UNSTABLE
.Error was:
Note: the project still doesn't build, due to other upstream API changes. I don't know how to fix those. Would be good to enable CI for this repository.