1
0
Fork 0

drm_hwcomposer: CI: Upgrade Ubuntu and clang version

Why:
The aospless file from Android-15 contains compiler flags that
clang-15 does not understand.

Additionally, new tidy findings were suppressed.
It would be nice to fix them in the future instead.

Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com>
This commit is contained in:
Roman Stratiienko 2024-10-17 01:48:10 +03:00
parent 9472795c7b
commit 57ba08add7
6 changed files with 30 additions and 12 deletions

View file

@ -36,7 +36,7 @@ findtag() {
} }
check_tool_installed bpfmt check_tool_installed bpfmt
check_tool_installed clang-format-diff-15 check_tool_installed clang-format-diff-19
git fetch https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer.git git fetch https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer.git
@ -61,7 +61,7 @@ git log --pretty='%h' FETCH_HEAD..HEAD | while read h; do
exit 1 exit 1
fi fi
git show "$h" -- | clang-format-diff-15 -p 1 -style=file > /tmp/format-fixup.patch git show "$h" -- | clang-format-diff-19 -p 1 -style=file > /tmp/format-fixup.patch
if [ -s /tmp/format-fixup.patch ]; then if [ -s /tmp/format-fixup.patch ]; then
cat /tmp/format-fixup.patch >&2 cat /tmp/format-fixup.patch >&2
exit 1 exit 1

View file

@ -1,4 +1,4 @@
FROM ubuntu:23.04 FROM ubuntu:24.10
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
@ -6,7 +6,7 @@ ENV PATH="/home/user/bin:${PATH}"
# Taking into account layer structure, everything should be done within one layer. # Taking into account layer structure, everything should be done within one layer.
RUN apt-get update && apt-get upgrade -y && \ RUN apt-get update && apt-get upgrade -y && \
apt-get install -y clang-15 clang-tidy-15 clang-format-15 git libdrm-dev blueprint-tools libgtest-dev clang \ apt-get install -y clang-19 clang-tidy-19 clang-format-19 git libdrm-dev blueprint-tools libgtest-dev clang \
llvm make python3 wget sudo rsync lld pkg-config ninja-build meson \ llvm make python3 wget sudo rsync lld pkg-config ninja-build meson \
python3-mako python3-jinja2 python3-ply python3-yaml python3-mako python3-jinja2 python3-ply python3-yaml

View file

@ -3,12 +3,12 @@ BASE_DIR:=../aospless
SYSTEM_INCLUDE_DIRS := /usr/include/libdrm SYSTEM_INCLUDE_DIRS := /usr/include/libdrm
CLANG := clang++-15 CLANG := clang++-19
CLANG_TIDY := clang-tidy-15 CLANG_TIDY := clang-tidy-19
OUT_DIR := /tmp/drm_hwcomposer/build OUT_DIR := /tmp/drm_hwcomposer/build
SRC_DIR := . SRC_DIR := .
CXXFLAGS := -Wall -Wextra -Werror CXXFLAGS := -Wall -Wextra -Werror -Wno-missing-designated-field-initializers
CXXFLAGS += -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS CXXFLAGS += -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS
CXXFLAGS += -fvisibility-inlines-hidden -std=gnu++17 -DHWC2_USE_CPP11 -DHWC2_INCLUDE_STRINGIFICATION -fno-rtti CXXFLAGS += -fvisibility-inlines-hidden -std=gnu++17 -DHWC2_USE_CPP11 -DHWC2_INCLUDE_STRINGIFICATION -fno-rtti
@ -45,6 +45,24 @@ TIDY_CHECKS_FINE := * \
-hicpp-signed-bitwise \ -hicpp-signed-bitwise \
-misc-const-correctness \ -misc-const-correctness \
-readability-identifier-length \ -readability-identifier-length \
-misc-include-cleaner \
-performance-enum-size \
-misc-use-anonymous-namespace \
-boost-use-ranges \
-cppcoreguidelines-avoid-do-while \
-modernize-min-max-use-initializer-list \
-cppcoreguidelines-owning-memory \
-readability-redundant-member-init \
-cppcoreguidelines-avoid-const-or-ref-data-members \
-cert-err33-c \
-readability-math-missing-parentheses \
-readability-avoid-unconditional-preprocessor-if \
-modernize-type-traits \
-clang-analyzer-optin.core.EnumCastOutOfRange \
-performance-inefficient-vector-operation \
-readability-static-accessed-through-instance \
-misc-use-internal-linkage \
-performance-avoid-endl \
TIDY_CHECKS_NORMAL := \ TIDY_CHECKS_NORMAL := \
$(TIDY_CHECKS_FINE) \ $(TIDY_CHECKS_FINE) \

