Skip to content
@vmactions

VM Actions

Virtual machines for Github Actions. Use FreeBSD, OpenBSD, Solaris, etc in Github Actions.

Run your CI on the operating systems GitHub does not offer

GitHub-hosted runners give you Ubuntu, Windows and macOS. VM Actions gives you the rest. Each action in this organization boots a real, fully installed operating system under QEMU inside an ordinary ubuntu-latest runner, syncs your checked-out source tree into the guest, and runs your build and test commands there -- on the real kernel, the real libc, the real package manager, and, if you want, a real non-x86 CPU. No self-hosted runner, no container trickery, no cross-compilation guesswork.

A job is one step:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - uses: vmactions/freebsd-vm@v1
        with:
          usesh: true
          prepare: |
            pkg install -y gmake
          run: |
            ./configure
            gmake
            gmake check

Everything else is optional: pick a release and an arch, choose how the workspace is shared (rsync, sshfs, nfs or scp), pass environment variables and secrets in with envs, set mem / cpu, forward ports with nat, run later workflow steps directly inside the VM with a custom shell, cache the VM image after prepare so repeat builds skip it, and switch on debug-on-error to get a VNC shell into the machine at the exact moment your build broke.

Writing the workflow is optional too: install the vmactions-ci skill and ask your coding agent for "run my tests on NetBSD aarch64" -- it knows the actions, the releases, the per-OS default shells and the footguns.

Pick a system from the table below. Images are built and booted by AnyVM.


VM GitHub Actions Arch Debug Shell
FreeBSD
Test
vmactions/freebsd-vm@v1 x86_64, aarch64, riscv64, powerpc64 debug on error
OpenBSD
Test
vmactions/openbsd-vm@v1 x86_64, aarch64, riscv64, sparc64 debug on error
NetBSD
Test
vmactions/netbsd-vm@v1 x86_64, aarch64, riscv64, sparc64 debug on error
Solaris
Test
vmactions/solaris-vm@v1 x86_64 debug on error
DragonFlyBSD
Test
vmactions/dragonflybsd-vm@v1 x86_64 debug on error
MidnightBSD
Test
vmactions/midnightbsd-vm@v1 x86_64 debug on error
GhostBSD
Test
vmactions/ghostbsd-vm@v1 x86_64 debug on error
NextBSD
Test
vmactions/nextbsd-vm@v1 x86_64, aarch64 debug on error
HardenedBSD
Test
vmactions/hardenedbsd-vm@v1 x86_64 debug on error
OPNsense
Test
vmactions/opnsense-vm@v1 x86_64 debug on error
OmniOS
Test
vmactions/omnios-vm@v1 x86_64 debug on error
OpenIndiana
Test
vmactions/openindiana-vm@v1 x86_64 debug on error
Haiku OS
Test
vmactions/haiku-vm@v1 x86_64 debug on error
Tribblix
Test
vmactions/tribblix-vm@v1 x86_64 debug on error
Blissos(Android)
Test
vmactions/blissos-vm@v1 x86_64 debug on error
GNU Hurd
Test
vmactions/hurd-vm@v1 x86_64, i386 debug on error
OpenEuler
Test
vmactions/openeuler-vm@v1 x86_64, aarch64, riscv64, loongarch64 debug on error
Ubuntu
Test
vmactions/ubuntu-vm@v1 x86_64, aarch64, riscv64, s390x, ppc64le debug on error
Debian
Test
vmactions/debian-vm@v1 x86_64, aarch64, riscv64, ppc64le debug on error
Alpine
Test
vmactions/alpine-vm@v1 x86_64, aarch64 debug on error
AlmaLinux
Test
vmactions/almalinux-vm@v1 x86_64, aarch64, s390x, ppc64le debug on error
Rocky Linux
Test
vmactions/rockylinux-vm@v1 x86_64, aarch64, s390x, ppc64le debug on error
ReactOS
Test
vmactions/reactos-vm@v1 i386 debug on error
Redox OS
Test
vmactions/redox-vm@v1 x86_64 debug on error
RISC OS
Test
vmactions/riscos-vm@v1 armv7 debug on error
Plan 9
Test
vmactions/plan9-vm@v1 x86_64 debug on error

Pinned Loading

  1. donate donate Public

    Donate to vmactions

    1

  2. vmactions-skill vmactions-skill Public

    AI agent skill for vmactions— run, manage, and debug BSD/Illumos VMs in github actions. Works with Claude Code, GitHub Copilot, and other AI assistants.

Repositories

Showing 10 of 45 repositories
  • riscos-vm Public

    Test your code in a real RISC OS virtual machine on GitHub Actions -- QEMU-powered, with SSH and two-way folder sync

    vmactions/riscos-vm's past year of commit activity
    JavaScript 0 MIT 0 0 0 Updated Sep 10, 2026
  • dragonflybsd-vm Public

    Test your code in a real DragonFly BSD virtual machine on GitHub Actions -- QEMU-powered, with SSH and two-way folder sync

    vmactions/dragonflybsd-vm's past year of commit activity
    JavaScript 24 MIT 2 0 0 Updated Sep 10, 2026
  • nextbsd-vm Public

    Test your code in a real NextBSD virtual machine on GitHub Actions -- QEMU-powered, with SSH and two-way folder sync

    vmactions/nextbsd-vm's past year of commit activity
    JavaScript 0 MIT 0 0 0 Updated Sep 10, 2026
  • blissos-vm Public

    Test your code in a real Android (BlissOS) virtual machine on GitHub Actions -- QEMU-powered, with SSH and two-way folder sync

    vmactions/blissos-vm's past year of commit activity
    JavaScript 3 MIT 0 0 0 Updated Sep 10, 2026
  • hurd-vm Public

    Test your code in a real GNU/Hurd virtual machine on GitHub Actions -- QEMU-powered, with SSH and two-way folder sync

    vmactions/hurd-vm's past year of commit activity
    JavaScript 0 MIT 0 0 0 Updated Sep 10, 2026
  • ubuntu-vm Public

    Test your code in a real Ubuntu virtual machine on GitHub Actions -- including riscv64, ppc64le and s390x

    vmactions/ubuntu-vm's past year of commit activity
    JavaScript 0 MIT 0 0 0 Updated Sep 10, 2026
  • ghostbsd-vm Public

    Test your code in a real GhostBSD virtual machine on GitHub Actions -- QEMU-powered, with SSH and two-way folder sync

    vmactions/ghostbsd-vm's past year of commit activity
    JavaScript 0 MIT 0 0 0 Updated Sep 10, 2026
  • almalinux-vm Public

    Test your code in a real AlmaLinux virtual machine on GitHub Actions -- including aarch64, ppc64le and s390x

    vmactions/almalinux-vm's past year of commit activity
    JavaScript 0 MIT 0 0 0 Updated Sep 10, 2026
  • debian-vm Public

    Test your code in a real Debian virtual machine on GitHub Actions -- including riscv64, aarch64 and ppc64le

    vmactions/debian-vm's past year of commit activity
    JavaScript 0 MIT 0 0 0 Updated Sep 10, 2026
  • opnsense-vm Public

    Test your code in a real OPNsense virtual machine on GitHub Actions -- QEMU-powered, with SSH and two-way folder sync

    vmactions/opnsense-vm's past year of commit activity
    JavaScript 0 MIT 0 0 0 Updated Sep 10, 2026

Top languages

Loading…

Most used topics

Loading…