From 3d7801df0553cb86d45be31627f5e8de6a124cdb Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Tue, 21 Oct 2025 20:11:21 -0700 Subject: [PATCH 01/11] build v8 with zig --- Makefile | 15 +-------------- build.zig | 39 --------------------------------------- build.zig.zon | 4 ++-- 3 files changed, 3 insertions(+), 55 deletions(-) diff --git a/Makefile b/Makefile index 0034f6b91..b32cdbe3f 100644 --- a/Makefile +++ b/Makefile @@ -47,7 +47,7 @@ help: # $(ZIG) commands # ------------ -.PHONY: build build-dev run run-release shell test bench download-zig wpt data get-v8 build-v8 build-v8-dev +.PHONY: build build-dev run run-release shell test bench download-zig wpt data .PHONY: end2end zig_version = $(shell grep 'recommended_zig_version = "' "vendor/zig-js-runtime/build.zig" | cut -d'"' -f2) @@ -112,19 +112,6 @@ end2end: @test -d ../demo cd ../demo && go run runner/main.go -## v8 -get-v8: - @printf "\e[36mGetting v8 source...\e[0m\n" - @$(ZIG) build get-v8 - -build-v8-dev: - @printf "\e[36mBuilding v8 (dev)...\e[0m\n" - @$(ZIG) build build-v8 - -build-v8: - @printf "\e[36mBuilding v8...\e[0m\n" - @$(ZIG) build -Doptimize=ReleaseSafe build-v8 - # Install and build required dependencies commands # ------------ .PHONY: install-submodule diff --git a/build.zig b/build.zig index e206b9eb9..2ae4df512 100644 --- a/build.zig +++ b/build.zig @@ -131,24 +131,6 @@ pub fn build(b: *Build) !void { const wpt_step = b.step("wpt", "WPT tests"); wpt_step.dependOn(&wpt_cmd.step); } - - { - // get v8 - // ------- - const v8 = b.dependency("v8", .{ .target = target, .optimize = optimize }); - const get_v8 = b.addRunArtifact(v8.artifact("get-v8")); - const get_step = b.step("get-v8", "Get v8"); - get_step.dependOn(&get_v8.step); - } - - { - // build v8 - // ------- - const v8 = b.dependency("v8", .{ .target = target, .optimize = optimize }); - const build_v8 = b.addRunArtifact(v8.artifact("build-v8")); - const build_step = b.step("build-v8", "Build v8"); - build_step.dependOn(&build_v8.step); - } } fn addDependencies(b: *Build, mod: *Build.Module, opts: *Build.Step.Options) !void { @@ -172,27 +154,6 @@ fn addDependencies(b: *Build, mod: *Build.Module, opts: *Build.Step.Options) !vo v8_mod.addOptions("default_exports", v8_opts); mod.addImport("v8", v8_mod); - const release_dir = if (mod.optimize.? == .Debug) "debug" else "release"; - const os = switch (target.result.os.tag) { - .linux => "linux", - .macos => "macos", - else => return error.UnsupportedPlatform, - }; - var lib_path = try std.fmt.allocPrint( - mod.owner.allocator, - "v8/out/{s}/{s}/obj/zig/libc_v8.a", - .{ os, release_dir }, - ); - std.fs.cwd().access(lib_path, .{}) catch { - // legacy path - lib_path = try std.fmt.allocPrint( - mod.owner.allocator, - "v8/out/{s}/obj/zig/libc_v8.a", - .{release_dir}, - ); - }; - mod.addObjectFile(mod.owner.path(lib_path)); - switch (target.result.os.tag) { .macos => { // v8 has a dependency, abseil-cpp, which, on Mac, uses CoreFoundation diff --git a/build.zig.zon b/build.zig.zon index 02b217df6..3bf5374b3 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -5,8 +5,8 @@ .fingerprint = 0xda130f3af836cea0, .dependencies = .{ .v8 = .{ - .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/84cdca7cd9065f67c7933388f2091810fc485bc6.tar.gz", - .hash = "v8-0.0.0-xddH67vcAwCuN2gBsAO8TBzEw523KMroIKGrdZwc-Q-y", + .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/fbefa84efdf1b5c1401c930cdc5e99aee508a1f9.tar.gz", + .hash = "v8-0.0.0-xddH62UlBAC-QfZy4qD6pF87wF8VjY54IOTu8SnFV4ub", }, //.v8 = .{ .path = "../zig-v8-fork" } .@"ada-singleheader" = .{ From d2c90486da2fc578ffca1459de8efb5e012b9bf2 Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Sat, 25 Oct 2025 20:13:47 -0700 Subject: [PATCH 02/11] use prebuilt v8 --- build.zig | 18 ++++++------------ build.zig.zon | 4 ++-- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/build.zig b/build.zig index 2ae4df512..eeb88ef3d 100644 --- a/build.zig +++ b/build.zig @@ -46,6 +46,8 @@ pub fn build(b: *Build) !void { b.option([]const u8, "git_commit", "Current git commit") orelse "dev", ); + const prebuilt_v8_path = b.option([]const u8, "prebuilt_v8_path", "Path to prebuilt libc_v8.a"); + const target = b.standardTargetOptions(.{}); const optimize = b.standardOptimizeOption(.{}); @@ -59,7 +61,7 @@ pub fn build(b: *Build) !void { .link_libc = true, .link_libcpp = true, }); - try addDependencies(b, lightpanda_module, opts); + try addDependencies(b, lightpanda_module, opts, prebuilt_v8_path); { // browser @@ -113,7 +115,7 @@ pub fn build(b: *Build) !void { .target = target, .optimize = optimize, }); - try addDependencies(b, wpt_module, opts); + try addDependencies(b, wpt_module, opts, prebuilt_v8_path); // compile and install const wpt = b.addExecutable(.{ @@ -133,7 +135,7 @@ pub fn build(b: *Build) !void { } } -fn addDependencies(b: *Build, mod: *Build.Module, opts: *Build.Step.Options) !void { +fn addDependencies(b: *Build, mod: *Build.Module, opts: *Build.Step.Options, prebuilt_v8_path: ?[]const u8) !void { try moduleNetSurf(b, mod); mod.addImport("build_config", opts.createModule()); @@ -141,6 +143,7 @@ fn addDependencies(b: *Build, mod: *Build.Module, opts: *Build.Step.Options) !vo const dep_opts = .{ .target = target, .optimize = mod.optimize.?, + .prebuilt_v8_path = prebuilt_v8_path, }; mod.addIncludePath(b.path("vendor/lightpanda")); @@ -153,15 +156,6 @@ fn addDependencies(b: *Build, mod: *Build.Module, opts: *Build.Step.Options) !vo const v8_mod = b.dependency("v8", dep_opts).module("v8"); v8_mod.addOptions("default_exports", v8_opts); mod.addImport("v8", v8_mod); - - switch (target.result.os.tag) { - .macos => { - // v8 has a dependency, abseil-cpp, which, on Mac, uses CoreFoundation - mod.addSystemFrameworkPath(.{ .cwd_relative = "/System/Library/Frameworks" }); - mod.linkFramework("CoreFoundation", .{}); - }, - else => {}, - } } { diff --git a/build.zig.zon b/build.zig.zon index 3bf5374b3..e7350a584 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -5,8 +5,8 @@ .fingerprint = 0xda130f3af836cea0, .dependencies = .{ .v8 = .{ - .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/fbefa84efdf1b5c1401c930cdc5e99aee508a1f9.tar.gz", - .hash = "v8-0.0.0-xddH62UlBAC-QfZy4qD6pF87wF8VjY54IOTu8SnFV4ub", + .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/543fb7b40a0e139ebe38e1401942b6506222daf3.tar.gz", + .hash = "v8-0.0.0-xddH6-kmBAAdoG6goGoo3pMwzfL73XiFgcj82vYbLym4", }, //.v8 = .{ .path = "../zig-v8-fork" } .@"ada-singleheader" = .{ From b0f0df56322d6671378589feb34d9b0fcfbc1817 Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Wed, 5 Nov 2025 07:43:09 -0800 Subject: [PATCH 03/11] use zig-v8-fork gclient commit --- build.zig.zon | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index e7350a584..493c445e4 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -5,10 +5,10 @@ .fingerprint = 0xda130f3af836cea0, .dependencies = .{ .v8 = .{ - .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/543fb7b40a0e139ebe38e1401942b6506222daf3.tar.gz", - .hash = "v8-0.0.0-xddH6-kmBAAdoG6goGoo3pMwzfL73XiFgcj82vYbLym4", + .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/b23990c358e2b893f19ad639903459e10c4793c4.tar.gz", + .hash = "v8-0.0.0-xddH69T4AwBChPFqIhL9GP8BpkPHGRyxpGrt9YS5mNHW", }, - //.v8 = .{ .path = "../zig-v8-fork" } + // .v8 = .{ .path = "../zig-v8-fork" }, .@"ada-singleheader" = .{ .url = "https://github.com/ada-url/ada/releases/download/v3.3.0/singleheader.zip", .hash = "N-V-__8AAPmhFAAw64ALjlzd5YMtzpSrmZ6KymsT84BKfB4s", From 9477a8be422733dc29262b4936d25aef429516bc Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Wed, 19 Nov 2025 09:39:43 -0800 Subject: [PATCH 04/11] wip use local zig-v8-fork --- build.zig.zon | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index 493c445e4..eaa7205e7 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -4,11 +4,11 @@ .version = "0.0.0", .fingerprint = 0xda130f3af836cea0, .dependencies = .{ - .v8 = .{ - .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/b23990c358e2b893f19ad639903459e10c4793c4.tar.gz", - .hash = "v8-0.0.0-xddH69T4AwBChPFqIhL9GP8BpkPHGRyxpGrt9YS5mNHW", - }, - // .v8 = .{ .path = "../zig-v8-fork" }, + // .v8 = .{ + // .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/b23990c358e2b893f19ad639903459e10c4793c4.tar.gz", + // .hash = "v8-0.0.0-xddH69T4AwBChPFqIhL9GP8BpkPHGRyxpGrt9YS5mNHW", + // }, + .v8 = .{ .path = "../zig-v8-fork" }, .@"ada-singleheader" = .{ .url = "https://github.com/ada-url/ada/releases/download/v3.3.0/singleheader.zip", .hash = "N-V-__8AAPmhFAAw64ALjlzd5YMtzpSrmZ6KymsT84BKfB4s", From 4cbd1da74977eef1127de51cba0996e6e9c183d2 Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Tue, 25 Nov 2025 18:08:24 +0100 Subject: [PATCH 05/11] update v8 to gclient branch --- build.zig.zon | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index eaa7205e7..4259ba803 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -4,11 +4,11 @@ .version = "0.0.0", .fingerprint = 0xda130f3af836cea0, .dependencies = .{ - // .v8 = .{ - // .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/b23990c358e2b893f19ad639903459e10c4793c4.tar.gz", - // .hash = "v8-0.0.0-xddH69T4AwBChPFqIhL9GP8BpkPHGRyxpGrt9YS5mNHW", - // }, - .v8 = .{ .path = "../zig-v8-fork" }, + .v8 = .{ + .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/e6e0d07b7760ee0d1a3304152a2a037cdf06f214.tar.gz", + .hash = "v8-0.0.0-xddH6yQABACnW_8QSw-kCHqyNpG7a7RZK72LMQOxi8fl", + }, + //.v8 = .{ .path = "../zig-v8-fork" }, .@"ada-singleheader" = .{ .url = "https://github.com/ada-url/ada/releases/download/v3.3.0/singleheader.zip", .hash = "N-V-__8AAPmhFAAw64ALjlzd5YMtzpSrmZ6KymsT84BKfB4s", From 90f6495e93c95e3a134547c047c1a019167a9eb9 Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Wed, 26 Nov 2025 11:00:18 +0100 Subject: [PATCH 06/11] ci: update install workflow according to v8 changes --- .github/actions/install/action.yml | 7 ++----- .github/workflows/build.yml | 8 ++++---- .github/workflows/e2e-test.yml | 2 +- .github/workflows/zig-test.yml | 4 ++-- Dockerfile | 6 +++--- README.md | 16 ---------------- 6 files changed, 12 insertions(+), 31 deletions(-) diff --git a/.github/actions/install/action.yml b/.github/actions/install/action.yml index e9864c01d..653417ea7 100644 --- a/.github/actions/install/action.yml +++ b/.github/actions/install/action.yml @@ -61,11 +61,8 @@ runs: - name: install v8 shell: bash run: | - mkdir -p v8/out/${{ inputs.os }}/debug/obj/zig/ - ln -s ${{ inputs.cache-dir }}/v8/libc_v8.a v8/out/${{ inputs.os }}/debug/obj/zig/libc_v8.a - - mkdir -p v8/out/${{ inputs.os }}/release/obj/zig/ - ln -s ${{ inputs.cache-dir }}/v8/libc_v8.a v8/out/${{ inputs.os }}/release/obj/zig/libc_v8.a + mkdir -p v8 + ln -s ${{ inputs.cache-dir }}/v8/libc_v8.a v8/libc_v8.a - name: Cache libiconv id: cache-libiconv diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index df16af4c9..f1e3c9723 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,7 +38,7 @@ jobs: arch: ${{env.ARCH}} - name: zig build - run: zig build --release=safe -Doptimize=ReleaseSafe -Dcpu=x86_64 -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dprebuilt_v8_path=v8 -Doptimize=ReleaseSafe -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 }} @@ -76,7 +76,7 @@ jobs: arch: ${{env.ARCH}} - name: zig build - run: zig build --release=safe -Doptimize=ReleaseSafe -Dcpu=generic -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dprebuilt_v8_path=v8 -Doptimize=ReleaseSafe -Dcpu=generic -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) - name: Rename binary run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }} @@ -116,7 +116,7 @@ jobs: arch: ${{env.ARCH}} - name: zig build - run: zig build --release=safe -Doptimize=ReleaseSafe -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dprebuilt_v8_path=v8 -Doptimize=ReleaseSafe -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) - name: Rename binary run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }} @@ -159,7 +159,7 @@ jobs: arch: ${{env.ARCH}} - name: zig build - run: zig build --release=safe -Doptimize=ReleaseSafe -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dprebuilt_v8_path=v8 -Doptimize=ReleaseSafe -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/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml index 62cff3b18..d28e6fbe7 100644 --- a/.github/workflows/e2e-test.yml +++ b/.github/workflows/e2e-test.yml @@ -58,7 +58,7 @@ jobs: - uses: ./.github/actions/install - name: zig build release - run: zig build -Doptimize=ReleaseFast -Dcpu=x86_64 -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dprebuilt_v8_path=v8 -Doptimize=ReleaseFast -Dcpu=x86_64 -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) - name: upload artifact uses: actions/upload-artifact@v4 diff --git a/.github/workflows/zig-test.yml b/.github/workflows/zig-test.yml index f90a6e870..8c395f88d 100644 --- a/.github/workflows/zig-test.yml +++ b/.github/workflows/zig-test.yml @@ -56,7 +56,7 @@ jobs: - uses: ./.github/actions/install - name: zig build debug - run: zig build + run: zig build -Dprebuilt_v8_path=v8 - name: upload artifact uses: actions/upload-artifact@v4 @@ -104,7 +104,7 @@ jobs: - uses: ./.github/actions/install - name: zig build test - run: zig build test -- --json > bench.json + run: zig build -Dprebuilt_v8_path=v8 test -- --json > bench.json - name: write commit run: | diff --git a/Dockerfile b/Dockerfile index 919a9a658..7c0103981 100644 --- a/Dockerfile +++ b/Dockerfile @@ -50,11 +50,11 @@ RUN case $TARGETPLATFORM in \ *) ARCH="x86_64" ;; \ esac && \ 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 && \ - mkdir -p v8/out/linux/release/obj/zig/ && \ - mv libc_v8.a v8/out/linux/release/obj/zig/libc_v8.a + mkdir -p v8/ && \ + mv libc_v8.a v8/libc_v8.a # build release -RUN make build +RUN zig build -Doptimize=ReleaseSafe -Dprebuilt_v8_path=v8 -Dgit_commit=$$(git rev-parse --short HEAD) FROM debian:stable-slim diff --git a/README.md b/README.md index bad00ce58..7f12d5734 100644 --- a/README.md +++ b/README.md @@ -246,22 +246,6 @@ Note: when Mimalloc is built in dev mode, you can dump memory stats with the env var `MIMALLOC_SHOW_STATS=1`. See [https://microsoft.github.io/mimalloc/environment.html](https://microsoft.github.io/mimalloc/environment.html). -**v8** - -First, get the tools necessary for building V8, as well as the V8 source code: - -``` -make get-v8 -``` - -Next, build v8. This build task is very long and cpu consuming, as you will build v8 from sources. - -``` -make build-v8 -``` - -For dev env, use `make build-v8-dev`. - ## Test ### Unit Tests From c5ab10cf43ec15be903346c4bd17987e1697ca87 Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Wed, 26 Nov 2025 21:36:30 -0800 Subject: [PATCH 07/11] use new version of zig-v8-fork --- build.zig | 1 + build.zig.zon | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/build.zig b/build.zig index eeb88ef3d..bcb24d546 100644 --- a/build.zig +++ b/build.zig @@ -144,6 +144,7 @@ fn addDependencies(b: *Build, mod: *Build.Module, opts: *Build.Step.Options, pre .target = target, .optimize = mod.optimize.?, .prebuilt_v8_path = prebuilt_v8_path, + .v8_cache_root = b.cache_root.path orelse "./", }; mod.addIncludePath(b.path("vendor/lightpanda")); diff --git a/build.zig.zon b/build.zig.zon index 4259ba803..d008eac28 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -5,10 +5,10 @@ .fingerprint = 0xda130f3af836cea0, .dependencies = .{ .v8 = .{ - .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/e6e0d07b7760ee0d1a3304152a2a037cdf06f214.tar.gz", - .hash = "v8-0.0.0-xddH6yQABACnW_8QSw-kCHqyNpG7a7RZK72LMQOxi8fl", + .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/5d891273bdbcc55f040a92d5d7ec9a3c5310d714.tar.gz", + .hash = "v8-0.0.0-xddH68EABAC7OHTYVpDL9Ah3puTYCtH4gdBbwpHAJ2U8", }, - //.v8 = .{ .path = "../zig-v8-fork" }, + // .v8 = .{ .path = "../zig-v8-fork" }, .@"ada-singleheader" = .{ .url = "https://github.com/ada-url/ada/releases/download/v3.3.0/singleheader.zip", .hash = "N-V-__8AAPmhFAAw64ALjlzd5YMtzpSrmZ6KymsT84BKfB4s", From 883719364305228cd2954203a5e4aa57d26e4c38 Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Wed, 26 Nov 2025 21:41:49 -0800 Subject: [PATCH 08/11] point zig directly to cached libc_v8.a --- .github/workflows/build.yml | 8 ++++---- .github/workflows/e2e-test.yml | 2 +- .github/workflows/zig-test.yml | 4 ++-- Dockerfile | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f1e3c9723..98abeffdd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,7 +38,7 @@ jobs: arch: ${{env.ARCH}} - name: zig build - run: zig build -Dprebuilt_v8_path=v8 -Doptimize=ReleaseSafe -Dcpu=x86_64 -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseSafe -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 }} @@ -76,7 +76,7 @@ jobs: arch: ${{env.ARCH}} - name: zig build - run: zig build -Dprebuilt_v8_path=v8 -Doptimize=ReleaseSafe -Dcpu=generic -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseSafe -Dcpu=generic -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) - name: Rename binary run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }} @@ -116,7 +116,7 @@ jobs: arch: ${{env.ARCH}} - name: zig build - run: zig build -Dprebuilt_v8_path=v8 -Doptimize=ReleaseSafe -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseSafe -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) - name: Rename binary run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }} @@ -159,7 +159,7 @@ jobs: arch: ${{env.ARCH}} - name: zig build - run: zig build -Dprebuilt_v8_path=v8 -Doptimize=ReleaseSafe -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseSafe -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/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml index d28e6fbe7..b436ad359 100644 --- a/.github/workflows/e2e-test.yml +++ b/.github/workflows/e2e-test.yml @@ -58,7 +58,7 @@ jobs: - uses: ./.github/actions/install - name: zig build release - run: zig build -Dprebuilt_v8_path=v8 -Doptimize=ReleaseFast -Dcpu=x86_64 -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) + run: zig build -Dprebuilt_v8_path=v8/libc_v8.a -Doptimize=ReleaseFast -Dcpu=x86_64 -Dgit_commit=$(git rev-parse --short ${{ github.sha }}) - name: upload artifact uses: actions/upload-artifact@v4 diff --git a/.github/workflows/zig-test.yml b/.github/workflows/zig-test.yml index 8c395f88d..db54a8936 100644 --- a/.github/workflows/zig-test.yml +++ b/.github/workflows/zig-test.yml @@ -56,7 +56,7 @@ jobs: - uses: ./.github/actions/install - name: zig build debug - run: zig build -Dprebuilt_v8_path=v8 + run: zig build -Dprebuilt_v8_path=v8/libc_v8.a - name: upload artifact uses: actions/upload-artifact@v4 @@ -104,7 +104,7 @@ jobs: - uses: ./.github/actions/install - name: zig build test - run: zig build -Dprebuilt_v8_path=v8 test -- --json > bench.json + run: zig build -Dprebuilt_v8_path=v8/libc_v8.a test -- --json > bench.json - name: write commit run: | diff --git a/Dockerfile b/Dockerfile index 7c0103981..1b3a2e5d1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -54,7 +54,7 @@ RUN case $TARGETPLATFORM in \ mv libc_v8.a v8/libc_v8.a # build release -RUN zig build -Doptimize=ReleaseSafe -Dprebuilt_v8_path=v8 -Dgit_commit=$$(git rev-parse --short HEAD) +RUN zig build -Doptimize=ReleaseSafe -Dprebuilt_v8_path=v8/libc_v8.a -Dgit_commit=$$(git rev-parse --short HEAD) FROM debian:stable-slim From 28e1d6e8c8a73e24552393aafd6fc53a7bab77f7 Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Thu, 4 Dec 2025 09:03:41 +0100 Subject: [PATCH 09/11] bump zig-v8 --- build.zig.zon | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.zig.zon b/build.zig.zon index d008eac28..515a26bdf 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -5,8 +5,8 @@ .fingerprint = 0xda130f3af836cea0, .dependencies = .{ .v8 = .{ - .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/5d891273bdbcc55f040a92d5d7ec9a3c5310d714.tar.gz", - .hash = "v8-0.0.0-xddH68EABAC7OHTYVpDL9Ah3puTYCtH4gdBbwpHAJ2U8", + .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/01180f73bbf647a51e86778e34a2879eae47e7ec.tar.gz", + .hash = "v8-0.0.0-xddH6x8EBADxksPyjuglYL46iImoktNGf4S0qE05B_o2", }, // .v8 = .{ .path = "../zig-v8-fork" }, .@"ada-singleheader" = .{ From 2e45d547c2519f7826e52545b9002179b7b0e68b Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Thu, 4 Dec 2025 09:04:38 +0100 Subject: [PATCH 10/11] bump zig v8 version --- .github/actions/install/action.yml | 2 +- Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/install/action.yml b/.github/actions/install/action.yml index 653417ea7..0029d22ec 100644 --- a/.github/actions/install/action.yml +++ b/.github/actions/install/action.yml @@ -17,7 +17,7 @@ inputs: zig-v8: description: 'zig v8 version to install' required: false - default: 'v0.1.33' + default: 'v0.1.35' v8: description: 'v8 version to install' required: false diff --git a/Dockerfile b/Dockerfile index 1b3a2e5d1..a8dbaa70c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ ARG MINISIG=0.12 ARG ZIG=0.15.2 ARG ZIG_MINISIG=RWSGOq2NVecA2UPNdBUZykf1CCb147pkmdtYxgb3Ti+JO/wCYvhbAb/U ARG V8=14.0.365.4 -ARG ZIG_V8=v0.1.33 +ARG ZIG_V8=v0.1.34 ARG TARGETPLATFORM RUN apt-get update -yq && \ From 641c6c3f4261e3972af9ae4199acb8646f19b404 Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Fri, 5 Dec 2025 07:30:57 -0800 Subject: [PATCH 11/11] update to new zig-v8-fork --- .gitignore | 1 + build.zig | 2 +- build.zig.zon | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ad9ae7b45..f29aa1e88 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ zig-cache /.zig-cache/ +/.lp-cache/ zig-out /vendor/netsurf/out /vendor/libiconv/ diff --git a/build.zig b/build.zig index bcb24d546..abed283c1 100644 --- a/build.zig +++ b/build.zig @@ -144,7 +144,7 @@ fn addDependencies(b: *Build, mod: *Build.Module, opts: *Build.Step.Options, pre .target = target, .optimize = mod.optimize.?, .prebuilt_v8_path = prebuilt_v8_path, - .v8_cache_root = b.cache_root.path orelse "./", + .cache_root = b.pathFromRoot(".lp-cache"), }; mod.addIncludePath(b.path("vendor/lightpanda")); diff --git a/build.zig.zon b/build.zig.zon index 515a26bdf..e63e36dd5 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -5,8 +5,8 @@ .fingerprint = 0xda130f3af836cea0, .dependencies = .{ .v8 = .{ - .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/01180f73bbf647a51e86778e34a2879eae47e7ec.tar.gz", - .hash = "v8-0.0.0-xddH6x8EBADxksPyjuglYL46iImoktNGf4S0qE05B_o2", + .url = "https://github.com/lightpanda-io/zig-v8-fork/archive/e047d2a4d5af5783763f0f6a652fab8982a08603.tar.gz", + .hash = "v8-0.0.0-xddH65gMBACRBQMM7EwmVgfi94FJyyX-0jpe5KhXYhfv", }, // .v8 = .{ .path = "../zig-v8-fork" }, .@"ada-singleheader" = .{