Skip to content

Commit 911e365

Browse files
alex-spataruclaude
andcommitted
fix(ci): install BOLT from apt.llvm.org and pin major 21 (spec 0090)
Ubuntu noble ships bolt-18 for amd64 only, so the arm64 stage could not install it, and 18 predates the llvm/llvm-project#98992 fragment fix the prebuilt gRPC needs (duplicated local .cold symbols broke parent lookup on x86_64). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 5f8dc65 commit 911e365

1 file changed

Lines changed: 12 additions & 4 deletions

File tree

‎.github/actions/bolt-linux/action.yml‎

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,31 @@ inputs:
2424
description: 'Qt library directory placed on LD_LIBRARY_PATH for the training runs.'
2525
required: true
2626
bolt-version:
27-
description: 'Pinned LLVM BOLT major (Ubuntu bolt-<N> package; built for amd64 and arm64).'
27+
description: 'Pinned LLVM BOLT major (apt.llvm.org bolt-<N> package; built for amd64 and arm64).'
2828
required: false
29-
default: '18'
29+
default: '21'
3030

3131
runs:
3232
using: 'composite'
3333
steps:
3434
#
35-
# The distro package pins the major and exists for both release arches; a missing package is
36-
# a loud failure, never a skipped stage
35+
# apt.llvm.org, not the Ubuntu archive: noble's bolt-18 is amd64-only AND predates the
36+
# llvm/llvm-project#98992 fragment-matching fix our prebuilt gRPC needs (its GCC .cold
37+
# fragments carry duplicated local symbols, which older BOLT cannot map to a parent).
38+
# The upstream repo ships bolt-<N> for both release arches; a missing package is a loud
39+
# failure, never a skipped stage
3740
#
3841
- name: '⚙️ Install LLVM BOLT'
3942
shell: bash
4043
env:
4144
BOLT_V: ${{inputs.bolt-version}}
4245
run: |
4346
set -euo pipefail
47+
CODENAME="$(. /etc/os-release && echo "$VERSION_CODENAME")"
48+
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key \
49+
| sudo gpg --dearmor -o /usr/share/keyrings/apt-llvm-org.gpg
50+
echo "deb [signed-by=/usr/share/keyrings/apt-llvm-org.gpg] http://apt.llvm.org/${CODENAME}/ llvm-toolchain-${CODENAME}-${BOLT_V} main" \
51+
| sudo tee /etc/apt/sources.list.d/apt-llvm-org.list
4452
sudo apt-get update -qq
4553
sudo apt-get install -y --no-install-recommends "bolt-${BOLT_V}"
4654
"llvm-bolt-${BOLT_V}" --version

0 commit comments

Comments
 (0)