1. 2

Dear Lobsters,

I’m about to throw the first release of a side project I’m working on.

The intention is to have portability across different flavours of Unix. So far I manually tested it on Fedora, Debian and OpenBSD, but I’d like enable some continuous integration, so that I can verify it systematically under all of them, FreeBSD and more GNU/Linux distributions.

Just to clarify, I might eventually consider packaging it for this and that OS, but this discussion is more a matter of “upstream”.

Before I invest my time on a specific CI platform/provider I’d like to ask if someone has some suggestion to reach my goal. For instance, I know that Travis is nice to work with, but it is only compiling on a couple of operating systems.

I can survive the horror of using Jenkins, as long as I get portability tests, but is there some free Jenkins hosting for FOSS?

NOTE: The source code of currently hosted on gitlab, but it’s just about git hosting, and I’m still free to move it wherever it’s more convenient.

Thanks in advance for sharing your experience! :)

  1.  

  2. 3

    Have you checked out https://sourcehut.org/? They offer CI services for different Linux and BSD flavors.

    1. 1

      Thanks, this one seems to be a good candidate, and I didn’t spot it. Do you have experience with it?

      1. 2

        The author of sourcehut is a lobster.

        While I don’t yet have experience with it, my reading of its docs makes me want to try.

        1. 1

          I played with it and I had a good impression. But I plan to use it for one of mine side projects to get more experience :)!

          1. 1

            I like it – it’s like GitLab CI (in terms of simple config through a .build.yml file). One of the killer features (for me) is it allows you to ssh onto the build server if it fails to debug what went wrong. This feature seriously reduces the number of wasted cycles tweaking ci config to dump more debug for a rebuild.

        2. 2

          It sounds like the openSuse Build Service is close to what you are after. They offer the infrastructure to compile and package your application on a number of different linux distributions. Unlike some of the other CI tools out there, they will also offer a package repository for your users to install your software with.

          1. 1

            Yes, this one I’ve noticed before, but it seems to neglect the *bsd side. Thanks for the link though!

          2. 1

            I have a similar problem for Oil, so I decided to write a small set of programs to aggregate results from multiple build services.

            I just got the first cut working last night, and I like how it’s turning out:

            http://travis-ci.oilshell.org/jobs/

            Right now it only runs on Travis CI. I initially didn’t like Travis for superficial YAML reasons, but after using it for a couple years, I think it’s pretty well done. I moved a lot of the YAML in to shell scripts (which they even recommend in their docs).

            I will probably use Travis for Ubuntu and OS X. And I also noticed that Sourcehut has OpenBSD and Alpine Linux support, so that might be further down the line.

            It’s only ~900 lines of shell and Python:

            https://github.com/oilshell/oil/tree/master/services

            If anyone has experience with a paritcular build service and wants to help test Oil, let me know :)


            Note: the server is called travis-ci.oilshell.org and not build.oilshell.org because I’m being picky about security. e.g. I give travis a private key to publish results to my server.

            In theory it would be nice to run the same scripts on two different build services and verify that the output matches exactly.