mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 15:40:19 +00:00
Toolchain: Add caching to BuildClang.sh for CI
This commit is contained in:
parent
301cab188c
commit
9809e685c1
Notes:
sideshowbarker
2024-07-18 07:15:49 +09:00
Author: https://github.com/BertalanD Commit: https://github.com/SerenityOS/serenity/commit/9809e685c18 Pull-request: https://github.com/SerenityOS/serenity/pull/8718 Issue: https://github.com/SerenityOS/serenity/issues/363 Reviewed-by: https://github.com/gunnarbeutner ✅ Reviewed-by: https://github.com/nico
1 changed files with 53 additions and 0 deletions
|
@ -115,6 +115,43 @@ then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# === CHECK CACHE AND REUSE ===
|
||||||
|
|
||||||
|
pushd "$DIR"
|
||||||
|
if [ "$TRY_USE_LOCAL_TOOLCHAIN" = "y" ]; then
|
||||||
|
mkdir -p Cache
|
||||||
|
echo "Cache (before):"
|
||||||
|
ls -l Cache
|
||||||
|
CACHED_TOOLCHAIN_ARCHIVE="Cache/ToolchainBinariesGithubActions.tar.gz"
|
||||||
|
if [ -r "${CACHED_TOOLCHAIN_ARCHIVE}" ] ; then
|
||||||
|
echo "Cache at ${CACHED_TOOLCHAIN_ARCHIVE} exists!"
|
||||||
|
echo "Extracting toolchain from cache:"
|
||||||
|
if tar xzf "${CACHED_TOOLCHAIN_ARCHIVE}" ; then
|
||||||
|
echo "Done 'building' the toolchain."
|
||||||
|
echo "Cache unchanged."
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo "Could not extract cached toolchain archive."
|
||||||
|
echo "This means the cache is broken and *should be removed*!"
|
||||||
|
echo "As Github Actions cannot update a cache, this will unnecessarily"
|
||||||
|
echo "slow down all future builds for this hash, until someone"
|
||||||
|
echo "resets the cache."
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
rm -f "${CACHED_TOOLCHAIN_ARCHIVE}"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Cache at ${CACHED_TOOLCHAIN_ARCHIVE} does not exist."
|
||||||
|
echo "Will rebuild toolchain from scratch, and save the result."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo "::group::Actually building Toolchain"
|
||||||
|
popd
|
||||||
|
|
||||||
# === DOWNLOAD AND PATCH ===
|
# === DOWNLOAD AND PATCH ===
|
||||||
|
|
||||||
pushd "$DIR/Tarballs"
|
pushd "$DIR/Tarballs"
|
||||||
|
@ -351,3 +388,19 @@ pushd "$DIR/Build/clang/$ARCH"
|
||||||
buildstep "binutils/install" "$MAKE" install || exit 1
|
buildstep "binutils/install" "$MAKE" install || exit 1
|
||||||
popd
|
popd
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
# === SAVE TO CACHE ===
|
||||||
|
pushd "$DIR"
|
||||||
|
if [ "$TRY_USE_LOCAL_TOOLCHAIN" = "y" ]; then
|
||||||
|
echo "::endgroup::"
|
||||||
|
echo "Building cache tar:"
|
||||||
|
|
||||||
|
echo "Building cache tar:"
|
||||||
|
|
||||||
|
rm -f "${CACHED_TOOLCHAIN_ARCHIVE}" # Just in case
|
||||||
|
|
||||||
|
tar czf "${CACHED_TOOLCHAIN_ARCHIVE}" Local/
|
||||||
|
echo "Cache (after):"
|
||||||
|
ls -l Cache
|
||||||
|
fi
|
||||||
|
popd
|
||||||
|
|
Loading…
Reference in a new issue