Call for action: GHC on FreeBSD

Today I took the initiative and created a FreeBSD CI runner on the gitlab.haskell.org platform. What this means is that there is now a path towards official testing and building of GHC on FreeBSD. With enough user contribution and enthusiasm, this could result in a revival of official FreeBSD support for future GHC releases.

My role in this is solely to support anybody who wants to come along and help. That said, I am personally excited about GHC running on as many platforms as possible, so I do hope someone steps up.

If you want to help revive FreeBSD support, please check it out! !2: Draft: Reinstating FreeBSD · Merge requests · Bryan R / GHC · GitLab. Ping me if you need GitLab access.


Backstory:

FreeBSD has been officially unsupported absent from official downloads since around GHC 9.6, due to the drain it placed on GHC maintainers and the perceived lack of user interest. The manner in which this happened has caused friction with GHCup; a regrettable matter.

To support FreeBSD users, the GHC maintainers need someone in the community to provide a FreeBSD CI runner. Acting as the Haskell Foundation DevOps engineer, I am happy to be that someone. The Foundation is paying for the runner. Currently there is just one underpowered machine, but it should be sufficient for the immediate need of (1) standardizing how FreeBSD is initialized for CI and (2) getting tests to pass again.

More details:

I have enabled the runner on my personal GHC fork, as you can see in the link above. That’s because I don’t want to create chaos in the upstream CI with an unstable FreeBSD job. Only once the job has been stabilized would we merge it upstream (and increase FreeBSD CI capacity).

17 Likes

Nice! Could you enable it for the main GHC repo when the freebsd label is set? (as we do for e.g. javascript)

It would be useful to test my fresh !13276: Fix interaction between fork and kqueue (#24672) · Merge requests · Glasgow Haskell Compiler / GHC · GitLab MR

1 Like

Only after it is able to run cleanly on master!

1 Like

You might need @bgamari’s !11024: Draft: Fix FreeBSD build · Merge requests · Glasgow Haskell Compiler / GHC · GitLab

1 Like

Would love to help with the OpenBSD ci!

1 Like

Great, let’s do that one next :smiley:

2 Likes

[…] GHC running on as many platforms as possible […]

Since OpenBSD has also been mentioned here:

!13619: Attempt to make FreeBSD testsuite-green · Merge requests · Glasgow Haskell Compiler / GHC · GitLab has just landed in ghc master, thanks to work by @bgamari . There’s now one freebsd14 runner that will test freebsd14 builds in full-ci pipeline to prevent regressions, and official freebsd bindists can be expected starting from the next major release (GHC 9.14).

6 Likes

I’m currently trying to pay someone to fix my private FreeBSD runners to allow running OpenBSD and NetBSD VMs there, likely utilizing the GHCup opencollective funds.

Unfortunately, the split between GHC GitLab and the rest of the haskell ecosystem on Github makes sharing runners a bit challenging (resource wise, at least).

I’m very happy that this work has finally landed. However, I would like to reiterate that the call for action still stands. FreeBSD will by definition continue to be a Tier 2 platform until someone steps up to take ownership of the platform. Maintaining platform support requires real work: between looking after CI issues, fixing broken tests, and maintaining runners, there are tasks which need doing. Currently GHC HQ does not have the resources to take ownership of this platform ourselves and we are looking for volunteers.

5 Likes

@bgamari has GHC HQ reached out to the FreeBSD foundation?

I would gladly help.

1 Like

@3301 would you like to setup a call where we can discuss next steps?

Yeah, sure. I’m UTC+01:00.

1 Like