Skip to content
This repository has been archived by the owner on Dec 27, 2022. It is now read-only.

Continious integration #5

Open
akhramov opened this issue May 5, 2021 · 5 comments
Open

Continious integration #5

akhramov opened this issue May 5, 2021 · 5 comments
Assignees

Comments

@akhramov
Copy link
Owner

akhramov commented May 5, 2021

Set up pull requests pipelines using GH Action runners.

Since GitHub doesn't provide FreeBSD environments (actions/runner-images#2529), we need to set up Vagrant boxes for

  • latest release version (13.0 as of time of writing)
  • current development version (14.0-CURRENT as of time of writing)

The CI should have following capabilities

@andoriyu
Copy link

* [ ]  Research options (cirrus, github actions)

* [ ]  Setup pull requests pipelines

So I've used nearly damn every CI available out there. For freebsd your best choice is cirrus. Which is a little flakey and super slow, but gets the job done. Alternatively you use your own runner with GH actions/other CI, but that's complicated when you're testing something like what you have.

I ran bhyve VM with freebsd that I rollback everyday for tests in addition to cirrus.

I would love to help with the project.

@akhramov
Copy link
Owner Author

Hey, thanks for the suggestions. I used cirrus in variety of projects, such as py-spy. It's slow but gets job done.

Actually I would like to dig into GH actions, alas GH has no FreeBSD runners available (actions/runner#385).

So we have two options here:

  • libjail-rs set up FreeBSD pipelines using mac-os runner + vagrant. It works, yep
  • I'm playing right now with launching a runner in a debian jail using knast. So, two birds one stone: having tests and dogfooding.

As a side note, we need to think about aarch64 tests, too. But that's for future, I don't have aarch64 hardware myself.

@andoriyu
Copy link

You can actually run GH runners on FreeBSD. It's runs on Mono. You will lose all the features that use docker, but it's still something.

@akhramov
Copy link
Owner Author

Had no luck with running this on Mono, because as I understood nuget repositories do not contain necessary libraries for freebsd-x64 target.

Tried to use linuxulator with the original runner release. Runner runs and registers with github, yet jobs fail due to some shenanigans in dotnet SDK file copy routines.

Updated issue description, if you want to work on this one, please let me know. Alternatively, you can take a look at #12 or #13 :)

Thanks!

@andoriyu
Copy link

Sure, I'll work on this one.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants