mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 07:30: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
|
||||
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 ===
|
||||
|
||||
pushd "$DIR/Tarballs"
|
||||
|
@ -351,3 +388,19 @@ pushd "$DIR/Build/clang/$ARCH"
|
|||
buildstep "binutils/install" "$MAKE" install || exit 1
|
||||
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