Skip to content

Commit 75dc613

Browse files
Merge pull request #67 from oven-sh/musl
add musl build [v2]
2 parents 495b2d1 + 3857d17 commit 75dc613

File tree

3 files changed

+261
-55
lines changed

3 files changed

+261
-55
lines changed

.github/workflows/build.yml

Lines changed: 111 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,8 @@ env:
55

66
# Controls when the workflow will run
77
on:
8-
# Triggers the workflow on push or pull request events but only for the "master" branch
8+
# Triggers the workflow on push or pull request events
99
push:
10-
branches: ["main"]
1110

1211
# Allows you to run this workflow manually from the Actions tab
1312
workflow_dispatch:
@@ -222,16 +221,84 @@ jobs:
222221
name: bun-webkit-windows-${{ matrix.arch }}${{ matrix.suffix }}
223222
path: bun-webkit.tar.gz
224223

224+
linux-musl:
225+
name: Linux
226+
runs-on: ${{matrix.os}}
227+
strategy:
228+
matrix:
229+
include:
230+
- lto_flag: ""
231+
label: bun-webkit-linux-amd64-musl-debug
232+
os: big-ubuntu
233+
package_json_arch: "x64"
234+
CMAKE_BUILD_TYPE: "Debug"
235+
- lto_flag: ""
236+
label: bun-webkit-linux-arm64-musl-debug
237+
os: linux-arm64-gh
238+
package_json_arch: "arm64"
239+
CMAKE_BUILD_TYPE: "Debug"
240+
- lto_flag: "-flto=full -fwhole-program-vtables -fforce-emit-vtables"
241+
label: bun-webkit-linux-arm64-musl-lto
242+
os: linux-arm64-gh
243+
package_json_arch: "arm64"
244+
CMAKE_BUILD_TYPE: "Release"
245+
- lto_flag: ""
246+
label: bun-webkit-linux-arm64-musl
247+
os: linux-arm64-gh
248+
package_json_arch: "arm64"
249+
CMAKE_BUILD_TYPE: "Release"
250+
- lto_flag: "-flto=full -fwhole-program-vtables -fforce-emit-vtables"
251+
label: bun-webkit-linux-amd64-musl-lto
252+
os: big-ubuntu
253+
package_json_arch: "x64"
254+
CMAKE_BUILD_TYPE: "Release"
255+
- lto_flag: ""
256+
label: bun-webkit-linux-amd64-musl
257+
os: big-ubuntu
258+
package_json_arch: "x64"
259+
CMAKE_BUILD_TYPE: "Release"
260+
261+
timeout-minutes: 90
262+
steps:
263+
- uses: actions/checkout@v4
264+
with:
265+
sparse-checkout-cone-mode: false
266+
sparse-checkout: |
267+
/*
268+
!LayoutTests/
269+
!JSTests/
270+
- uses: docker/setup-buildx-action@v2
271+
id: buildx
272+
with:
273+
install: true
274+
- name: Run
275+
run: |
276+
rm -rf ${{runner.temp}}/bun-webkit ${{runner.temp}}/bun-webkit.tar.gz
277+
WEBKIT_RELEASE_TYPE=${{matrix.CMAKE_BUILD_TYPE}} CPU="native" cpu=native LTO_FLAG="${{matrix.lto_flag}}" temp=${{runner.temp}} bash musl-release.sh
278+
cd ${{runner.temp}}
279+
echo "#define BUN_WEBKIT_VERSION \"${{github.sha}}\"" >> bun-webkit/include/cmakeconfig.h
280+
echo '{ "name": "${{matrix.label}}", "version": "0.0.1-${{github.sha}}", "os": ["linux"], "cpu": ["${{matrix.package_json_arch}}"], "repository": "https://github.com/${{github.repository}}" }' > bun-webkit/package.json
281+
rm -rf bun-webkit/lib/*.so
282+
rm -rf bun-webkit/lib/*.so.*
283+
tar -czf bun-webkit.tar.gz bun-webkit
284+
rm -rf bun-webkit
285+
- uses: actions/upload-artifact@v3
286+
with:
287+
name: ${{matrix.label}}
288+
path: ${{runner.temp}}/bun-webkit.tar.gz
289+
225290
release:
226291
name: release
227292
permissions:
228293
contents: write
229294
runs-on: ubuntu-latest
230295
timeout-minutes: 90
296+
if: github.ref == 'refs/heads/main'
231297
needs:
232298
- linux
233299
- macos
234300
- windows
301+
- linux-musl
235302
steps:
236303
- uses: actions/download-artifact@v3
237304
with:
@@ -281,21 +348,52 @@ jobs:
281348
with:
282349
name: bun-webkit-windows-amd64-debug
283350
path: ${{runner.temp}}/bun-webkit-windows-amd64-debug
351+
- uses: actions/download-artifact@v3
352+
with:
353+
name: bun-webkit-linux-amd64-musl
354+
path: ${{runner.temp}}/bun-webkit-linux-amd64-musl
355+
- uses: actions/download-artifact@v3
356+
with:
357+
name: bun-webkit-linux-arm64-musl
358+
path: ${{runner.temp}}/bun-webkit-linux-arm64-musl
359+
- uses: actions/download-artifact@v3
360+
with:
361+
name: bun-webkit-linux-amd64-musl-debug
362+
path: ${{runner.temp}}/bun-webkit-linux-amd64-musl-debug
363+
- uses: actions/download-artifact@v3
364+
with:
365+
name: bun-webkit-linux-arm64-musl-debug
366+
path: ${{runner.temp}}/bun-webkit-linux-arm64-musl-debug
367+
- uses: actions/download-artifact@v3
368+
with:
369+
name: bun-webkit-linux-amd64-musl-debug
370+
path: ${{runner.temp}}/bun-webkit-linux-amd64-musl-lto
371+
- uses: actions/download-artifact@v3
372+
with:
373+
name: bun-webkit-linux-arm64-musl-debug
374+
path: ${{runner.temp}}/bun-webkit-linux-arm64-musl-lto
284375

285376
- name: Rename files
286377
run: |
287378
mv ${{runner.temp}}/bun-webkit-linux-amd64/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-amd64.tar.gz
288-
mv ${{runner.temp}}/bun-webkit-linux-arm64/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-arm64.tar.gz
379+
mv ${{runner.temp}}/bun-webkit-linux-arm64/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-arm64.tar.gz
380+
mv ${{runner.temp}}/bun-webkit-linux-amd64-musl/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-amd64-musl.tar.gz
381+
mv ${{runner.temp}}/bun-webkit-linux-arm64-musl/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-arm64-musl.tar.gz
289382
mv ${{runner.temp}}/bun-webkit-macos-arm64/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-macos-arm64.tar.gz
290-
mv ${{runner.temp}}/bun-webkit-macos-amd64/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-macos-amd64.tar.gz
383+
mv ${{runner.temp}}/bun-webkit-macos-amd64/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-macos-amd64.tar.gz
291384
mv ${{runner.temp}}/bun-webkit-linux-amd64-debug/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-amd64-debug.tar.gz
292-
mv ${{runner.temp}}/bun-webkit-linux-arm64-debug/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-arm64-debug.tar.gz
385+
mv ${{runner.temp}}/bun-webkit-linux-arm64-debug/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-arm64-debug.tar.gz
386+
mv ${{runner.temp}}/bun-webkit-linux-amd64-musl-debug/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-amd64-musl-debug.tar.gz
387+
mv ${{runner.temp}}/bun-webkit-linux-arm64-musl-debug/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-arm64-musl-debug.tar.gz
293388
mv ${{runner.temp}}/bun-webkit-macos-arm64-debug/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-macos-arm64-debug.tar.gz
294-
mv ${{runner.temp}}/bun-webkit-macos-amd64-debug/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-macos-amd64-debug.tar.gz
295-
mv ${{runner.temp}}/bun-webkit-linux-arm64-lto/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-arm64-lto.tar.gz
389+
mv ${{runner.temp}}/bun-webkit-macos-amd64-debug/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-macos-amd64-debug.tar.gz
296390
mv ${{runner.temp}}/bun-webkit-linux-amd64-lto/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-amd64-lto.tar.gz
391+
mv ${{runner.temp}}/bun-webkit-linux-arm64-lto/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-arm64-lto.tar.gz
392+
mv ${{runner.temp}}/bun-webkit-linux-amd64-musl-lto/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-amd64-musl-lto.tar.gz
393+
mv ${{runner.temp}}/bun-webkit-linux-arm64-musl-lto/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-linux-arm64-musl-lto.tar.gz
297394
mv ${{runner.temp}}/bun-webkit-windows-amd64/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-windows-amd64.tar.gz
298395
mv ${{runner.temp}}/bun-webkit-windows-amd64-debug/bun-webkit.tar.gz ${{runner.temp}}/bun-webkit-windows-amd64-debug.tar.gz
396+
299397
- name: Release
300398
uses: softprops/action-gh-release@v1
301399
id: release
@@ -305,13 +403,19 @@ jobs:
305403
files: |
306404
${{runner.temp}}/bun-webkit-linux-amd64-debug.tar.gz
307405
${{runner.temp}}/bun-webkit-linux-arm64-debug.tar.gz
406+
${{runner.temp}}/bun-webkit-linux-amd64-musl-debug.tar.gz
407+
${{runner.temp}}/bun-webkit-linux-arm64-musl-debug.tar.gz
308408
${{runner.temp}}/bun-webkit-macos-arm64-debug.tar.gz
309409
${{runner.temp}}/bun-webkit-macos-amd64-debug.tar.gz
310410
${{runner.temp}}/bun-webkit-linux-amd64.tar.gz
311411
${{runner.temp}}/bun-webkit-linux-arm64.tar.gz
412+
${{runner.temp}}/bun-webkit-linux-amd64-musl.tar.gz
413+
${{runner.temp}}/bun-webkit-linux-arm64-musl.tar.gz
312414
${{runner.temp}}/bun-webkit-macos-arm64.tar.gz
313415
${{runner.temp}}/bun-webkit-macos-amd64.tar.gz
314416
${{runner.temp}}/bun-webkit-linux-amd64-lto.tar.gz
315417
${{runner.temp}}/bun-webkit-linux-arm64-lto.tar.gz
418+
${{runner.temp}}/bun-webkit-linux-amd64-musl-lto.tar.gz
419+
${{runner.temp}}/bun-webkit-linux-arm64-musl-lto.tar.gz
316420
${{runner.temp}}/bun-webkit-windows-amd64.tar.gz
317421
${{runner.temp}}/bun-webkit-windows-amd64-debug.tar.gz

Dockerfile.musl

Lines changed: 104 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,122 @@
1-
FROM alpine:3.15 as base
1+
ARG MARCH_FLAG=""
2+
ARG WEBKIT_RELEASE_TYPE=Release
3+
ARG CPU=native
4+
ARG LTO_FLAG="-flto=full -fwhole-program-vtables -fforce-emit-vtables "
5+
ARG LLVM_VERSION="18"
6+
ARG DEFAULT_CFLAGS="-mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -ffunction-sections -fdata-sections -faddrsig -fno-unwind-tables -fno-asynchronous-unwind-tables -DU_STATIC_IMPLEMENTATION=1 "
7+
8+
FROM alpine:edge as base
9+
10+
ARG MARCH_FLAG
11+
ARG WEBKIT_RELEASE_TYPE
12+
ARG CPU
13+
ARG LTO_FLAG
14+
ARG LLVM_VERSION
15+
ARG DEFAULT_CFLAGS
216

317
RUN apk update
4-
RUN apk add --no-cache cmake make clang clang-static clang-dev llvm12-dev llvm12-static musl-dev git lld libgcc gcc g++ libstdc++ build-base lld-dev lld-static llvm12-libs libc-dev xz zlib zlib-dev libxml2 libxml2-dev
18+
RUN apk add --no-cache cmake make clang18 clang18-static clang18-dev llvm18-dev llvm18-static musl-dev git lld18 libgcc gcc g++ libstdc++ build-base lld18-dev llvm18-libs libc-dev xz zlib zlib-dev libxml2 libxml2-dev
19+
20+
ENV CXX=clang++-18
21+
ENV CC=clang-18
22+
ENV LDFLAGS='-L/usr/include -L/usr/include/llvm18'
23+
ENV CXXFLAGS="-I/usr/include -I/usr/include/llvm18"
24+
ENV PATH="/usr/bin:/usr/local/bin:/zig/bin:/usr/lib/llvm18/bin:$PATH"
25+
ENV CPU=${CPU}
26+
ENV MARCH_FLAG=${MARCH_FLAG}
27+
ENV WEBKIT_OUT_DIR=/webkitbuild
28+
RUN mkdir -p /output/lib /output/include /output/include/JavaScriptCore /output/include/wtf /output/include/bmalloc /output/include/unicode
29+
30+
ENV AR llvm-ar
31+
ENV RANLIB llvm-ranlib
32+
ENV LD lld
33+
ENV LTO_FLAG="${LTO_FLAG}"
34+
ENV WEBKIT_RELEASE_TYPE="${WEBKIT_RELEASE_TYPE}"
535

6-
ENV CXX=clang++
7-
ENV CC=clang
8-
ENV LDFLAGS='-L/usr/include -L/usr/include/llvm12'
9-
ENV CXXFLAGS="-I/usr/include -I/usr/include/llvm12"
10-
ENV PATH="/usr/bin:/usr/local/bin:/zig/bin:$PATH"
36+
FROM base as build_icu
37+
38+
ARG MARCH_FLAG
39+
ARG WEBKIT_RELEASE_TYPE
40+
ARG CPU
41+
ARG LTO_FLAG
42+
ARG LLVM_VERSION
43+
ARG DEFAULT_CFLAGS
44+
45+
RUN apk add --no-cache cpio curl icu-dev tar
46+
47+
ADD https://github.com/unicode-org/icu/releases/download/release-75-1/icu4c-75_1-src.tgz /icu.tgz
48+
RUN --mount=type=tmpfs,target=/icu \
49+
export CFLAGS="${DEFAULT_CFLAGS} $CFLAGS -O3 -std=c17 $LTO_FLAG" && \
50+
export CXXFLAGS="${DEFAULT_CFLAGS} $CXXFLAGS -O3 -std=c++20 -fno-exceptions $LTO_FLAG -fno-c++-static-destructors " && \
51+
export LDFLAGS="-fuse-ld=lld " && \
52+
cd /icu && \
53+
tar -xf /icu.tgz --strip-components=1 && \
54+
rm /icu.tgz && \
55+
cd source && \
56+
./configure --enable-static --disable-shared --with-data-packaging=static --disable-samples --disable-debug --disable-tests && \
57+
make -j$(nproc) && \
58+
make install && cp -r /icu/source/lib/* /output/lib && cp -r /icu/source/i18n/unicode/* /icu/source/common/unicode/* /output/include/unicode
1159

1260
FROM base as build_webkit
1361

14-
RUN apk add --no-cache cpio curl file gnupg icu-dev ninja ruby unzip rsync perl python2 openssl-dev openssl linux-headers
62+
ARG MARCH_FLAG
63+
ARG WEBKIT_RELEASE_TYPE
64+
ARG CPU
65+
ARG LTO_FLAG
66+
ARG LLVM_VERSION
67+
ARG DEFAULT_CFLAGS
68+
69+
RUN apk add --no-cache cpio curl file gnupg icu-dev ninja ruby unzip rsync perl python3 openssl-dev openssl linux-headers
1570

16-
ENV WEBKIT_OUT_DIR=/webkit
71+
ENV WEBKIT_OUT_DIR=/webkitbuild
1772
# These are unnecessary on musl
1873
# ENV CFLAGS="$CFLAGS -ffat-lto-objects"
1974
# ENV CXXFLAGS="$CXXFLAGS -ffat-lto-objects"
75+
COPY . /webkit
76+
WORKDIR /webkit
2077

21-
WORKDIR /webkit-build
22-
23-
COPY . /webkit-src
78+
COPY --from=build_icu /output /icu
2479

25-
RUN --mount=type=tmpfs,target=/webkit-build; \
80+
RUN --mount=type=tmpfs,target=/webkitbuild \
81+
export CFLAGS="${DEFAULT_CFLAGS} $CFLAGS $LTO_FLAG -ffile-prefix-map=/webkit/Source=src/bun.js/WebKit/Source -ffile-prefix-map=/webkitbuild/=. " && \
82+
export CXXFLAGS="${DEFAULT_CFLAGS} $CXXFLAGS $LTO_FLAG -fno-c++-static-destructors -ffile-prefix-map=/webkit/Source=src/bun.js/WebKit/Source -ffile-prefix-map=/webkitbuild/=. " && \
83+
export LDFLAGS="-fuse-ld=lld $LDFLAGS " && \
84+
cd /webkitbuild && \
2685
cmake \
2786
-DPORT="JSCOnly" \
2887
-DENABLE_STATIC_JSC=ON \
29-
-DCMAKE_BUILD_TYPE=Release \
88+
-DENABLE_BUN_SKIP_FAILING_ASSERTIONS=ON \
89+
-DCMAKE_BUILD_TYPE=${WEBKIT_RELEASE_TYPE} \
3090
-DUSE_THIN_ARCHIVES=OFF \
91+
-DUSE_BUN_JSC_ADDITIONS=ON \
3192
-DENABLE_FTL_JIT=ON \
93+
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
94+
-DALLOW_LINE_AND_COLUMN_NUMBER_IN_BUILTINS=ON \
95+
-DENABLE_SINGLE_THREADED_VM_ENTRY_SCOPE=ON \
96+
-DENABLE_REMOTE_INSPECTOR=ON \
97+
-DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld" \
98+
-DCMAKE_AR=$(which llvm-ar) \
99+
-DCMAKE_RANLIB=$(which llvm-ranlib) \
100+
-DCMAKE_C_FLAGS="$CFLAGS" \
101+
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
102+
-DICU_ROOT=/icu \
32103
-G Ninja \
33-
-DCMAKE_CXX_COMPILER=clang++ \
34-
-DCMAKE_C_COMPILER=clang \
35-
/webkit-src && \
36-
cd /webkit-build && \
37-
cmake --build /webkit-build --config release -- "jsc" && \
38-
mkdir -p ${WEBKIT_OUT_DIR}/lib ${WEBKIT_OUT_DIR}/include/JavaScriptCore && \
39-
cp -r /webkit-build/lib/*.a $WEBKIT_OUT_DIR/lib && \
40-
cp /webkit-build/*.h $WEBKIT_OUT_DIR/include && \
41-
find /webkit-build/JavaScriptCore/Headers/JavaScriptCore/ -name "*.h" -exec cp {} $WEBKIT_OUT_DIR/include/JavaScriptCore/ \; && \
42-
find /webkit-build/JavaScriptCore/PrivateHeaders/JavaScriptCore/ -name "*.h" -exec cp {} $WEBKIT_OUT_DIR/include/JavaScriptCore/ \; && \
43-
cp -r /webkit-build/WTF/Headers/wtf/ $WEBKIT_OUT_DIR/include && \
44-
cp -r /webkit-build/bmalloc/Headers/bmalloc/ $WEBKIT_OUT_DIR/include && echo "Done";
45-
46-
47-
FROM base as build_icu
48-
49-
RUN apk add --no-cache cpio curl icu-dev tar
50-
51-
52-
WORKDIR /icu-src
53-
RUN --mount=type=tmpfs,target=/icu-src; curl -L https://github.com/unicode-org/icu/releases/download/release-66-1/icu4c-66_1-src.tgz > icu4c-66_1-src.tgz && \
54-
tar -xzf icu4c-66_1-src.tgz && \
55-
rm icu4c-66_1-src.tgz && \
56-
cd icu/source && \
57-
./configure --enable-static --disable-shared && \
58-
make -j$(nproc) && \
59-
mkdir -p /icu && \
60-
cp -r lib/*.a /icu
61-
62-
63-
FROM alpine:3.15 as webkit
64-
65-
COPY --from=build_webkit /webkit /webkit
66-
COPY --from=build_icu /icu/*.a /webkit/lib
104+
/webkit && \
105+
cd /webkitbuild && \
106+
cmake --build /webkitbuild --config ${WEBKIT_RELEASE_TYPE} --target "jsc" && \
107+
cp -r $WEBKIT_OUT_DIR/lib/*.a /output/lib && \
108+
cp $WEBKIT_OUT_DIR/*.h /output/include && \
109+
cp -r $WEBKIT_OUT_DIR/bin /output/bin && \
110+
cp $WEBKIT_OUT_DIR/*.json /output && \
111+
find $WEBKIT_OUT_DIR/JavaScriptCore/Headers/JavaScriptCore/ -name "*.h" -exec cp {} /output/include/JavaScriptCore/ \; && \
112+
find $WEBKIT_OUT_DIR/JavaScriptCore/PrivateHeaders/JavaScriptCore/ -name "*.h" -exec cp {} /output/include/JavaScriptCore/ \; && \
113+
cp -r $WEBKIT_OUT_DIR/WTF/Headers/wtf/ /output/include && \
114+
cp -r $WEBKIT_OUT_DIR/bmalloc/Headers/bmalloc/ /output/include && \
115+
mkdir -p /output/Source/JavaScriptCore && \
116+
cp -r /webkit/Source/JavaScriptCore/Scripts /output/Source/JavaScriptCore && \
117+
cp /webkit/Source/JavaScriptCore/create_hash_table /output/Source/JavaScriptCore && \
118+
echo "";
119+
120+
FROM scratch as artifact
121+
122+
COPY --from=build_webkit /output /

musl-release.sh

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/bin/bash
2+
3+
set -euxo pipefail
4+
5+
export DOCKER_BUILDKIT=1
6+
7+
export BUILDKIT_ARCH=$(uname -m)
8+
export ARCH=${BUILDKIT_ARCH}
9+
export LTO_FLAG="${LTO_FLAG:-""}"
10+
if [ "$BUILDKIT_ARCH" == "amd64" ]; then
11+
export BUILDKIT_ARCH="amd64"
12+
export ARCH=x64
13+
fi
14+
15+
if [ "$BUILDKIT_ARCH" == "x86_64" ]; then
16+
export BUILDKIT_ARCH="amd64"
17+
export ARCH=x64
18+
fi
19+
20+
if [ "$BUILDKIT_ARCH" == "arm64" ]; then
21+
export BUILDKIT_ARCH="arm64"
22+
export ARCH=aarch64
23+
fi
24+
25+
if [ "$BUILDKIT_ARCH" == "aarch64" ]; then
26+
export BUILDKIT_ARCH="arm64"
27+
export ARCH=aarch64
28+
fi
29+
30+
if [ "$BUILDKIT_ARCH" == "armv7l" ]; then
31+
echo "Unsupported platform: $BUILDKIT_ARCH"
32+
exit 1
33+
fi
34+
35+
export WEBKIT_RELEASE_TYPE=${WEBKIT_RELEASE_TYPE:-"Release"}
36+
37+
export CONTAINER_NAME=bun-webkit-linux-$BUILDKIT_ARCH
38+
39+
if [ "$WEBKIT_RELEASE_TYPE" == "relwithdebuginfo" ]; then
40+
CONTAINER_NAME=bun-webkit-linux-$BUILDKIT_ARCH-dbg
41+
fi
42+
43+
mkdir -p $temp
44+
rm -rf $temp/bun-webkit
45+
46+
docker buildx build -f Dockerfile.musl -t $CONTAINER_NAME --build-arg LTO_FLAG="$LTO_FLAG" --build-arg WEBKIT_RELEASE_TYPE=$WEBKIT_RELEASE_TYPE --progress=plain --platform=linux/$BUILDKIT_ARCH --target=artifact --output type=local,dest=$temp/bun-webkit .

0 commit comments

Comments
 (0)