node_exporter icon indicating copy to clipboard operation
node_exporter copied to clipboard

Build new *BSD CI pipelines

Open SuperQ opened this issue 1 year ago • 7 comments

Because the node_exporter requires C bindings for BSD builds we need to have BSD-capable CI runners in order to test builds.

We used to have a buildkite configuration, but this has fallen into disrepair.

We have a few options.

  • Repair the buildkite setup.
  • Add BSD runners for CircleCI.
  • Add BSD runners for GitHub Actions.

In order to do this with easier long-term maintenance, I think we should build some kind of automation around recycling the worker VMs. The original setup was built on a Packet/Equinix Metal server, which was too much work to maintain.

SuperQ avatar Dec 22 '23 09:12 SuperQ

I'll take this.

I've previously did some cursory investigation into GitHub runners + FreeBSD, but GitHub themselves don't qualify their self hosted runners in BSD.

I'll investigate CircleCI, but a fourth option would be to create a new buildkite config, instead of repairing the existing one

conallob avatar Dec 22 '23 10:12 conallob

Hi, this runs a little bit slow but did the job for me,

https://github.com/msktutil/msktutil/blob/master/.github/workflows/msktutil-freebsd.yml

I mean this action here, https://github.com/vmactions/freebsd-vm

mjtrangoni avatar Dec 22 '23 10:12 mjtrangoni

@mjtrangoni Thanks for the pointer to https://github.com/vmactions/freebsd-vm

I'll play around with freebsd-vm and see how fast it is, before opening a PR to add VMs into GitHub Actions

conallob avatar Jan 01 '24 17:01 conallob

If you haven't seen it (I didn't see it mentioned in search results of this repo), there's also Cirrus CI which has native support for FreeBSD runners and is free for open source projects. I use it on one of my FreeBSD projects and it's been fine over the years. I'm obviously unsure how it would perform with a way more popular project like this one.

phyber avatar Feb 18 '24 17:02 phyber