everettjf/VM4A run

Spawn a VM4A VM on a self-hosted Apple Silicon runner and run a command in it.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jun 22, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: everettjf/vm4a@651fd93e6e040ed7cca057dda9c1e7a5251e9b5d # v2.7.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
commandCommand to run inside the guest (passed to `vm4a exec -- ...`).yes
nameVM name (becomes <storage>/<name>).noci
fromOCI reference to pull if the bundle does not exist (e.g. ghcr.io/org/python-dev:latest).no""
imageImage spec (catalog id / local path / https URL). Mutually exclusive with `from`.no""
osGuest OS: linux (default) or macOS.nolinux
storageParent directory for VM bundles.no/tmp/vm4a
wait-timeoutSeconds to wait for SSH.no180
exec-timeoutSeconds to allow the command to run.no600
allow-domainsComma-separated egress allow-list applied to the guest (Linux).no""
cleanupStop and delete the VM after the run.notrue
namedescription
exit-codeExit code of the command run in the guest.
stdoutCaptured stdout from the command.
ipGuest IP address.