Skip to content

Fix CI E2E failures caused by Docker 29 on GitHub Actions runners#13706

Merged
wu-sheng merged 4 commits intomasterfrom
fix/disable-containerd-image-store
Feb 21, 2026
Merged

Fix CI E2E failures caused by Docker 29 on GitHub Actions runners#13706
wu-sheng merged 4 commits intomasterfrom
fix/disable-containerd-image-store

Conversation

@wu-sheng
Copy link
Member

@wu-sheng wu-sheng commented Feb 21, 2026

Fix CI E2E test failures caused by Docker 29 upgrade on GitHub Actions runners

  • Explain briefly why the bug exists and how to fix it.

GitHub Actions runners upgraded to Docker 29, which enables containerd image store by default. This causes two problems:

  1. containerd v2.1.5 lowered the default file descriptor limit from 1,048,576 to 1,024, causing applications like Elasticsearch to crash immediately at startup (ES requires at least 65,536).
  2. Docker 29 raised the minimum API version to 1.44, while the current skywalking-infra-e2e tool uses Docker SDK API v1.41, causing client version 1.41 is too old errors.

This PR fixes both issues by:

  • Disabling the containerd image store (containerd-snapshotter: false) in all Docker-related CI jobs, restoring the classic overlay2 storage driver and its default ulimits.
  • Exporting DOCKER_API_VERSION from the server's supported version so the Docker SDK client negotiates correctly after restart.

Affected jobs: docker (image build), e2e-test, e2e-test-istio, e2e-test-istio-ambient, e2e-test-java-versions.

Upgrade skywalking-infra-e2e to the branch that migrates deprecated APIs.
Disable containerd image store on GitHub Actions runners to fix E2E test
failures caused by compatibility issues with older Docker images.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@wu-sheng wu-sheng added test Test requirements about performance, feature or before release. CI settings CI settings adjustment labels Feb 21, 2026
@wu-sheng wu-sheng marked this pull request as draft February 21, 2026 00:56
wu-sheng and others added 3 commits February 21, 2026 15:00
After disabling containerd snapshotter, the Docker daemon falls back to
API v1.48 while the CLI and infra-e2e tool expect v1.51. Upgrading
docker-ce and docker-ce-cli ensures the daemon supports the latest API.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove apt-get install which may downgrade Docker. Instead, after
disabling containerd and restarting, export DOCKER_API_VERSION from the
server's supported version so the Docker SDK client negotiates down.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The upgraded infra-e2e branch introduces regressions (stricter container
exit handling). Revert to the old commit and rely on containerd disable
+ DOCKER_API_VERSION to fix Docker 29 API compatibility.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@wu-sheng wu-sheng marked this pull request as ready for review February 21, 2026 08:43
@wu-sheng wu-sheng changed the title Upgrade infra e2e and disable containerd image store in CI Fix CI E2E failures caused by Docker 29 on GitHub Actions runners Feb 21, 2026
@wu-sheng wu-sheng merged commit 88ca648 into master Feb 21, 2026
354 of 356 checks passed
@wu-sheng wu-sheng deleted the fix/disable-containerd-image-store branch February 21, 2026 09:17
wu-sheng added a commit that referenced this pull request Feb 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI settings CI settings adjustment test Test requirements about performance, feature or before release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants