-
Notifications
You must be signed in to change notification settings - Fork 33
Upgrade CI to LLVM 20 (21 for Windows ARM64) and Alpine 3.23 #139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -2,10 +2,10 @@ ARG MARCH_FLAG="" | |||||||||||||||||||||
| ARG WEBKIT_RELEASE_TYPE=Release | ||||||||||||||||||||||
| ARG CPU=native | ||||||||||||||||||||||
| ARG LTO_FLAG="-flto=full -fwhole-program-vtables -fforce-emit-vtables " | ||||||||||||||||||||||
| ARG LLVM_VERSION="19" | ||||||||||||||||||||||
| ARG LLVM_VERSION="21" | ||||||||||||||||||||||
| 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 " | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| FROM alpine:3.21 as base | ||||||||||||||||||||||
| FROM alpine:3.23 as base | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ARG MARCH_FLAG | ||||||||||||||||||||||
| ARG WEBKIT_RELEASE_TYPE | ||||||||||||||||||||||
|
|
@@ -15,13 +15,13 @@ ARG LLVM_VERSION | |||||||||||||||||||||
| ARG DEFAULT_CFLAGS | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| RUN apk update | ||||||||||||||||||||||
| RUN apk add --no-cache cmake make clang19 clang19-static clang19-dev llvm19-dev llvm19-static musl-dev git lld libgcc gcc g++ libstdc++ build-base lld-dev llvm19-libs libc-dev xz zlib zlib-dev libxml2 libxml2-dev | ||||||||||||||||||||||
| RUN apk add --no-cache cmake make clang21 clang21-static clang21-dev llvm21-dev llvm21-static musl-dev git lld libgcc gcc g++ libstdc++ build-base lld-dev llvm21-libs libc-dev xz zlib zlib-dev libxml2 libxml2-dev | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ENV CXX=clang++-19 | ||||||||||||||||||||||
| ENV CC=clang-19 | ||||||||||||||||||||||
| ENV LDFLAGS='-L/usr/include -L/usr/include/llvm19' | ||||||||||||||||||||||
| ENV CXXFLAGS="-I/usr/include -I/usr/include/llvm19" | ||||||||||||||||||||||
| ENV PATH="/usr/bin:/usr/local/bin:/zig/bin:/usr/lib/llvm19/bin:$PATH" | ||||||||||||||||||||||
| ENV CXX=clang++-21 | ||||||||||||||||||||||
| ENV CC=clang-21 | ||||||||||||||||||||||
| ENV LDFLAGS='-L/usr/include -L/usr/include/llvm21' | ||||||||||||||||||||||
| ENV CXXFLAGS="-I/usr/include -I/usr/include/llvm21" | ||||||||||||||||||||||
| ENV PATH="/usr/bin:/usr/local/bin:/zig/bin:/usr/lib/llvm21/bin:$PATH" | ||||||||||||||||||||||
|
Comment on lines
+20
to
+24
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick | 🔵 Trivial Align LLVM paths with actual Alpine package layout (and de-duplicate with
♻️ Proposed adjustment (verify actual paths first)-ENV CXX=clang++-21
-ENV CC=clang-21
-ENV LDFLAGS='-L/usr/include -L/usr/include/llvm21'
-ENV CXXFLAGS="-I/usr/include -I/usr/include/llvm21"
-ENV PATH="/usr/bin:/usr/local/bin:/zig/bin:/usr/lib/llvm21/bin:$PATH"
+ENV CXX=clang++-${LLVM_VERSION}
+ENV CC=clang-${LLVM_VERSION}
+ENV LDFLAGS="-L/usr/lib/llvm${LLVM_VERSION}/lib"
+ENV CXXFLAGS="-I/usr/lib/llvm${LLVM_VERSION}/include"
+ENV PATH="/usr/bin:/usr/local/bin:/zig/bin:/usr/lib/llvm${LLVM_VERSION}/bin:$PATH"📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||
| ENV CPU=${CPU} | ||||||||||||||||||||||
| ENV MARCH_FLAG=${MARCH_FLAG} | ||||||||||||||||||||||
| ENV WEBKIT_OUT_DIR=/webkitbuild | ||||||||||||||||||||||
|
|
@@ -66,7 +66,7 @@ ARG LTO_FLAG | |||||||||||||||||||||
| ARG LLVM_VERSION | ||||||||||||||||||||||
| ARG DEFAULT_CFLAGS | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| RUN apk add --no-cache cpio curl file gnupg ninja ruby unzip rsync perl python3 openssl-dev openssl linux-headers | ||||||||||||||||||||||
| RUN apk add --no-cache cpio curl file gnupg ninja ruby ruby-getoptlong unzip rsync perl python3 openssl-dev openssl linux-headers | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ENV WEBKIT_OUT_DIR=/webkitbuild | ||||||||||||||||||||||
| # These are unnecessary on musl | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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:
Remove or replace
llvm@20.1.8with 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