Browse Source

ci: Use distro packaged clang-tidy headers in Fedora base image

Since commit 703f39354e (ci: add clang-tidy development headers to
Fedora base image, 2022-08-31, v3.25.0-rc1~215^2), Fedora has added the
`clang-tools-extra-devel` package.
Brad King 2 years ago
parent
commit
30e4be0d1b

+ 1 - 16
.gitlab/ci/docker/fedora37/Dockerfile

@@ -4,8 +4,7 @@ ARG BASE_IMAGE=fedora:37
 
 FROM ${BASE_IMAGE} AS dnf-cache
 # Populate DNF cache w/ the fresh metadata and prefetch packages.
-RUN --mount=type=bind,source=clang_tidy_headers_packages.lst,target=/root/clang_tidy_headers_packages.lst \
-    --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \
+RUN --mount=type=bind,source=deps_packages.lst,target=/root/deps_packages.lst \
     --mount=type=bind,source=iwyu_packages.lst,target=/root/iwyu_packages.lst \
     --mount=type=bind,source=rvm_packages.lst,target=/root/rvm_packages.lst \
     --mount=type=tmpfs,target=/var/log \
@@ -30,17 +29,6 @@ RUN --mount=type=bind,source=install_rvm.sh,target=/root/install_rvm.sh \
     sh /root/install_rvm.sh
 
 
-FROM ${BASE_IMAGE} AS clang-tidy-headers
-LABEL maintainer="Kyle Edwards <[email protected]>"
-
-RUN --mount=type=bind,source=install_clang_tidy_headers.sh,target=/root/install_clang_tidy_headers.sh \
-    --mount=type=bind,source=clang_tidy_headers_packages.lst,target=/root/clang_tidy_headers_packages.lst \
-    --mount=type=cache,from=dnf-cache,source=/var/cache/dnf,target=/var/cache/dnf,sharing=private \
-    --mount=type=tmpfs,target=/var/log \
-    --mount=type=tmpfs,target=/tmp \
-    sh /root/install_clang_tidy_headers.sh
-
-
 FROM ${BASE_IMAGE} AS iwyu-build
 LABEL maintainer="Kyle Edwards <[email protected]>"
 
@@ -66,8 +54,5 @@ RUN --mount=type=bind,source=install_deps.sh,target=/root/install_deps.sh \
 RUN --mount=type=bind,from=rvm-build,source=/root,target=/root \
     tar -C /usr/local -xf /root/rvm.tar
 
-RUN --mount=type=bind,from=clang-tidy-headers,source=/root,target=/root \
-    tar -C /usr/include -xf /root/clang-tidy-headers.tar
-
 RUN --mount=type=bind,from=iwyu-build,source=/root,target=/root \
     tar -C / -xf /root/iwyu.tar

+ 0 - 4
.gitlab/ci/docker/fedora37/clang_tidy_headers_packages.lst

@@ -1,4 +0,0 @@
-dnf-command(download)
-rpm-build
-python3-devel
-clang-tools-extra

+ 1 - 0
.gitlab/ci/docker/fedora37/deps_packages.lst

@@ -7,6 +7,7 @@ qt6-qtbase-devel
 # Install development tools.
 clang
 clang-tools-extra
+clang-tools-extra-devel
 compiler-rt
 flang
 flang-devel

+ 0 - 20
.gitlab/ci/docker/fedora37/install_clang_tidy_headers.sh

@@ -1,20 +0,0 @@
-#!/bin/sh
-
-set -e
-
-# Packages for building the clang-tidy plugin.
-# TODO: Upstream this as a proper Fedora package.
-dnf install \
-    --setopt=install_weak_deps=False \
-    --setopt=fastestmirror=True \
-    --setopt=max_parallel_downloads=10 \
-    -y \
-    $(grep '^[^#]\+$' /root/clang_tidy_headers_packages.lst)
-
-clang_source_rpm=$(rpm -q --queryformat '%{SOURCERPM}' clang-tools-extra)
-clang_version=$(rpm -q --queryformat '%{VERSION}' clang-tools-extra)
-dnf download --source -y clang
-rpm -i "$clang_source_rpm"
-rpmbuild -bp /root/rpmbuild/SPECS/clang.spec
-cd "/root/rpmbuild/BUILD/clang-tools-extra-$clang_version.src"
-find clang-tidy -name '*.h' | tar -cf /root/clang-tidy-headers.tar -T -