For linux msm/ci fixes#97
Merged
Merged
Conversation
GitHub Actions now warns that actions targeting Node.js 20 are being forced to run on Node.js 24. The warning is emitted by actions/checkout@v4 in every matrix job, which obscures the real CI failures and will eventually become a hard compatibility problem as Node 20 support is removed from runners. Move to actions/checkout@v5 so the workflow uses an action version that is compatible with the current runner JavaScript runtime. Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Several scheduled jobs are failing because the matrix still includes release-specific container images for distributions that have reached end of life. These images may still be pullable, but their package repositories are no longer maintained in the normal location and can fail during dependency installation. Remove the EOL Debian buster, Ubuntu oracular, and fixed Fedora release jobs. Keep rolling and moving targets such as debian:testing, alpine:edge, and latest tags so CI continues to catch issues users may see on active distributions. Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Debian testing no longer provides the legacy libftdi-dev package used by the CI install scripts. As a result, native, i386, and cross-compile Debian testing jobs fail at apt install before the build starts. Install libftdi1-dev instead. The Meson build already prefers the libftdi1 pkg-config dependency, so this matches the dependency that the source is actually using. Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
The Alpine clang jobs fail during Meson compiler setup rather than during source compilation. Installing clang alone does not guarantee the complete native build environment needed for compiler sanity checks, linking, and startup objects on Alpine. Install build-base in the Alpine CI setup so both gcc and clang jobs have the standard compiler, libc, binutils, and make toolchain expected by Meson. Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
Ubuntu noble still ships libgpiod 1.x, which selects the local-gpio v1 implementation. That path declared struct gpiod_line_request_config without initializing the whole structure before passing it to libgpiod, leaving padding or future fields undefined under stricter toolchains. Zero-initialize the request configuration before filling the fields cdba uses, matching the defensive style needed for older supported distributions and newer compilers. Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
The forkpty check was compiled without including <pty.h>, which is the header that declares the function. On stricter toolchains, and in some cross builds, that can make Meson conclude that forkpty is not available from libc even when the target provides it there. The fallback then looked for a separate libutil as a required library. That breaks modern glibc targets where forkpty moved into libc and no separate libutil is available for Meson to find. Include <pty.h> in the function probe so libc implementations are detected correctly. Keep libutil as an optional compatibility fallback for older targets that still need it, without failing configuration when the separate library is absent. Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
The Debian cross jobs install packages with --no-install-recommends. The cross compiler packages only recommend the target libc development headers, so the jobs can reach the compile step without basic headers such as sys/file.h, sys/socket.h, and bits/wordsize.h. Install libc6-dev for the target architecture explicitly. This provides the normal system headers needed by the cross compiler and keeps the CI setup independent of package recommendations. Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
cdba_queue() passes a NULL payload with length zero through cdba_queue_data(). That eventually called memcpy() unconditionally, which is undefined for NULL pointers even when the requested copy length is zero. Ubuntu noble GCC with fortified libc inlines that call and reports the NULL source argument with -Wnonnull, which becomes a build failure under -Werror. Only copy the payload when the queued message actually has one. Signed-off-by: Bjorn Andersson <bjorn.andersson@oss.qualcomm.com>
46a86be to
18ea7c8
Compare
lumag
approved these changes
Jul 5, 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.
A number of PRs are blocked by the fact that the CI build currently doesn't pass, fix each of the issues.