Some OSes are trivial to support: versions of Ubuntu are included in official runner images available via runs-on attribute on GitHub, and there is Windows support.
Some OSes seem to be supportable by running in VMs directly on GitHub: https://github.com/marketplace/actions/freebsd-vm says not only can one run FreeBSD inside runs-on: ubuntu-latest, as a VM, but even choose another architecture (arm64, riscv):
...
runs-on: ubuntu-latest
name: A job to run test in FreeBSD
env:
MYTOKEN : ${{ secrets.MYTOKEN }}
MYTOKEN2: "value2"
steps:
- uses: actions/checkout@v4
- name: Test
id: test
uses: vmactions/freebsd-vm@v1
with:
release: "15.0"
arch: aarch64
...
Local runners or third-party CI systems (installed as GitHub Apps, or triggered from GitHub Actions) can be great to top up whatever we're missing.
A requirement for using a third-party CI system is that they must make go/no-go results available in a way visible in main review UI (currently GitHub). Logs must be trivially reachable as well, without login, so code author can see and fix the issue.
This by itself is not a great FR because it's open-ended: which combinations do we want to set up?
Let's say: Initially FreeBSD on x86, arm64 and riscv, since it's documented. We could add Nix or similar.
Windows should be supportable as well, but if not easy, maybe we can scope it into a different issue for separate tracking.
This is all blocked on actual base Ubuntu-based CI working, since we can't start setting up other OSes if we don't know if a base install will work.
Some OSes are trivial to support: versions of Ubuntu are included in official runner images available via
runs-onattribute on GitHub, and there is Windows support.Some OSes seem to be supportable by running in VMs directly on GitHub: https://github.com/marketplace/actions/freebsd-vm says not only can one run FreeBSD inside
runs-on: ubuntu-latest, as a VM, but even choose another architecture (arm64, riscv):Local runners or third-party CI systems (installed as GitHub Apps, or triggered from GitHub Actions) can be great to top up whatever we're missing.
A requirement for using a third-party CI system is that they must make go/no-go results available in a way visible in main review UI (currently GitHub). Logs must be trivially reachable as well, without login, so code author can see and fix the issue.
This by itself is not a great FR because it's open-ended: which combinations do we want to set up?
Let's say: Initially FreeBSD on x86, arm64 and riscv, since it's documented. We could add Nix or similar.
Windows should be supportable as well, but if not easy, maybe we can scope it into a different issue for separate tracking.
This is all blocked on actual base Ubuntu-based CI working, since we can't start setting up other OSes if we don't know if a base install will work.