Testing on multiple versions and upgrading

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Testing on multiple versions and upgrading

Pierre Abbat
Bezitopo 0.1.3 I tested on both Xenial and Artistic. I was developing on a
laptop called caracal, which was running Xenial, and had bought a new laptop
named mooncat, which came with Artistic. Is there much sense in testing a
program on two releases of the same OS? (I also test programs on BSD and
Windows. I used to test Bezitopo on a Raspberry Pi, but a Pi is too small for
serious work with PerfectTIN.)

I'm in the process of upgrading Linux boxes, now doing my mail server. I'm
going to upgrade mooncat from Bionic to Focal and puma (new devel box, more
RAM and more threads) from Eoan to Focal. However, I'm also waiting for two
users to report on PerfectTIN 0.4.1 before I release it. One spent all day
Sunday cleaning a point cloud which he's going to convert to a TIN and called
me, exhausted, before flopping into bed; the other hasn't downloaded it yet.
Should I wait until I release it to upgrade my devel boxes?

When Gorilla comes out, should I upgrade both devel boxes, leave one at Fossa,
or leave both at Fossa and wait for the next LTS version?

Pierre
--
The gostak pelled at the fostin lutt for darfs for her martle plave.
The darfs had smibbed, the lutt was thale, and the pilter had nothing snave.



_______________________________________________
Discuss mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/discuss
Reply | Threaded
Open this post in threaded view
|

Re: Testing on multiple versions and upgrading

James Klassen
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.

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.

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.



On Mon, Jun 15, 2020 at 2:51 AM Pierre Abbat <[hidden email]> wrote:
Bezitopo 0.1.3 I tested on both Xenial and Artistic. I was developing on a
laptop called caracal, which was running Xenial, and had bought a new laptop
named mooncat, which came with Artistic. Is there much sense in testing a
program on two releases of the same OS? (I also test programs on BSD and
Windows. I used to test Bezitopo on a Raspberry Pi, but a Pi is too small for
serious work with PerfectTIN.)

I'm in the process of upgrading Linux boxes, now doing my mail server. I'm
going to upgrade mooncat from Bionic to Focal and puma (new devel box, more
RAM and more threads) from Eoan to Focal. However, I'm also waiting for two
users to report on PerfectTIN 0.4.1 before I release it. One spent all day
Sunday cleaning a point cloud which he's going to convert to a TIN and called
me, exhausted, before flopping into bed; the other hasn't downloaded it yet.
Should I wait until I release it to upgrade my devel boxes?

When Gorilla comes out, should I upgrade both devel boxes, leave one at Fossa,
or leave both at Fossa and wait for the next LTS version?

Pierre
--
The gostak pelled at the fostin lutt for darfs for her martle plave.
The darfs had smibbed, the lutt was thale, and the pilter had nothing snave.



_______________________________________________
Discuss mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/discuss

_______________________________________________
Discuss mailing list
[hidden email]
https://lists.osgeo.org/mailman/listinfo/discuss
Reply | Threaded
Open this post in threaded view
|

Re: Testing on multiple versions and upgrading

Pierre Abbat
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
[hidden email]
https://lists.osgeo.org/mailman/listinfo/discuss