I’m using CircleCI to generate coverage reports for some Rust projects. This used to work really well: the coverage tool, Tarpaulin, comes as a xd009642/tarpaulin docker image and all I needed to make it run was
Thanks! While being significantly slower due to building everything from scratch instead of using a pre-made Docker image, the following seems to do the trick:
it seems the time jumped from 1 to 17 minutes. This is because I’m first building the Tarpaulin code coverage tool, and the Rust compiler is rather slow.
Can you build it as a static, self-contained binary, in a different build process? I am not familiar with Rust, but I believe that you can do that with any compilable/linkable language (it is popular with Go, but presumably can be done with C/C++ etc). If you can do this with Rust then you could just commit it to a repo or storage service and then pull it into place.
Yeah, Rust can also be compiled statically. In this case, I believe Tarpaulin is tied to a particular version of Rust so I think I’ll try running is via the same Docker image (xd009642/tarpaulin) as I did originally, but from the machine executor so it can run with full privileges.