On Monday, June 15, 2020 11:32:07 AM EDT James Klassen wrote: > If you want to be thorough, testing on different versions of the "same" > Linux distribution makes sense. Generally, the compiler and all the > surrounding libraries are upgraded between distribution versions and could > have different behaviors or bugs.
Both AppVeyor and Travis have a few LTS releases of Ubuntu, but no Red Hat. Several months ago, Pat (one of my users) asked me to get PerfectTIN running on his CentOS 7 box. I found out that the CMake was too old to handle the version of C++ needed to implement readers-writer locks, which are essential in getting PerfectTIN to run at full speed on all threads. RHEL 7 (and therefore CentOS 7) was released five years before RHEL 8. Being used to Ubuntu's two-year LTS cycle, I advised him to get Fedora. I set up PerfectTIN on his Fedora NUC, and he can now run "git pull" on it and upgrade to the latest. I think it's also important to test on the different BSDs. I'm planning to get some NUCs running BSDs. Differences I've run into are: * Linux has M_PIl; DragonFly BSD doesn't. * Including a certain system include file worked on Linux but not BSD. I had to include another file. > You might want to look into a continuous integration (CI) tool that can > automatically run the build and tests on multiple platforms whenever you > push a commit. Looking at how GDAL and/or PDAL handle this would be a good > place to get started. Are there CI tools that can handle Linux, the BSDs, and Windows? Do any CI providers have big-endian hardware, or do I have to buy my own box? I was thinking of getting some NUCs and running "git pull" and "ninja test" on each one. The geoidboundary test of Bezitopo takes 45 seconds (on mooncat, I think). Are such long tests a problem with CI? PerfectTIN has some automatic tests, but I still test it by converting point clouds, some of which take hours. Can you suggest some more automatic tests? > Related to using CI, setting up development environments in different > containers (like with Docker) can let you build and test different Linux > versions on the same machine (and can help with setting up CI tools). This > makes keeping machines around with different versions of the OS around > mostly unnecessary, and decouples the ability to test on a > distribution/version from whatever distribution/version you use day-to-day. Can Docker on Linux run BSD in a container? Can a Docker container on one BSD run a different BSD? Pierre -- Don't buy a French car in Holland. It may be a citroen. _______________________________________________ Discuss mailing list Discuss@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/discuss