-
-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Question: travis-ci to test linux arm/ppc/mips #106
Comments
Very interested in that, yes. Also, I was never able to get the gcov stuff from your .travis.yml to work right. Not sure if I fully understood what that was supposed to do. Would testing other architectures require another docker image? |
Yes, testing other architectures will require other docker images, one by architecture. A common step that will also be needed is to install qemu-arch-static on the docker host. Regarding the gcov stuff, I don't know which step failed on your end. If this is the last one from my |
Ah, yes. That was the issue exactly. I didn't register at that web site because I didn't fully understand what the gcov script was supposed to do. What sorts of issues can be prevented by gathering coverage statistics? I've never actually done that before. |
Well, I won't say that it actually prevent issues on its own. An analysis of the coverage report can however help to pinpoint where tests could be enhanced so that all code paths are taken. I consider that metric to be qualitative & I don't usually rely on it alone too much. |
Thanks for the explanation. For now I think I want to leave gcov as an exercise for the individual developers rather than include it in CI builds. I don't think that information is something I would use frequently enough to justify the CI overhead. |
I can understand that. |
Yeah, but you can get the same information locally by running lcov. Philosophically, I see CI as a sanity check against regression, not as a useful tool for guiding development. Development takes place locally and usually requires numerous testing iterations to get right, so tools that guide development are better kept locally as well. |
I made some progress on other arch builds with travis-ci. Here are the different docker images used:
You can find Dockerfile for I have also imported your Dockerfile for CentOS 5 in order to create a consistent TAG for this image in my repo I updated the You can get an overview here: https://travis-ci.org/mayeut/libjpeg-turbo/builds/166536277 At the moment, I know the SIMD path is taken while testing for |
Thanks for your work. I'll play with these over the coming weeks and look at how best to integrate them. |
I brought up my own local copies of these images and validated all of them against the libjpeg-turbo build. Because it is so slow to do a complete build/test with these images (presumably due to the overhead of emulating the instructions), I think it is best for now not to include them in the CI builds. However, I will use the images locally to test and validate any changes made to the ARM-specific and PPC-specific code. |
I've actually been unable to make the PPC image work. Can you verify which version of Docker you are using? For me, when I try to build the image, it gives me the following when it runs
|
I'm running 1.12.3. |
I'm running 1.12.1 but that does not seem to be the problem. |
So, not knowing what was happening and not finding any issues opened that seemed related to this problem, I took another way around this issue. I updated my script & docker file to build images from scratch rather than from an existing image. Feel free to check the scripts which are still there: https://github.com/mayeut/ljtbuilder |
Same issue happens with your new Dockerfile, unfortunately. :( |
Weird, this time around I can build/rebuild without issues which was not the case last time. |
I'll try one of the other architectures. Stand by. |
Eh, never mind. I was going to try ppc64 instead of ppc64le, but they don't have a build for it unfortunately. |
Got it working using the Trusty image. Apparently this problem is specific to Xenial. |
Ok, good to know. |
I already have access to a real big endian PPC Linux server, as well as a Snow Leopard VM that can run big endian PPC code via Rosetta, so really the only reason I was interested in getting this up and running was to test ppc64le and ARM code. What I could really use more than anything right now is a way to test MIPS code. |
OK, |
I finally got a MIPS image to work. Seems the issue is not in the image but in the way |
That worked. Thanks! |
I had this working briefly with Travis, on their native Arm and PPC runners, before they started asking open source projects for money in order to continue using their system. I was forced to move to GitHub Actions, which does not have non-x86 build support. Oh well... |
I saw that travis-ci has been added to build/test official linux/macos binaries (& test other things).
Are you interested in having travis-ci test other architectures than x86/x86_64 ?
If so, are you doing that on your own or some contributions are welcome ?
I may be able to look at that within a couple months if that helps.
From experiences on #97, I already know that arm64 can be done and given the description in this link, a few others should also be possible.
The text was updated successfully, but these errors were encountered: