Skip to content

Commit 4394186

Browse files
Merge pull request #469 from lightpanda-io/linux_aarch64
Linux aarch64 build
2 parents 48d01c0 + 725b48d commit 4394186

File tree

3 files changed

+52
-17
lines changed

3 files changed

+52
-17
lines changed

.github/actions/install/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ inputs:
1717
zig-v8:
1818
description: 'zig v8 version to install'
1919
required: false
20-
default: 'v0.1.11'
20+
default: 'v0.1.12'
2121
v8:
2222
description: 'v8 version to install'
2323
required: false

.github/workflows/build.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ jobs:
2626
submodules: recursive
2727

2828
- uses: ./.github/actions/install
29+
with:
30+
os: ${{env.OS}}
31+
arch: ${{env.ARCH}}
2932

3033
- name: zig build
3134
run: zig build --release=safe -Doptimize=ReleaseSafe -Dengine=v8 -Dcpu=x86_64 -Dgit_commit=$(git rev-parse --short ${{ github.sha }})
@@ -40,6 +43,38 @@ jobs:
4043
artifacts: lightpanda-${{ env.ARCH }}-${{ env.OS }}
4144
tag: nightly
4245

46+
build-linux-aarch64:
47+
env:
48+
ARCH: aarch64
49+
OS: linux
50+
51+
runs-on: ubuntu-22.04-arm
52+
53+
steps:
54+
- uses: actions/checkout@v4
55+
with:
56+
fetch-depth: 0
57+
# fetch submodules recusively, to get zig-js-runtime submodules also.
58+
submodules: recursive
59+
60+
- uses: ./.github/actions/install
61+
with:
62+
os: ${{env.OS}}
63+
arch: ${{env.ARCH}}
64+
65+
- name: zig build
66+
run: zig build --release=safe -Doptimize=ReleaseSafe -Dengine=v8 -Dgit_commit=$(git rev-parse --short ${{ github.sha }})
67+
68+
- name: Rename binary
69+
run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }}
70+
71+
- name: Upload the build
72+
uses: ncipollo/release-action@v1
73+
with:
74+
allowUpdates: true
75+
artifacts: lightpanda-${{ env.ARCH }}-${{ env.OS }}
76+
tag: nightly
77+
4378
build-macos-aarch64:
4479
env:
4580
ARCH: aarch64

Dockerfile

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
FROM ubuntu:22.04
1+
FROM ubuntu:24.04
22

3+
ARG MINISIG=0.12
34
ARG ZIG=0.13.0
45
ARG ZIG_MINISIG=RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U
5-
ARG OS=linux
66
ARG ARCH=x86_64
77
ARG V8=11.1.134
8-
ARG ZIG_V8=v0.1.11
8+
ARG ZIG_V8=v0.1.12
99

1010
RUN apt-get update -yq && \
1111
apt-get install -yq xz-utils \
@@ -16,25 +16,25 @@ RUN apt-get update -yq && \
1616
curl git
1717

1818
# install minisig
19-
RUN curl -L -O https://github.com/jedisct1/minisign/releases/download/0.11/minisign-0.11-linux.tar.gz && \
20-
tar xvzf minisign-0.11-linux.tar.gz
19+
RUN curl --fail -L -O https://github.com/jedisct1/minisign/releases/download/${MINISIG}/minisign-${MINISIG}-linux.tar.gz && \
20+
tar xvzf minisign-${MINISIG}-linux.tar.gz
2121

2222
# install zig
23-
RUN curl -O https://ziglang.org/download/${ZIG}/zig-linux-x86_64-${ZIG}.tar.xz && \
24-
curl -O https://ziglang.org/download/${ZIG}/zig-linux-x86_64-${ZIG}.tar.xz.minisig
23+
RUN curl --fail -L -O https://ziglang.org/download/${ZIG}/zig-linux-${ARCH}-${ZIG}.tar.xz
24+
RUN curl --fail -L -O https://ziglang.org/download/${ZIG}/zig-linux-${ARCH}-${ZIG}.tar.xz.minisig
2525

26-
RUN minisign-linux/x86_64/minisign -Vm zig-linux-x86_64-${ZIG}.tar.xz -P ${ZIG_MINISIG}
26+
RUN minisign-linux/${ARCH}/minisign -Vm zig-linux-${ARCH}-${ZIG}.tar.xz -P ${ZIG_MINISIG}
2727

2828
# clean minisg
2929
RUN rm -fr minisign-0.11-linux.tar.gz minisign-linux
3030

3131
# install zig
32-
RUN tar xvf zig-linux-x86_64-${ZIG}.tar.xz && \
33-
mv zig-linux-x86_64-${ZIG} /usr/local/lib && \
34-
ln -s /usr/local/lib/zig-linux-x86_64-${ZIG}/zig /usr/local/bin/zig
32+
RUN tar xvf zig-linux-${ARCH}-${ZIG}.tar.xz && \
33+
mv zig-linux-${ARCH}-${ZIG} /usr/local/lib && \
34+
ln -s /usr/local/lib/zig-linux-${ARCH}-${ZIG}/zig /usr/local/bin/zig
3535

3636
# clean up zig install
37-
RUN rm -fr zig-linux-x86_64-${ZIG}.tar.xz zig-linux-x86_64-${ZIG}.tar.xz.minisig
37+
RUN rm -fr zig-linux-${ARCH}-${ZIG}.tar.xz zig-linux-${ARCH}-${ZIG}.tar.xz.minisig
3838

3939
# force use of http instead of ssh with github
4040
RUN cat <<EOF > /root/.gitconfig
@@ -60,14 +60,14 @@ RUN make install-libiconv && \
6060
make install-mimalloc
6161

6262
# download and install v8
63-
RUN curl -L -o libc_v8.a https://github.com/lightpanda-io/zig-v8-fork/releases/download/${ZIG_V8}/libc_v8_${V8}_${OS}_${ARCH}.a && \
64-
mkdir -p vendor/zig-js-runtime/vendor/v8/${ARCH}-${OS}/release && \
65-
mv libc_v8.a vendor/zig-js-runtime/vendor/v8/${ARCH}-${OS}/release/libc_v8.a
63+
RUN curl --fail -L -o libc_v8.a https://github.com/lightpanda-io/zig-v8-fork/releases/download/${ZIG_V8}/libc_v8_${V8}_linux_${ARCH}.a && \
64+
mkdir -p vendor/zig-js-runtime/vendor/v8/${ARCH}-linux/release && \
65+
mv libc_v8.a vendor/zig-js-runtime/vendor/v8/${ARCH}-linux/release/libc_v8.a
6666

6767
# build release
6868
RUN make build
6969

70-
FROM ubuntu:22.04
70+
FROM ubuntu:24.04
7171

7272
# copy ca certificates
7373
COPY --from=0 /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt

0 commit comments

Comments
 (0)