Files
scriptc/.github/actions/llvm-linux/action.yml
Chris Tate eb7be34d9a perf: reduce compiler work and reuse CI native builds
- Reduce frontend, runtime, and linking overhead for native builds.
- Add compact compiler artifacts and reproducible build timing benchmarks.
- Reuse native CI packages and consolidate self-hosting validation.
2026-09-30 11:08:13 -05:00

28 lines
1.0 KiB
YAML

name: Pinned Linux LLVM
description: Reuse the pinned LLVM development distribution across CI jobs
runs:
using: composite
steps:
- uses: actions/cache@v4
id: llvm
with:
path: ${{ runner.temp }}/llvm-22.1.8
key: llvm-22.1.8-linux-x64-v1
- name: Install LLVM system libraries
shell: bash
run: |
sudo apt-get update
sudo apt-get install --yes g++ zlib1g-dev libzstd-dev
- name: Download LLVM
if: steps.llvm.outputs.cache-hit != 'true'
shell: bash
run: |
curl -fL --retry 3 -o "$RUNNER_TEMP/llvm.tar.xz" https://github.com/llvm/llvm-project/releases/download/llvmorg-22.1.8/LLVM-22.1.8-Linux-X64.tar.xz
tar -xJf "$RUNNER_TEMP/llvm.tar.xz" -C "$RUNNER_TEMP"
mv "$RUNNER_TEMP/LLVM-22.1.8-Linux-X64" "$RUNNER_TEMP/llvm-22.1.8"
- name: Select LLVM
shell: bash
run: |
echo "LLVM_DIR=$RUNNER_TEMP/llvm-22.1.8/lib/cmake/llvm" >> "$GITHUB_ENV"
echo "$RUNNER_TEMP/llvm-22.1.8/bin" >> "$GITHUB_PATH"