Skip to content

Add KVM support for CI testing#7

Open
JayAndJef wants to merge 1 commit into
mainfrom
feature/kvm-ci-support
Open

Add KVM support for CI testing#7
JayAndJef wants to merge 1 commit into
mainfrom
feature/kvm-ci-support

Conversation

@JayAndJef
Copy link
Copy Markdown
Owner

Problem

GitHub's hosted runners do not support nested virtualization or KVM acceleration. Our kernel tests require:

  • KVM acceleration (-enable-kvm)
  • x2apic support (-cpu host,+x2apic)
  • Hardware acceleration (-machine q35,accel=kvm)

Software emulation cannot provide x2apic support, so we need actual KVM acceleration.

Solution

This PR implements comprehensive documentation and preparation for KVM-dependent CI testing:

📚 Documentation Added

  • docs/CI_KVM_SETUP.md: Complete guide covering all KVM CI solutions
  • Updated README.md: Testing requirements and CI information

🎯 Recommended Solutions Documented

  1. Actuated Runners (Primary recommendation)

    • Drop-in replacement for GitHub hosted runners
    • Secure isolated VMs with KVM support
    • Professional service with support
  2. Self-Hosted Runners (Alternative)

    • Complete setup instructions provided
    • Full control over environment
    • Cost-effective for high usage
  3. Manual Testing Workflows (For verification)

    • Comprehensive KVM system diagnostics
    • Multiple runner type support
    • Detailed verification steps

Changes in This PR

  • docs/CI_KVM_SETUP.md: Detailed documentation of all KVM CI solutions
  • README.md: Updated with testing requirements and CI information

Workflow Files (To Be Added Separately)

Due to GitHub workflow permissions, the actual workflow files will need to be added in a follow-up commit:

  • Updated main workflow for Actuated runners
  • Manual KVM testing workflow
  • Self-hosted runner workflow

Next Steps

  1. Merge this PR to add documentation
  2. Choose CI solution:
    • For Actuated: Sign up at actuated.com
    • For Self-hosted: Follow setup guide in docs
  3. Add workflow files with appropriate permissions
  4. Test setup using manual workflows

Benefits

✅ Comprehensive documentation for all KVM CI options
✅ Clear setup instructions for each solution
✅ Security considerations and recommendations
✅ Preparation for automated x2apic-dependent kernel testing
✅ Multiple solution paths to fit different needs

This PR lays the groundwork for solving the KVM CI testing challenge while providing flexibility in implementation approach.


Pull Request opened by Augment Code with guidance from the PR author

- Document all KVM CI solutions in docs/CI_KVM_SETUP.md
- Update README with testing requirements and CI information
- Prepare for KVM-enabled CI workflows

This addresses the issue where kernel tests requiring x2apic support
cannot run on GitHub's hosted runners due to lack of KVM acceleration.
@JayAndJef JayAndJef requested a review from Makonede as a code owner July 3, 2025 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant