Skip to content

About

Reusable infrastructure validation and disposable VM end-to-end workflows

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

51 Commits

Folders and files

Repository files navigation

Infrastructure as Code logo Continuous Integration - GitHub - IaC

GitHub Verified Creator Continuous Integration License PRs Welcome


Overview

GitHub Actions for validating Ansible and testing infrastructure changes in disposable virtual machines. Create a Lima and QEMU guest from your configuration, run your checks, publish test and coverage reports, and verify that the guest is removed afterward.

Your repository supplies the guest configuration and test scenario. The actions handle VM operations and reporting; your workflow controls their sequence and can run several test steps against the same guest.

Actions

Ansible

Execute test playbooks and first-party collection sanity through maintained Ansible actions. Publish test summaries, annotations, PR comments and report artifacts.

Virtual machines

Install Lima and QEMU, start an isolated guest from a required vm-config, and roll back resources if startup fails.

Run Bash commands or a script inside the guest and collect test-generated reports, including after test failure. Publish GitHub summaries, annotations, PR comments and report artifacts, with optional Codecov upload.

Verify guest deletion before removing its private runtime and SSH keys. Failed cleanup remains visible and preserves the runtime for a retry.

Getting started

For Ansible, check out your repository on a Linux runner. Pass its pinned Ansible requirements file and test playbook or collection paths to ansible/test.

For VMs, use an ephemeral Linux x86-64 runner with KVM and network access. Check out your repository with persist-credentials: false, and provide a Lima YAML configuration and Bash test commands or a script. Checkout files are not mounted into the guest.

Compose vm/create, vm/test and vm/destroy in the same job, pinning all three to the same reviewed commit SHA. Schedule destruction with always() so cleanup runs after test or reporting failures.

Start with the workflow example. Each action's readme documents its inputs, outputs and failure behavior. GitHub reporting needs pull-requests: write for PR comments; Codecov mode needs id-token: write and explicit report selection. Publish only reports suitable for your repository's visibility.

Documentation

Contributing

Read the contributing guidelines for development, validation and release conventions before opening a pull request.

Author

Hoverkraft · contact@hoverkraft.cloud

License

MIT · Copyright © 2026 hoverkraft

About

Reusable infrastructure validation and disposable VM end-to-end workflows

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages