From 57ba08add77c58e9cbfdbec3c72b87d074cd4685 Mon Sep 17 00:00:00 2001 From: Roman Stratiienko Date: Thu, 17 Oct 2024 01:48:10 +0300 Subject: [PATCH] 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 --- .ci/.gitlab-ci-checkcommit.sh | 4 ++-- .ci/Dockerfile | 4 ++-- .ci/Makefile | 24 +++++++++++++++++++++--- .gitlab-ci.yml | 4 ++-- Android.bp | 4 ++-- README.md | 2 +- 6 files changed, 30 insertions(+), 12 deletions(-) diff --git a/.ci/.gitlab-ci-checkcommit.sh b/.ci/.gitlab-ci-checkcommit.sh index f854999..f821595 100755 --- a/.ci/.gitlab-ci-checkcommit.sh +++ b/.ci/.gitlab-ci-checkcommit.sh @@ -36,7 +36,7 @@ findtag() { } 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 @@ -61,7 +61,7 @@ git log --pretty='%h' FETCH_HEAD..HEAD | while read h; do exit 1 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 cat /tmp/format-fixup.patch >&2 exit 1 diff --git a/.ci/Dockerfile b/.ci/Dockerfile index c42c8b6..e613c15 100644 --- a/.ci/Dockerfile +++ b/.ci/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:23.04 +FROM ubuntu:24.10 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. 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 \ python3-mako python3-jinja2 python3-ply python3-yaml diff --git a/.ci/Makefile b/.ci/Makefile index 07cede1..d216da2 100644 --- a/.ci/Makefile +++ b/.ci/Makefile @@ -3,12 +3,12 @@ BASE_DIR:=../aospless SYSTEM_INCLUDE_DIRS := /usr/include/libdrm -CLANG := clang++-15 -CLANG_TIDY := clang-tidy-15 +CLANG := clang++-19 +CLANG_TIDY := clang-tidy-19 OUT_DIR := /tmp/drm_hwcomposer/build SRC_DIR := . -CXXFLAGS := -Wall -Wextra -Werror +CXXFLAGS := -Wall -Wextra -Werror -Wno-missing-designated-field-initializers CXXFLAGS += -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS 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 \ -misc-const-correctness \ -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_FINE) \ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cbcc664..d710113 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: ubuntu:23.04 +image: ubuntu:24.10 workflow: rules: @@ -10,7 +10,7 @@ variables: before_script: - 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 python3-mako python3-jinja2 python3-ply python3-yaml >/dev/null diff --git a/Android.bp b/Android.bp index e38192d..3e2fa94 100644 --- a/Android.bp +++ b/Android.bp @@ -80,13 +80,13 @@ filegroup { "drm/DrmDisplayPipeline.cpp", "drm/DrmEncoder.cpp", "drm/DrmFbImporter.cpp", + "drm/DrmHwc.cpp", "drm/DrmMode.cpp", "drm/DrmPlane.cpp", "drm/DrmProperty.cpp", "drm/ResourceManager.cpp", "drm/UEventListener.cpp", "drm/VSyncWorker.cpp", - "drm/DrmHwc.cpp", "backend/Backend.cpp", "backend/BackendClient.cpp", @@ -164,9 +164,9 @@ cc_binary { name: "android.hardware.composer.hwc3-service.drm", srcs: [ + ":drm_hwcomposer_common", ":drm_hwcomposer_hwc3", ":drm_hwcomposer_service", - ":drm_hwcomposer_common", "bufferinfo/legacy/BufferInfoLibdrm.cpp", ], diff --git a/README.md b/README.md index 5724b36..76cfd6c 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ A short list of contribution guidelines: 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