reactive-firewall/Any VM in CI
Run CI steps inside an anyvm VM (FreeBSD, OpenBSD, etc.)
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 6, 2026
- License
- MIT
Pinned Snippet
uses: reactive-firewall/anyvm-in-ci@b529826148ee55b7b3906cadf61d257766122cb6 # v0.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| osname | The VM's OS name to use for looking up anyvm images | yes | freebsd |
| prepare | Pre-run block to set up the VM before run (shell commands) | no | — |
| run | The CI command(s) to run inside the VM | no | — |
| afterwards | Post-run cleanup block (shell commands) | no | — |
| release | The OS release/version of the VM image | no | — |
| arch | The CPU architecture of the VM (e.g., x86_64, aarch64) | no | — |
| envs | Environment variables to pass into VM (newline-separated KEY=VALUE pairs) | no | — |
| mem | Memory size of the VM in MB | yes | 3072 |
| cpu | Number of CPU cores for the VM | no | — |
| nat | NAT port forwarding rules for the VM | no | — |
| usesh | Use sh instead of the default shell in the VM | no | true |
| sync | Strategy for synchronizing source code to/from the VM | no | scp |
| copyback | Copy build artifacts back from VM to host | no | true |
| drop-root | create a runner user on the VM to use instead of default root user. | no | true |
| data-dir | Directory to store VM data and images | no | — |
| cache-dir | Directory to store anyvm cache | no | ~/Library/Caches/anyvm-in-ci |
| sync-time | Synchronize the VM time with NTP (true/false) | no | false |
| disable-cache | Disable caching for packages and VM images (true/false) | no | false |
| custom-shell-name | Custom shell name for VM shell wrapper script | no | vmsh |
| ipv6-enabled | Enable RFC 8200: STD 86 Networking mode (IPv6) for the guest VM (true/false) | no | — |
| token | GitHub token used to authenticate when fetching VM images from https://github.com/anyvm-org/*-builder repositories. When running on github.com, defaults to github.token. When running on GHES, provide a personal access token if needed. | yes | ${{ github.server_url == 'https://github.com' && github.token || '' }} |
Outputs
no outputs