mirror of
https://github.com/lightpanda-io/browser.git
synced 2025-10-28 22:53:28 +00:00
work on fixing github workflows
This commit is contained in:
8
.github/actions/install/action.yml
vendored
8
.github/actions/install/action.yml
vendored
@@ -59,11 +59,11 @@ runs:
|
|||||||
- name: install v8
|
- name: install v8
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
mkdir -p vendor/zig-js-runtime/vendor/v8/${{inputs.arch}}-${{inputs.os}}/debug
|
mkdir -p v8/build/${{inputs.arch}}-${{inputs.os}}/debug/ninja/obj/zig/
|
||||||
ln -s ${{ inputs.cache-dir }}/v8/libc_v8.a vendor/zig-js-runtime/vendor/v8/${{inputs.arch}}-${{inputs.os}}/debug/libc_v8.a
|
ln -s ${{ inputs.cache-dir }}/v8/libc_v8.a v8/build/${{inputs.arch}}-${{inputs.os}}/debug/ninja/obj/zig/libc_v8.a
|
||||||
|
|
||||||
mkdir -p vendor/zig-js-runtime/vendor/v8/${{inputs.arch}}-${{inputs.os}}/release
|
mkdir -p v8/build/${{inputs.arch}}-${{inputs.os}}/release/ninja/obj/zig/
|
||||||
ln -s ${{ inputs.cache-dir }}/v8/libc_v8.a vendor/zig-js-runtime/vendor/v8/${{inputs.arch}}-${{inputs.os}}/release/libc_v8.a
|
ln -s ${{ inputs.cache-dir }}/v8/libc_v8.a v8/build/${{inputs.arch}}-${{inputs.os}}/release/ninja/obj/zig/libc_v8.a
|
||||||
|
|
||||||
- name: libiconv
|
- name: libiconv
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|||||||
8
.github/workflows/build.yml
vendored
8
.github/workflows/build.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
|||||||
arch: ${{env.ARCH}}
|
arch: ${{env.ARCH}}
|
||||||
|
|
||||||
- name: zig build
|
- name: zig build
|
||||||
run: zig build --release=safe -Doptimize=ReleaseSafe -Dengine=v8 -Dcpu=x86_64 -Dgit_commit=$(git rev-parse --short ${{ github.sha }})
|
run: zig build --release=safe -Doptimize=ReleaseSafe -Dcpu=x86_64 -Dgit_commit=$(git rev-parse --short ${{ github.sha }})
|
||||||
|
|
||||||
- name: Rename binary
|
- name: Rename binary
|
||||||
run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }}
|
run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }}
|
||||||
@@ -63,7 +63,7 @@ jobs:
|
|||||||
arch: ${{env.ARCH}}
|
arch: ${{env.ARCH}}
|
||||||
|
|
||||||
- name: zig build
|
- name: zig build
|
||||||
run: zig build --release=safe -Doptimize=ReleaseSafe -Dengine=v8 -Dgit_commit=$(git rev-parse --short ${{ github.sha }})
|
run: zig build --release=safe -Doptimize=ReleaseSafe -Dgit_commit=$(git rev-parse --short ${{ github.sha }})
|
||||||
|
|
||||||
- name: Rename binary
|
- name: Rename binary
|
||||||
run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }}
|
run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }}
|
||||||
@@ -95,7 +95,7 @@ jobs:
|
|||||||
arch: ${{env.ARCH}}
|
arch: ${{env.ARCH}}
|
||||||
|
|
||||||
- name: zig build
|
- name: zig build
|
||||||
run: zig build --release=safe -Doptimize=ReleaseSafe -Dengine=v8 -Dgit_commit=$(git rev-parse --short ${{ github.sha }})
|
run: zig build --release=safe -Doptimize=ReleaseSafe -Dgit_commit=$(git rev-parse --short ${{ github.sha }})
|
||||||
|
|
||||||
- name: Rename binary
|
- name: Rename binary
|
||||||
run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }}
|
run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }}
|
||||||
@@ -127,7 +127,7 @@ jobs:
|
|||||||
arch: ${{env.ARCH}}
|
arch: ${{env.ARCH}}
|
||||||
|
|
||||||
- name: zig build
|
- name: zig build
|
||||||
run: zig build --release=safe -Doptimize=ReleaseSafe -Dengine=v8 -Dgit_commit=$(git rev-parse --short ${{ github.sha }})
|
run: zig build --release=safe -Doptimize=ReleaseSafe -Dgit_commit=$(git rev-parse --short ${{ github.sha }})
|
||||||
|
|
||||||
- name: Rename binary
|
- name: Rename binary
|
||||||
run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }}
|
run: mv zig-out/bin/lightpanda lightpanda-${{ env.ARCH }}-${{ env.OS }}
|
||||||
|
|||||||
4
.github/workflows/e2e-test.yml
vendored
4
.github/workflows/e2e-test.yml
vendored
@@ -47,7 +47,7 @@ jobs:
|
|||||||
- uses: ./.github/actions/install
|
- uses: ./.github/actions/install
|
||||||
|
|
||||||
- name: zig build release
|
- name: zig build release
|
||||||
run: zig build -Doptimize=ReleaseSafe -Dengine=v8
|
run: zig build -Doptimize=ReleaseSafe
|
||||||
|
|
||||||
- name: upload artifact
|
- name: upload artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
@@ -86,7 +86,7 @@ jobs:
|
|||||||
- name: run puppeteer
|
- name: run puppeteer
|
||||||
run: |
|
run: |
|
||||||
python3 -m http.server 1234 -d ./public & echo $! > PYTHON.pid
|
python3 -m http.server 1234 -d ./public & echo $! > PYTHON.pid
|
||||||
./lightpanda serve & echo $! > LPD.pid
|
./lightpanda serve --gc_hints & echo $! > LPD.pid
|
||||||
RUNS=100 npm run bench-puppeteer-cdp > puppeteer.out || exit 1
|
RUNS=100 npm run bench-puppeteer-cdp > puppeteer.out || exit 1
|
||||||
cat /proc/`cat LPD.pid`/status |grep VmHWM|grep -oP '\d+' > LPD.VmHWM
|
cat /proc/`cat LPD.pid`/status |grep VmHWM|grep -oP '\d+' > LPD.VmHWM
|
||||||
kill `cat LPD.pid` `cat PYTHON.pid`
|
kill `cat LPD.pid` `cat PYTHON.pid`
|
||||||
|
|||||||
4
.github/workflows/wpt.yml
vendored
4
.github/workflows/wpt.yml
vendored
@@ -55,7 +55,7 @@ jobs:
|
|||||||
|
|
||||||
- uses: ./.github/actions/install
|
- uses: ./.github/actions/install
|
||||||
|
|
||||||
- run: zig build wpt -Dengine=v8 -- --safe --summary
|
- run: zig build wpt -- --safe --summary
|
||||||
|
|
||||||
# For now WPT tests doesn't pass at all.
|
# For now WPT tests doesn't pass at all.
|
||||||
# We accept then to continue the job on failure.
|
# We accept then to continue the job on failure.
|
||||||
@@ -80,7 +80,7 @@ jobs:
|
|||||||
- uses: ./.github/actions/install
|
- uses: ./.github/actions/install
|
||||||
|
|
||||||
- name: json output
|
- name: json output
|
||||||
run: zig build wpt -Dengine=v8 -- --safe --json > wpt.json
|
run: zig build wpt -- --safe --json > wpt.json
|
||||||
|
|
||||||
- name: write commit
|
- name: write commit
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
7
.github/workflows/zig-test.yml
vendored
7
.github/workflows/zig-test.yml
vendored
@@ -56,7 +56,7 @@ jobs:
|
|||||||
- uses: ./.github/actions/install
|
- uses: ./.github/actions/install
|
||||||
|
|
||||||
- name: zig build debug
|
- name: zig build debug
|
||||||
run: zig build -Dengine=v8
|
run: zig build
|
||||||
|
|
||||||
- name: upload artifact
|
- name: upload artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
@@ -102,11 +102,8 @@ jobs:
|
|||||||
|
|
||||||
- uses: ./.github/actions/install
|
- uses: ./.github/actions/install
|
||||||
|
|
||||||
- name: zig build unittest
|
|
||||||
run: zig build unittest -freference-trace --summary all
|
|
||||||
|
|
||||||
- name: zig build test
|
- name: zig build test
|
||||||
run: zig build test -Dengine=v8 -- --json > bench.json
|
run: zig build test -- --json > bench.json
|
||||||
|
|
||||||
- name: write commit
|
- name: write commit
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
14
Makefile
14
Makefile
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
ZIG := zig
|
ZIG := zig
|
||||||
BC := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
|
BC := $(dir $(abspath $(lastword $(MAKEFILE_LIST))))
|
||||||
# option test filter make unittest F="server"
|
# option test filter make test F="server"
|
||||||
F=
|
F=
|
||||||
|
|
||||||
# OS and ARCH
|
# OS and ARCH
|
||||||
@@ -47,7 +47,7 @@ help:
|
|||||||
|
|
||||||
# $(ZIG) commands
|
# $(ZIG) commands
|
||||||
# ------------
|
# ------------
|
||||||
.PHONY: build build-dev run run-release shell test bench download-zig wpt unittest data
|
.PHONY: build build-dev run run-release shell test bench download-zig wpt data
|
||||||
|
|
||||||
zig_version = $(shell grep 'recommended_zig_version = "' "vendor/zig-js-runtime/build.zig" | cut -d'"' -f2)
|
zig_version = $(shell grep 'recommended_zig_version = "' "vendor/zig-js-runtime/build.zig" | cut -d'"' -f2)
|
||||||
|
|
||||||
@@ -62,13 +62,13 @@ download-zig:
|
|||||||
## Build in release-safe mode
|
## Build in release-safe mode
|
||||||
build:
|
build:
|
||||||
@printf "\e[36mBuilding (release safe)...\e[0m\n"
|
@printf "\e[36mBuilding (release safe)...\e[0m\n"
|
||||||
$(ZIG) build -Doptimize=ReleaseSafe -Dengine=v8 -Dgit_commit=$$(git rev-parse --short HEAD) || (printf "\e[33mBuild ERROR\e[0m\n"; exit 1;)
|
$(ZIG) build -Doptimize=ReleaseSafe -Dgit_commit=$$(git rev-parse --short HEAD) || (printf "\e[33mBuild ERROR\e[0m\n"; exit 1;)
|
||||||
@printf "\e[33mBuild OK\e[0m\n"
|
@printf "\e[33mBuild OK\e[0m\n"
|
||||||
|
|
||||||
## Build in debug mode
|
## Build in debug mode
|
||||||
build-dev:
|
build-dev:
|
||||||
@printf "\e[36mBuilding (debug)...\e[0m\n"
|
@printf "\e[36mBuilding (debug)...\e[0m\n"
|
||||||
@$(ZIG) build -Dengine=v8 -Dgit_commit=$$(git rev-parse --short HEAD) || (printf "\e[33mBuild ERROR\e[0m\n"; exit 1;)
|
@$(ZIG) build -Dgit_commit=$$(git rev-parse --short HEAD) || (printf "\e[33mBuild ERROR\e[0m\n"; exit 1;)
|
||||||
@printf "\e[33mBuild OK\e[0m\n"
|
@printf "\e[33mBuild OK\e[0m\n"
|
||||||
|
|
||||||
## Run the server in debug mode
|
## Run the server in debug mode
|
||||||
@@ -79,16 +79,16 @@ run: build
|
|||||||
## Run a JS shell in debug mode
|
## Run a JS shell in debug mode
|
||||||
shell:
|
shell:
|
||||||
@printf "\e[36mBuilding shell...\e[0m\n"
|
@printf "\e[36mBuilding shell...\e[0m\n"
|
||||||
@$(ZIG) build shell -Dengine=v8 || (printf "\e[33mBuild ERROR\e[0m\n"; exit 1;)
|
@$(ZIG) build shell || (printf "\e[33mBuild ERROR\e[0m\n"; exit 1;)
|
||||||
|
|
||||||
## Run WPT tests
|
## Run WPT tests
|
||||||
wpt:
|
wpt:
|
||||||
@printf "\e[36mBuilding wpt...\e[0m\n"
|
@printf "\e[36mBuilding wpt...\e[0m\n"
|
||||||
@$(ZIG) build wpt -Dengine=v8 -- --safe $(filter-out $@,$(MAKECMDGOALS)) || (printf "\e[33mBuild ERROR\e[0m\n"; exit 1;)
|
@$(ZIG) build wpt -- --safe $(filter-out $@,$(MAKECMDGOALS)) || (printf "\e[33mBuild ERROR\e[0m\n"; exit 1;)
|
||||||
|
|
||||||
wpt-summary:
|
wpt-summary:
|
||||||
@printf "\e[36mBuilding wpt...\e[0m\n"
|
@printf "\e[36mBuilding wpt...\e[0m\n"
|
||||||
@$(ZIG) build wpt -Dengine=v8 -- --safe --summary $(filter-out $@,$(MAKECMDGOALS)) || (printf "\e[33mBuild ERROR\e[0m\n"; exit 1;)
|
@$(ZIG) build wpt -- --safe --summary $(filter-out $@,$(MAKECMDGOALS)) || (printf "\e[33mBuild ERROR\e[0m\n"; exit 1;)
|
||||||
|
|
||||||
## Test
|
## Test
|
||||||
test:
|
test:
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ pub fn build(b: *std.Build) !void {
|
|||||||
{
|
{
|
||||||
// get v8
|
// get v8
|
||||||
// -------
|
// -------
|
||||||
const v8 = b.dependency("v8", .{.target = target, .optimize = optimize});
|
const v8 = b.dependency("v8", .{ .target = target, .optimize = optimize });
|
||||||
const get_v8 = b.addRunArtifact(v8.artifact("get-v8"));
|
const get_v8 = b.addRunArtifact(v8.artifact("get-v8"));
|
||||||
const get_step = b.step("get-v8", "Get v8");
|
const get_step = b.step("get-v8", "Get v8");
|
||||||
get_step.dependOn(&get_v8.step);
|
get_step.dependOn(&get_v8.step);
|
||||||
@@ -85,7 +85,7 @@ pub fn build(b: *std.Build) !void {
|
|||||||
{
|
{
|
||||||
// build v8
|
// build v8
|
||||||
// -------
|
// -------
|
||||||
const v8 = b.dependency("v8", .{.target = target, .optimize = optimize});
|
const v8 = b.dependency("v8", .{ .target = target, .optimize = optimize });
|
||||||
const build_v8 = b.addRunArtifact(v8.artifact("build-v8"));
|
const build_v8 = b.addRunArtifact(v8.artifact("build-v8"));
|
||||||
const build_step = b.step("build-v8", "Build v8");
|
const build_step = b.step("build-v8", "Build v8");
|
||||||
build_step.dependOn(&build_v8.step);
|
build_step.dependOn(&build_v8.step);
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ const storage = @import("../storage/storage.zig");
|
|||||||
// https://html.spec.whatwg.org/multipage/nav-history-apis.html#window
|
// https://html.spec.whatwg.org/multipage/nav-history-apis.html#window
|
||||||
pub const Window = struct {
|
pub const Window = struct {
|
||||||
pub const prototype = *EventTarget;
|
pub const prototype = *EventTarget;
|
||||||
pub const global_type = true;
|
|
||||||
|
|
||||||
// Extend libdom event target for pure zig struct.
|
// Extend libdom event target for pure zig struct.
|
||||||
base: parser.EventTargetTBase = parser.EventTargetTBase{},
|
base: parser.EventTargetTBase = parser.EventTargetTBase{},
|
||||||
@@ -58,6 +57,7 @@ pub const Window = struct {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
pub fn replaceLocation(self: *Window, loc: Location) !void {
|
pub fn replaceLocation(self: *Window, loc: Location) !void {
|
||||||
self.location = loc;
|
self.location = loc;
|
||||||
if (self.document) |doc| {
|
if (self.document) |doc| {
|
||||||
|
|||||||
@@ -227,6 +227,7 @@ pub fn Env(comptime S: type, comptime types: anytype) type {
|
|||||||
// Hey, look! This is our first real usage of the TYPE_LOOKUP.
|
// Hey, look! This is our first real usage of the TYPE_LOOKUP.
|
||||||
// Just like we said above, given a type, we can get its
|
// Just like we said above, given a type, we can get its
|
||||||
// template index.
|
// template index.
|
||||||
|
|
||||||
const proto_index = @field(TYPE_LOOKUP, proto_name);
|
const proto_index = @field(TYPE_LOOKUP, proto_name);
|
||||||
templates[i].inherit(templates[proto_index]);
|
templates[i].inherit(templates[proto_index]);
|
||||||
}
|
}
|
||||||
@@ -366,7 +367,6 @@ pub fn Env(comptime S: type, comptime types: anytype) type {
|
|||||||
// FunctionTemplate of the isolate (in startExecutor)
|
// FunctionTemplate of the isolate (in startExecutor)
|
||||||
fn attachClass(self: *Self, comptime Struct: type, template: v8.FunctionTemplate) void {
|
fn attachClass(self: *Self, comptime Struct: type, template: v8.FunctionTemplate) void {
|
||||||
const template_proto = template.getPrototypeTemplate();
|
const template_proto = template.getPrototypeTemplate();
|
||||||
|
|
||||||
inline for (@typeInfo(Struct).@"struct".decls) |declaration| {
|
inline for (@typeInfo(Struct).@"struct".decls) |declaration| {
|
||||||
const name = declaration.name;
|
const name = declaration.name;
|
||||||
if (comptime name[0] == '_') {
|
if (comptime name[0] == '_') {
|
||||||
|
|||||||
@@ -17,14 +17,15 @@
|
|||||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
const std = @import("std");
|
const std = @import("std");
|
||||||
const parser = @import("browser/netsurf.zig");
|
const Allocator = std.mem.Allocator;
|
||||||
|
|
||||||
pub const allocator = std.testing.allocator;
|
pub const allocator = std.testing.allocator;
|
||||||
pub const expectError = std.testing.expectError;
|
pub const expectError = std.testing.expectError;
|
||||||
pub const expectString = std.testing.expectEqualStrings;
|
pub const expectString = std.testing.expectEqualStrings;
|
||||||
pub const expectEqualSlices = std.testing.expectEqualSlices;
|
pub const expectEqualSlices = std.testing.expectEqualSlices;
|
||||||
|
|
||||||
const App = @import("app.zig").App;
|
const App = @import("app.zig").App;
|
||||||
const Allocator = std.mem.Allocator;
|
const parser = @import("browser/netsurf.zig");
|
||||||
|
|
||||||
// Merged std.testing.expectEqual and std.testing.expectString
|
// Merged std.testing.expectEqual and std.testing.expectString
|
||||||
// can be useful when testing fields of an anytype an you don't know
|
// can be useful when testing fields of an anytype an you don't know
|
||||||
@@ -388,10 +389,8 @@ pub const JsRunner = struct {
|
|||||||
errdefer runner.env.deinit();
|
errdefer runner.env.deinit();
|
||||||
|
|
||||||
runner.url = try URL.parse("https://lightpanda.io/opensource-browser/", null);
|
runner.url = try URL.parse("https://lightpanda.io/opensource-browser/", null);
|
||||||
errdefer runner.env.deinit();
|
|
||||||
|
|
||||||
runner.renderer = Renderer.init(arena);
|
runner.renderer = Renderer.init(arena);
|
||||||
|
|
||||||
runner.cookie_jar = storage.CookieJar.init(arena);
|
runner.cookie_jar = storage.CookieJar.init(arena);
|
||||||
runner.loop = try Loop.init(arena);
|
runner.loop = try Loop.init(arena);
|
||||||
errdefer runner.loop.deinit();
|
errdefer runner.loop.deinit();
|
||||||
|
|||||||
Reference in New Issue
Block a user