Repository navigation
Fix CI on ubuntu-26.04 runners - #204
Merged
Merged
Conversation
ubuntu-latest now resolves to ubuntu-26.04, which ships Docker 29. The pinned infra-e2e action (8c21e43) disables the containerd snapshotter and restarts dockerd before running a case, a workaround upstream removed in apache/skywalking-infra-e2e#146. It broke the skywalking-java E2E on the new runners, and the chart E2E has not run on them yet. Pin the current main (56ac8befeb5f910f2dc9339e65d07cd18953f90e), as apache/skywalking-java#841 did. The action installs Go 1.26 itself, so drop the workflow's own Go 1.24 setup.
The ASF GitHub Actions allow-list no longer has docker/login-action af1e73f (v4.4.0), so the Test workflow fails at startup with "is not allowed in apache/skywalking-helm". Use v4.7.0 (81c6f93d4bc991e510b342a00b419b3bb4efc5c6), which the allow-list approves without an expiry date. publish-helm.yaml uses the same pin.
The ubuntu-26.04 runner image ships Helm 4.3.1, whose server-side apply rejects duplicate env entries. The three OAP 11 cases set oap.ports.zipkin-query, which already makes the chart emit SW_QUERY_ZIPKIN, and set oap.env.SW_QUERY_ZIPKIN as well, so `helm install` failed with "duplicate entries for key [name="SW_QUERY_ZIPKIN"]". Helm 3's client-side apply accepted the duplicate. Drop the redundant oap.env setting; the chart still sets the same value.
On the ubuntu-26.04 runners BanyanDB standalone exits at startup with "failed to create fsnotify watcher: couldn't initialize inotify: too many open files". The four kind nodes and all their pods share the host's inotify limits, which Ubuntu sets low, so OAP never became available and the case timed out. Raise fs.inotify.max_user_watches and max_user_instances to at least the values the kind known-issues page recommends, and print the runner's own values first.
wankai123
approved these changes
Oct 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Four CI fixes. Helm master's last CI run was on 2026-10-13, before
ubuntu-latestmoved to ubuntu-26.04; all four problems showed up after that.1.
docker/login-actionis no longer on the ASF allow-list.81c6f93d4bc991e510b342a00b419b3bb4efc5c6), whichapproved_patterns.ymllists with no expiry date.e2e.ci.yamland alsopublish-helm.yaml, which would hit the same error on the next master push.2. Move off the infra-e2e containerd snapshotter workaround.
ubuntu-latestnow resolves to ubuntu-26.04, which ships Docker 29 with the containerd image store.apache/skywalking-infra-e2e@8c21e43disables the containerd snapshotter and restarts dockerd before running a case. Upstream removed that workaround in feat: migrate to testcontainers-go v0.42.0 and upgrade dependencies skywalking-infra-e2e#146.56ac8befeb5f910f2dc9339e65d07cd18953f90e, the same pin skywalking-java uses.actions/setup-go(Go 1.24) step. The action installs Go 1.26 itself, and that Go is also on thePATHfor thego installfallback ininstall-yq.sh.3. Helm 4 rejects the duplicate
SW_QUERY_ZIPKINthe E2E installs created.oap.ports.zipkin-query, which already makes the chart emitSW_QUERY_ZIPKIN. They also setoap.env.SW_QUERY_ZIPKIN=default.helm installfailed withduplicate entries for key [name="SW_QUERY_ZIPKIN"]. Helm 3's client-side apply had accepted the duplicate.oap.envsetting; the chart still sets the same value.docs/contributing/e2e-tests.mdnow says why.helm template(Helm 4.1.1).masterhas exactly these three duplicates; this branch has no duplicate env name in any container.4. BanyanDB standalone ran out of inotify instances.
failed to create fsnotify watcher: couldn't initialize inotify: too many open files.fs.inotify.*limits. This is kind's documented "too many open files" issue.max_user_watchesandmax_user_instancesto at least kind's recommended 524288 / 512, never lowering them. It also prints the runner's own values.Every third-party action in
.githubis now on the allow-list.A chart user on Helm 4 who sets
oap.ports.zipkin-queryand alsooap.env.SW_QUERY_ZIPKINgets the same clear error. The chart docs already say the port sets it.