the docker images can't cache libraries I depend on. If the library compiles slowly, my CI compiles slowly. Caching .opam fixes this problem
I don't know what we did, a team member set this up
I reused & adapted scripts made by a colleague
Learning how to use them might pay off in the future, but it is hard to give it a try with limited time when something else is already working.
at the time I chose, this was the only solution that did not rebuild Coq from scratch on each CI run
I had trouble making it work together with a Haskell environment in the past
General CI feedback
I think that CI support is good. I wish that the docker images were released more tightly since that is the main bottleneck in updating coq projects to a newer version of coq.
I am not at all aware about the CI tools that the Coq ecosystem provides.
In UniMath, we have somewhat struggled with setting up CI, and we would love to learn more about the available CI tools.
I feel hobbled using CI because I'm not an expert in the use of opam. And opam seems quite complex to me, so I am not well motivated to become expert in opam.
Honestly CI is pretty great these days with pre-built images, the template, and GitHub Actions in general.
I only started using it recently and it’s insanely helpful!
I love Coq :D keep on the good work !
A bit of delay with the coq/ocaml most recent versions
A coq/setup-coq repo is what people will look for/expect when it comes to github-actions.
That repo would install coq using the tool cache at the desired version.
Getting coq into the actions/virtual-environments images will make everyone's CI jobs faster and make it simpler for people to get started. They are pretty generous with including niche software in their base images.
For plugin testing, it is necessary to combine specific OCaml and Coq versions, which the current images do not provide.
I would love to see well-supported binary tarballs of Coq and ocaml and etc instead of special solutions for each platform of the day.
I love it!
Great work! But still a bit hard to use / understand, in particular the Nix-based setup.
I have used NixOS ages ago and I'm not an expert. With my basic knowledge I find the documentation on the nix solutions hard to follow, in particular when it comes to adding dependencies and having them cached with cachix. I didn't do a lot of digging because it was not too important, but overall I would very much like to switch from our custom docker images to a nix-based solution.
We asked several questions about CI for Coq projects in the Coq Community Survey 2022. Here are the results.
cc @erikmd @CohenCyril
CI usage
The other answers were:
CI platforms
The other answers were:
We can also see that Travis CI has not been used by a lot of newcomers:
CI tools
The other answers were:
The other answers were:
General CI feedback
I think that CI support is good. I wish that the docker images were released more tightly since that is the main bottleneck in updating coq projects to a newer version of coq.
I am not at all aware about the CI tools that the Coq ecosystem provides.
In UniMath, we have somewhat struggled with setting up CI, and we would love to learn more about the available CI tools.
I feel hobbled using CI because I'm not an expert in the use of opam. And opam seems quite complex to me, so I am not well motivated to become expert in opam.
Honestly CI is pretty great these days with pre-built images, the template, and GitHub Actions in general.
I only started using it recently and it’s insanely helpful!
I love Coq :D keep on the good work !
A bit of delay with the coq/ocaml most recent versions
A coq/setup-coq repo is what people will look for/expect when it comes to github-actions. That repo would install coq using the tool cache at the desired version.
Getting coq into the actions/virtual-environments images will make everyone's CI jobs faster and make it simpler for people to get started. They are pretty generous with including niche software in their base images.
For plugin testing, it is necessary to combine specific OCaml and Coq versions, which the current images do not provide.
I would love to see well-supported binary tarballs of Coq and ocaml and etc instead of special solutions for each platform of the day.
I love it!
Great work! But still a bit hard to use / understand, in particular the Nix-based setup.
I have used NixOS ages ago and I'm not an expert. With my basic knowledge I find the documentation on the nix solutions hard to follow, in particular when it comes to adding dependencies and having them cached with cachix. I didn't do a lot of digging because it was not too important, but overall I would very much like to switch from our custom docker images to a nix-based solution.