Skip to content

CI build should support additional OSes and architectures #39

@ivucica

Description

@ivucica

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.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions