ci(fedora41): use cache for IWYU build
This commit is contained in:
parent
dc9b7a15c0
commit
59383f6509
@ -52,6 +52,7 @@ FROM iwyu-build-env AS iwyu-build
|
|||||||
LABEL maintainer="Kyle Edwards <kyle.edwards@kitware.com>"
|
LABEL maintainer="Kyle Edwards <kyle.edwards@kitware.com>"
|
||||||
# Build IWYU.
|
# Build IWYU.
|
||||||
RUN --mount=type=bind,source=build_iwyu.sh,target=/root/build_iwyu.sh \
|
RUN --mount=type=bind,source=build_iwyu.sh,target=/root/build_iwyu.sh \
|
||||||
|
--mount=type=cache,target=/root/include-what-you-use \
|
||||||
--mount=type=tmpfs,target=/tmp \
|
--mount=type=tmpfs,target=/tmp \
|
||||||
sh /root/build_iwyu.sh
|
sh /root/build_iwyu.sh
|
||||||
|
|
||||||
@ -78,11 +79,11 @@ RUN --mount=type=bind,source=dnf.conf,target=/etc/dnf/dnf.conf \
|
|||||||
--mount=type=tmpfs,target=/tmp \
|
--mount=type=tmpfs,target=/tmp \
|
||||||
sh /root/install_deps.sh
|
sh /root/install_deps.sh
|
||||||
|
|
||||||
|
RUN --mount=type=bind,from=iwyu-build,source=/root,target=/root \
|
||||||
|
tar -C / -xf /root/iwyu.tar
|
||||||
|
|
||||||
RUN --mount=type=bind,from=rust-build,source=/root,target=/root \
|
RUN --mount=type=bind,from=rust-build,source=/root,target=/root \
|
||||||
tar -C /usr/local -xf /root/rust.tar
|
tar -C /usr/local -xf /root/rust.tar
|
||||||
|
|
||||||
RUN --mount=type=bind,from=rvm-build,source=/root,target=/root \
|
RUN --mount=type=bind,from=rvm-build,source=/root,target=/root \
|
||||||
tar -C /usr/local -xf /root/rvm.tar
|
tar -C /usr/local -xf /root/rvm.tar
|
||||||
|
|
||||||
RUN --mount=type=bind,from=iwyu-build,source=/root,target=/root \
|
|
||||||
tar -C / -xf /root/iwyu.tar
|
|
||||||
|
@ -2,16 +2,24 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
cd /root
|
cd
|
||||||
git clone "https://github.com/include-what-you-use/include-what-you-use.git"
|
if [ -d include-what-you-use/.git ]; then
|
||||||
cd include-what-you-use
|
cd include-what-you-use
|
||||||
|
git pull
|
||||||
|
else
|
||||||
|
git clone https://github.com/include-what-you-use/include-what-you-use.git
|
||||||
|
cd include-what-you-use
|
||||||
|
fi
|
||||||
|
|
||||||
readonly llvm_full_version="$( clang --version | head -n1 | cut -d' ' -f3 )"
|
readonly llvm_full_version="$( clang --version | head -n1 | cut -d' ' -f3 )"
|
||||||
readonly llvm_version="$( echo "$llvm_full_version" | cut -d. -f-1 )"
|
readonly llvm_version="$( echo "$llvm_full_version" | cut -d. -f-1 )"
|
||||||
git checkout "clang_$llvm_version"
|
git checkout "clang_$llvm_version"
|
||||||
mkdir build
|
|
||||||
|
mkdir -p build
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
cmake -GNinja \
|
cmake -GNinja \
|
||||||
|
--fresh \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DIWYU_RESOURCE_RELATIVE_TO=clang \
|
-DIWYU_RESOURCE_RELATIVE_TO=clang \
|
||||||
-DIWYU_RESOURCE_DIR=../lib/clang/"$llvm_version" \
|
-DIWYU_RESOURCE_DIR=../lib/clang/"$llvm_version" \
|
||||||
@ -22,4 +30,4 @@ cmake --build . --parallel
|
|||||||
|
|
||||||
DESTDIR=~/iwyu-destdir cmake --install .
|
DESTDIR=~/iwyu-destdir cmake --install .
|
||||||
|
|
||||||
tar -C /root/iwyu-destdir -cf /root/iwyu.tar .
|
tar -C ~/iwyu-destdir -cf ~/iwyu.tar .
|
||||||
|
Loading…
Reference in New Issue
Block a user