Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ jobs:
build_ref: ${{ needs.trigger.outputs.sha }}
release_tag: ${{ needs.trigger.outputs.release_tag }}
is_prerelease: true
llvm_version: '19'
llvm_version: '20'

notify:
name: Notify Completion
Expand Down
10 changes: 6 additions & 4 deletions .github/workflows/build-reusable.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
name: Build WebKit (Reusable)

env:
LLVM_VERSION: 19
# Use LLVM 20 for macOS - LLVM 21 has libc++ ABI compatibility issues
# with macOS system libc++ (missing std::__1::__hash_memory)
LLVM_VERSION: 20

on:
workflow_call:
Expand All @@ -21,7 +23,7 @@ on:
llvm_version:
description: 'LLVM version to use'
type: string
default: '19'
default: '20'
outputs:
release_tag:
description: 'The release tag that was created'
Expand Down Expand Up @@ -268,7 +270,7 @@ jobs:
run: |
"C:\Program Files\7-Zip" >> $Env:GITHUB_PATH
scoop config use_external_7zip true
scoop install ninja llvm@19.1.7
scoop install ninja llvm@20.1.8
Join-Path (Resolve-Path ~).Path "scoop\apps\llvm\current\bin" >> $Env:GITHUB_PATH
Comment on lines 271 to 274
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🌐 Web query:

Scoop package llvm 20.1.8 availability main bucket

💡 Result:

No — the Scoop main bucket's llvm manifest shows version 16.0.0, not 20.1.8. [1][2]

If you need LLVM 20.1.8 you can get it from other packaging channels (Homebrew formula llvm@20 shows 20.1.8; conda/Anaconda also lists 20.1.8). [3][4]

Sources:

  • Scoop main llvm manifest (current version 16.0.0). [1]
  • Homebrew llvm@20 (stable 20.1.8). [3]
  • LLVM 20.1.8 release / Anaconda listings. [2][4]

Remove or replace llvm@20.1.8 with an available Scoop package version.

The Scoop main bucket only provides LLVM 16.0.0, not 20.1.8. Line 273 will fail when attempting to install a non-existent package version. Either use the direct download approach applied to ARM64 or specify an available version (16.0.0). Verify this is intentional before proceeding.

🤖 Prompt for AI Agents
In @.github/workflows/build-reusable.yml around lines 271 - 274, The workflow
attempts to install a non-existent Scoop package "llvm@20.1.8" (see the line
"scoop install ninja llvm@20.1.8"); replace it with a valid package/version such
as "llvm" or "llvm@16.0.0" or implement the same direct-download fallback used
for ARM64 instead of pinning 20.1.8, and ensure the surrounding commands ("scoop
config use_external_7zip true" and the PATH update via Join-Path ...) still
point to the correct installed LLVM bin so the PATH update remains correct.

- name: Install LLVM and Ninja (ARM64)
if: matrix.platform == 'ARM64'
Expand All @@ -277,7 +279,7 @@ jobs:
scoop config use_external_7zip true
scoop install ninja
# Install LLVM ARM64 from official LLVM releases
# Use LLVM 21 for ARM64 - has better Windows ARM64 support and fixes SEH unwind bugs
# Using official releases since Scoop may not have ARM64 LLVM
$llvmVersion = "21.1.8"
$llvmUrl = "https://github.com/llvm/llvm-project/releases/download/llvmorg-$llvmVersion/LLVM-$llvmVersion-woa64.exe"
$llvmPath = "C:\LLVM"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
inputs:
llvm_version:
description: "LLVM version"
default: "19"
default: "20"

jobs:
build:
Expand All @@ -22,4 +22,4 @@ jobs:
build_ref: ${{ github.sha }}
release_tag: autobuild-${{ github.sha }}
is_prerelease: false
llvm_version: ${{ inputs.llvm_version || '19' }}
llvm_version: ${{ inputs.llvm_version || '20' }}
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ ARG WEBKIT_RELEASE_TYPE=Release
ARG CPU=native
ARG LTO_FLAG="-flto=full -fwhole-program-vtables -fforce-emit-vtables "
ARG RELEASE_FLAGS="-O3 -DNDEBUG=1"
ARG LLVM_VERSION="19"
ARG LLVM_VERSION="20"
ARG DEFAULT_CFLAGS="-mno-omit-leaf-frame-pointer -g -fno-omit-frame-pointer -ffunction-sections -fdata-sections -faddrsig -fno-unwind-tables -fno-asynchronous-unwind-tables -DU_STATIC_IMPLEMENTATION=1 "
ARG ENABLE_SANITIZERS=""

Expand Down Expand Up @@ -71,10 +71,10 @@ RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 130 \
--slave /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-13 \
--slave /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-13

# Install LLVM 19
# Install LLVM 20
RUN wget https://apt.llvm.org/llvm.sh \
&& chmod +x llvm.sh \
&& ./llvm.sh 19 all \
&& ./llvm.sh 20 all \
&& rm llvm.sh \
&& rm -rf /var/lib/apt/lists/*

Expand Down
Loading