View file

@ -1,4 +1,4 @@
image: ubuntu:23.04 image: ubuntu:24.10
workflow: workflow:
rules: rules:
@ -10,7 +10,7 @@ variables:
before_script: before_script:
- apt-get --quiet update --yes >/dev/null - apt-get --quiet update --yes >/dev/null
- apt-get --quiet install --yes clang-15 clang-tidy-15 clang-format-15 git libdrm-dev blueprint-tools libgtest-dev make >/dev/null - apt-get --quiet install --yes clang-19 clang-tidy-19 clang-format-19 git libdrm-dev blueprint-tools libgtest-dev make >/dev/null
- apt-get --quiet install --yes clang llvm make python3 wget sudo rsync lld pkg-config ninja-build meson >/dev/null - apt-get --quiet install --yes clang llvm make python3 wget sudo rsync lld pkg-config ninja-build meson >/dev/null
- apt-get --quiet install --yes python3-mako python3-jinja2 python3-ply python3-yaml >/dev/null - apt-get --quiet install --yes python3-mako python3-jinja2 python3-ply python3-yaml >/dev/null

View file

@ -80,13 +80,13 @@ filegroup {
"drm/DrmDisplayPipeline.cpp", "drm/DrmDisplayPipeline.cpp",
"drm/DrmEncoder.cpp", "drm/DrmEncoder.cpp",
"drm/DrmFbImporter.cpp", "drm/DrmFbImporter.cpp",
"drm/DrmHwc.cpp",
"drm/DrmMode.cpp", "drm/DrmMode.cpp",
"drm/DrmPlane.cpp", "drm/DrmPlane.cpp",
"drm/DrmProperty.cpp", "drm/DrmProperty.cpp",
"drm/ResourceManager.cpp", "drm/ResourceManager.cpp",
"drm/UEventListener.cpp", "drm/UEventListener.cpp",
"drm/VSyncWorker.cpp", "drm/VSyncWorker.cpp",
"drm/DrmHwc.cpp",
"backend/Backend.cpp", "backend/Backend.cpp",
"backend/BackendClient.cpp", "backend/BackendClient.cpp",
@ -164,9 +164,9 @@ cc_binary {
name: "android.hardware.composer.hwc3-service.drm", name: "android.hardware.composer.hwc3-service.drm",
srcs: [ srcs: [
":drm_hwcomposer_common",
":drm_hwcomposer_hwc3", ":drm_hwcomposer_hwc3",
":drm_hwcomposer_service", ":drm_hwcomposer_service",
":drm_hwcomposer_common",
"bufferinfo/legacy/BufferInfoLibdrm.cpp", "bufferinfo/legacy/BufferInfoLibdrm.cpp",
], ],

View file

@ -16,7 +16,7 @@ A short list of contribution guidelines:
you with formatting of your patches: you with formatting of your patches:
``` ```
git diff | clang-format-diff-15 -p 1 -style=file git diff | clang-format-diff-19 -p 1 -style=file
``` ```
* Hardware specific changes should be tested on relevant platforms before * Hardware specific changes should be tested on relevant platforms before