Repository navigation
Pin CI runners to ubuntu-24.04 - #169
Merged
Merged
Conversation
Collaborator
Author
|
Changed approach — this PR is now the runner pin, not the C fixes. The earlier revisions fixed the 26.04 compile errors directly, and that worked: both required checks went green. But the build then got further and failed in cppunit instead — 2 of 83 tests, Certifying the C client on 26.04 is a separate effort rather than something to converge on one CI round-trip at a time, so this PR now just pins to |
1 task
laxman-ch
marked this pull request as draft
October 22, 2026 04:01
GitHub is migrating the ubuntu-latest label from 24.04 to 26.04. The rollout is staged, so jobs currently land on either image and CI is non-deterministic rather than simply broken. On 26.04 the C client fails to compile, because strchr and friends are const-generic there and the build uses -Werror: src/cli.c:503:13: error: assignment discards 'const' qualifier ... src/cli.c:709:11: error: assignment discards 'const' qualifier ... src/zookeeper.c:1263:18: error: assignment discards 'const' qualifier ... Past that, the cppunit SSL tests also fail (ZSSLCONNECTIONERROR) against 26.04's newer OpenSSL. Those are two unrelated root causes, and there is no reason to assume they are the last. Certifying the C client and its test suite on 26.04 is a separate piece of work. Pin to 24.04 so the branch has reproducible, green CI while that happens, instead of landing fixes one failure at a time. e2e.yaml and the JFrog release workflow are pinned alongside CI so the whole repo moves images deliberately rather than by surprise. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
laxman-ch
force-pushed
the
vchekka/fix-c-client-const-discard
branch
from
October 22, 2026 04:05
f36a0e0 to
92eeeda
Compare
laxman-ch
marked this pull request as ready for review
October 22, 2026 04:09
bellatrix007
approved these changes
Oct 22, 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.
Problem
GitHub is migrating the
ubuntu-latestlabel from 24.04 to 26.04. The rollout is staged, so jobs currently land on either image depending on which runner they get — CI is non-deterministic rather than simply broken. (The runner-images README still documentsubuntu-latestas 24.04, while our runs are already getting 26.04.)Nothing in the repo changed. The same job passed on an identical tree three days before it started failing — only the image differs:
full-build-jdk11ubuntu-24.04ubuntu-24.04ubuntu-26.04This blocks every PR against
branch-3.6— both required checks are red, currently including #159.Why pin rather than fix forward
26.04 breaks the C client in at least two unrelated ways.
1. Compile.
strchrand friends are const-generic there, and the build uses-Werror:2. SSL tests. With the compile errors patched locally, the build gets further and then fails in cppunit — 2 of 83 tests,
ZSSLCONNECTIONERROR, against 26.04's newer OpenSSL versus whatssl/gencerts.shproduces:Those are two different root causes — a compiler change and a crypto-tooling change — and there is no basis for assuming the second is the last. Certifying the C client and its test suite on 26.04 is its own piece of work, and doing it a failure at a time through CI round-trips is the wrong place for it.
So this PR restores a reproducible green baseline and leaves 26.04 as a deliberate, separate effort.
Change
ubuntu-latest→ubuntu-24.04in the three active workflows.ubuntu-24.04is an explicitly supported label, not a deprecated one.ci.yamlfull-build-*, incl. both required checkse2e.yamlcompatibilityci-jfrog-workflow.ymldeployci-bintray-workflow.yml_oldis left alone — the extension means Actions never loads it.Follow-up
The 26.04 work is not lost. The compile fixes are written and were verified green on 26.04 in this PR's earlier revisions (
dc9c6c9e3,f36a0e084) —cli.cdrops aconstthat was never accurate (both sites write*ptr = '\0'), andzookeeper.cmakesindex_chrootproperlyconst. They are a good starting point for the certification effort, which still needs thegencerts.sh/OpenSSL side.Testing
Both required checks, plus
e2e, should return to the 24.04 behaviour that was green through 2026-10-19.