Heptapod Runner 0.4.0 released

Posted on Fri 21 May 2021 in announcements

We're glad to announce that Heptapod Runner 0.4.0 was released this week, built for many more operating systems and architectures. We're calling out to our users for testing of some of them.

Download links are available on the Heptapod download page

Thanks to all the people involved in making this release happen.

An upstream version leap

While Heptapod itself has been kept up to date with GitLab for a whole year, now, Heptapod Runner stayed for a long time on an old version. Namely, version 0.3 was based on upstream 12.10.

This is partly due to the fact that GitLab upgrades didn't break compatibility, which we can certainly thank upstream about.

Among the reasons why we didn't follow closely upstream GitLab Runner versions was the fact that we were using a hacked-down version of the build system. It was simple enough to get us running for the early days, but it didn't go well with upstream changes. On the other hand, the upstream build got simpler in the mean time.

A related aspect that was slowing us down was that we didn't really have control of the test suite. Of course the prerequisites for the integration tests are more more complicated for a program that can be thought as a meta-scheduler for several virtualization and containerization techniques.

So now, Heptapod Runner 0.4.0 is based on GitLab Runner 13.3.2. We're therefore not quite up to date, the current GitLab version being 13.11 as of this writing, but we are confident that the progress made in the build and testing departments will allow us to perform upgrades much faster, now.

New operating systems and CPU architectures

An expected positive outcome of the work we've been doing on the build system is that it also unblocked the cross compilations set up by upstream, allowing us to publish many more official executables.

Up to now, we only had Heptapod Runner for Linux on x86_64 (amd64) and aarch64 (arm64). To that list we can add the s390x architecture on Linux, amd64 on Windows and finally Darwin (Mac OSX) for amd64 and arm64.

Note

we don't have the images for Docker-based executors on Windows yet. Probably just a matter of proper build context, don't hesitate to contact us if you have a working build setup for Windows Docker and want to help.

At this point, the Mac OSX builds have seen only quick tests with the Shell executor and we don't have access to s390x hosts to do the same under Linux. On the other hand, we've started using the Windows build for continuous testing of Mercurial itself on foss.heptapod.net.

All other combinations are basically untested, but given how small and high-level our changes with respect to GitLab Runner actually are, there is no reason to doubt they would all perform as expected, provided a suitable version of Mercurial and hg-evolve is accessible.

So please, if you're interested if the undertested OSes and architectures, don't hesitate to contact us with your feedback or questions!