v2.12.2
Features
Spotlight: nested virtualization support on Windows and Linux for supported x64 runners (
c8i,m8i, orr8ifamily). Enable it with thenested-virtlabel, disable it explicitly withnested-virt=false, or setnested-virt: truein.github/runs-on.yml. Related: #461. See AWS nested virtualization docs.Useful CI cases include:
- Android Emulator / AVD tests with KVM acceleration on Linux.
- QEMU/KVM boot tests for VM images, cloud-init validation, and system startup checks.
- Nested hypervisor and microVM workloads such as libvirt, Firecracker, Kata, or KubeVirt validation.
- Windows Hyper-V based VM scenarios, including guest boot and Hyper-V dependent test environments.
- Docker on Windows with Hyper-V isolation when the workload depends on a Hyper-V backed container boundary.
runs-on: runs-on=${{ github.run_id }}/family=c8i.large/image=ubuntu24-full-x64/nested-virt runs-on: runs-on=${{ github.run_id }}/family=m8i.large/image=windows25-full-x64/nested-virt
Add built-in
ubuntu24-gpu-arm64image support for ARM64 NVIDIA GPU runners, includingg5gworkflow coverage.
Fixes
Treat zero-match instance-registry results as advisory during launch planning, falling back to the original family selectors and combined overrides as if the registry were unavailable instead of failing or over-splitting family selection.
Use strongly consistent DynamoDB batch reads when the queue processor fetches freshly enqueued jobs, avoiding dropped scheduling attempts caused by eventual-consistency misses that surfaced as "Job not found in store, ignoring".
Improvements
Improve runner registration reliability under GitHub secondary rate limits by serializing retries per installation and deferring same-installation queue work until the Retry-After window expires.
Filter account-wide EventBridge spot interruption events through a local ownership cache so only RunsOn-owned spot runners affect the spot circuit breaker, without per-event EC2 DescribeInstances lookups.
Enable OTEL server log exports by default when OTEL backend is configured. Note that they are still exported to CloudWatch as well.