diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3c45cce7..d940c9d6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,8 +38,11 @@ jobs: arch: ${{env.ARCH}} mode: 'release' + - name: v8 snapshot + run: zig build -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseFast snapshot_creator -- src/snapshot.bin + - name: zig build - run: zig build -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseFast -Dcpu=x86_64 -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dsnapshot_path=../../snapshot.bin -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseFast -Dcpu=x86_64 -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) - name: Rename binary run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }} @@ -77,8 +80,11 @@ jobs: arch: ${{env.ARCH}} mode: 'release' + - name: v8 snapshot + run: zig build -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseFast snapshot_creator -- src/snapshot.bin + - name: zig build - run: zig build -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseFast -Dcpu=generic -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dsnapshot_path=../../snapshot.bin -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseFast -Dcpu=generic -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) - name: Rename binary run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }} @@ -118,8 +124,11 @@ jobs: arch: ${{env.ARCH}} mode: 'release' + - name: v8 snapshot + run: zig build -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseFast snapshot_creator -- src/snapshot.bin + - name: zig build - run: zig build -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseFast -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dsnapshot_path=../../snapshot.bin -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseFast -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) - name: Rename binary run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }} @@ -157,8 +166,11 @@ jobs: arch: ${{env.ARCH}} mode: 'release' + - name: v8 snapshot + run: zig build -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseFast snapshot_creator -- src/snapshot.bin + - name: zig build - run: zig build -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseFast -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dsnapshot_path=../../snapshot.bin -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseFast -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) - name: Rename binary run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }} diff --git a/Dockerfile b/Dockerfile index 516c3856..e064621e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -48,8 +48,16 @@ RUN case $TARGETPLATFORM in \ mkdir -p v8/ && \ mv libc_v8.a v8/libc_v8.a +# build v8 snapshot +RUN zig build -Doptimize=ReleaseFast \ + -Dprebuilt_v8_path=v8/libc_v8.a \ + snapshot_creator -- src/snapshot.bin + # build release -RUN zig build -Doptimize=ReleaseFast -Dprebuilt_v8_path=v8/libc_v8.a -Dgit_commit=$(git rev-parse --short HEAD) +RUN zig build -Doptimize=ReleaseFast \ + -Dsnapshot_path=../../snapshot.bin \ + -Dprebuilt_v8_path=v8/libc_v8.a \ + -Dgit_commit=$(git rev-parse --short HEAD) FROM debian:stable-slim diff --git a/Makefile b/Makefile index 813eaffd..8adfa092 100644 --- a/Makefile +++ b/Makefile @@ -47,12 +47,18 @@ help: # $(ZIG) commands # ------------ -.PHONY: build build-dev run run-release shell test bench wpt data end2end +.PHONY: build build-v8-snapshot build-dev run run-release shell test bench wpt data end2end + +## Build v8 snapshot +build-v8-snapshot: + @printf "\033[36mBuilding v8 snapshot (release safe)...\033[0m\n" + @$(ZIG) build -Doptimize=ReleaseFast snapshot_creator -- src/snapshot.bin || (printf "\033[33mBuild ERROR\033[0m\n"; exit 1;) + @printf "\033[33mBuild OK\033[0m\n" ## Build in release-fast mode -build: +build: build-v8-snapshot @printf "\033[36mBuilding (release safe)...\033[0m\n" - @$(ZIG) build -Doptimize=ReleaseFast -Dgit_commit=$$(git rev-parse --short HEAD) || (printf "\033[33mBuild ERROR\033[0m\n"; exit 1;) + @$(ZIG) build -Doptimize=ReleaseFast -Dsnapshot_path=../../snapshot.bin -Dgit_commit=$$(git rev-parse --short HEAD) || (printf "\033[33mBuild ERROR\033[0m\n"; exit 1;) @printf "\033[33mBuild OK\033[0m\n" ## Build in debug mode