ci: optimize self-hosted KubeVirt runners and CI pipeline#787
ci: optimize self-hosted KubeVirt runners and CI pipeline#787mangelajo wants to merge 5 commits into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThis PR updates GitHub Actions workflow runner configurations across the E2E and Python test pipelines, migrating from ChangesRunner Infrastructure Migration
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
kirkbrauer
left a comment
There was a problem hiding this comment.
This looks good to me, hopefully we get quite a speedup here!
|
I am experimenting @kirkbrauer , the operator I am trying for the github actions in K8s + kubevirt seems to be a bit slow to rotate VMs, and grab jobs. Unless we get to improve that we would have to look for an alternative option |
400dc29 to
a240d4e
Compare
bb1eb49 to
0023bc3
Compare
Route build jobs to arc-runner-kubevirt-small (4Gi) and E2E tests to arc-runner-kubevirt-large (16Gi) for better resource utilization. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use arc-runner-kubevirt-small for pytest matrix, fail-fast: false - Run tests with make -j4 and LOGS_DIR for per-package log capture - Makefile: LOGS_DIR captures stdout/stderr via tee, tracks failures with .failed markers, and test-report prints failed package logs - Suppress log noise in CI with --log-level/--log-cli-level CRITICAL - Upload per-package logs as artifacts (7-day retention) - Consolidate Linux dependency setup into single idempotent step - Exclude test files from diff-cover to avoid false coverage failures Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Resolve sysctl full path via shutil.which with /usr/sbin fallback - Capture exporter stderr for debugging - Fix test mocks to match new _resolve_tool and shutil.which patterns Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Renode can take longer to start under parallel CI load on shared VMs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
rpmfile decompresses the entire 572MB CPIO payload into memory. Use rpm2cpio | cpio for streaming extraction with rpmfile as fallback. Also adds download progress logging and a 120s timeout. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5a2d24b to
de2e391
Compare
Summary
arc-runner-kubevirt-small, E2E test jobs toarc-runner-kubevirt-largemake test -j4 --output-syncon GNU Make,-j4on BSD)--log-level=CRITICAL --log-cli-level=CRITICALviaPYTEST_ADDOPTS(project defaults unchanged for local dev)apt-get installwhen CI dependencies are already pre-baked in the golden image--output-syncsupport viamake --helpinstead of version string (works on macOS BSD make)Test plan
python-testsmatrix jobs pass (Linux small + macOS, Python 3.11/3.12/3.13)arc-runner-kubevirt-largelabel-j4without--output-sync(BSD make)🤖 Generated with Claude Code