Skip to content

ci: port CentOS Stream test to GitHub Actions using Lima#2967

Open
adrianreber wants to merge 2 commits intocheckpoint-restore:criu-devfrom
adrianreber:2026-03-14-use-lima-centos
Open

ci: port CentOS Stream test to GitHub Actions using Lima#2967
adrianreber wants to merge 2 commits intocheckpoint-restore:criu-devfrom
adrianreber:2026-03-14-use-lima-centos

Conversation

@adrianreber
Copy link
Copy Markdown
Member

Move the CentOS Stream 9 based test from Cirrus CI to GitHub Actions using Lima VMs. Expand coverage to a matrix of CentOS Stream 9 and 10 on both x86_64 and aarch64.

The new job follows the same Lima-based pattern introduced for the Fedora Rawhide test but runs the local CI target directly in the VM instead of inside a container.

Depends on #2961

@adrianreber adrianreber force-pushed the 2026-03-14-use-lima-centos branch 4 times, most recently from d7a9f45 to 822408f Compare March 16, 2026 05:51
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Mar 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 57.16%. Comparing base (b7f6b72) to head (e49607f).
⚠️ Report is 661 commits behind head on criu-dev.

Additional details and impacted files
@@             Coverage Diff              @@
##           criu-dev    #2967      +/-   ##
============================================
- Coverage     57.76%   57.16%   -0.61%     
============================================
  Files           142      154      +12     
  Lines         37664    40278    +2614     
  Branches          0     8831    +8831     
============================================
+ Hits          21758    23024    +1266     
- Misses        15906    16990    +1084     
- Partials          0      264     +264     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@adrianreber adrianreber force-pushed the 2026-03-14-use-lima-centos branch 15 times, most recently from 7e1aebb to 380c4c5 Compare March 20, 2026 05:43
@adrianreber adrianreber force-pushed the 2026-03-14-use-lima-centos branch from 380c4c5 to 5a5d2c5 Compare March 25, 2026 07:13
The thread-bomb test frequently fails during setup with
pthread_create() returning EAGAIN (errno 11).  The test creates
1024 threads in a tight loop from main(), and each of those
threads immediately spawns another thread that joins its
predecessor, resulting in a burst of ~2048 simultaneous thread
creations with 64KB stacks.

This burst causes transient EAGAIN errors from clone() due to
kernel resource pressure (VMA allocator contention, temporary
memory fragmentation, etc.).  The failure is not related to hard
resource limits — ulimit, threads-max, max_map_count and cgroup
pids limits are all well above the required values.  The failure
occurs both inside and outside containers and is worse on hosts
with fewer resources.

Measured failure rates on a 16GB / 9-CPU host:
  Before fix: 65% failure rate (13/20 outside container)
  After fix:  ~2.5% failure rate (1/40), and that failure was
              a C/R issue, not a pthread_create EAGAIN

Fix this by adding a pthread_create_retry() wrapper that retries
pthread_create() up to 50 times with a 10ms delay when it returns
EAGAIN.  This gives the kernel time to reclaim resources between
attempts while keeping the total worst-case retry time under one
second per thread creation.

Assisted-by: Claude:claude-opus-4-6
Signed-off-by: Adrian Reber <areber@redhat.com>
@adrianreber adrianreber force-pushed the 2026-03-14-use-lima-centos branch from 5a5d2c5 to 083c7e1 Compare March 25, 2026 07:14
@adrianreber adrianreber marked this pull request as ready for review March 25, 2026 07:22
Move the CentOS Stream 9 based test from Cirrus CI to GitHub
Actions using Lima VMs. Expand coverage to a matrix of CentOS
Stream 9 and 10 on x86_64.

Extract the common Lima VM setup steps (Lima install, image
caching, KVM enablement, VM start, source copy) into a reusable
composite action at .github/actions/lima-vm-setup.

Assisted-by: Claude:claude-opus-4-6
Signed-off-by: Adrian Reber <areber@redhat.com>
@adrianreber adrianreber force-pushed the 2026-03-14-use-lima-centos branch from 083c7e1 to e49607f Compare March 25, 2026 07:23
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.

2 participants