aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/nightly-build.yml24
1 files changed, 24 insertions, 0 deletions
diff --git a/.github/workflows/nightly-build.yml b/.github/workflows/nightly-build.yml
index 371353c..4b3561a 100644
--- a/.github/workflows/nightly-build.yml
+++ b/.github/workflows/nightly-build.yml
@@ -151,6 +151,30 @@ jobs:
exit 1
fi
+ - name: Identify the static LLD toolchain
+ id: lld-cache-key
+ run: |
+ llvm_prefix=$(brew --prefix llvm@23)
+ llvm_version=$("$llvm_prefix/bin/llvm-config" --version)
+ {
+ printf '%s\n' "${ImageVersion:?}" "$llvm_prefix" "$llvm_version" "$PWD"
+ brew list --versions llvm@23
+ xcrun --show-sdk-path
+ xcrun --show-sdk-version
+ xcrun --show-sdk-build-version
+ shasum -a 256 "$llvm_prefix/bin/clang" "$llvm_prefix/lib/libclangDriver.a" \
+ "$llvm_prefix"/lib/libLLVM*.dylib
+ } > "$RUNNER_TEMP/static-lld-toolchain.txt"
+ fingerprint=$(shasum -a 256 "$RUNNER_TEMP/static-lld-toolchain.txt" | cut -d ' ' -f 1)
+ echo "fingerprint=$fingerprint" >> "$GITHUB_OUTPUT"
+ echo "path=build/static-lld-$llvm_version" >> "$GITHUB_OUTPUT"
+
+ - name: Cache the matching static LLD build
+ uses: actions/cache@v6.1.0
+ with:
+ path: ${{ steps.lld-cache-key.outputs.path }}
+ key: ${{ runner.os }}-${{ runner.arch }}-static-lld-v1-${{ steps.lld-cache-key.outputs.fingerprint }}-${{ hashFiles('tools/build-static-lld.sh') }}
+
- name: Build matching static LLD libraries
run: |
sh tools/build-static-lld.sh "$(brew --prefix llvm@23)" "$PWD/build" 3