Skip to content

Commit

Permalink
Merge branch 'main' into format-lints1
Browse files Browse the repository at this point in the history
  • Loading branch information
ry authored Feb 8, 2025
2 parents 81023af + a873224 commit eadf4f6
Show file tree
Hide file tree
Showing 42 changed files with 597 additions and 465 deletions.
64 changes: 44 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ permissions: write-all

jobs:
build:
name: ${{ matrix.config.variant }} ${{ matrix.config.target }}
name: ${{ matrix.config.variant }} ${{ matrix.config.target }} ${{ matrix.config.v8_enable_pointer_compression && 'ptrcomp' || '' }}
runs-on: ${{ matrix.config.os }}
timeout-minutes: 180
strategy:
Expand All @@ -30,58 +30,82 @@ jobs:
- os: macos-13
target: x86_64-apple-darwin
variant: debug
v8_enable_pointer_compression: false
cargo: cargo

- os: macos-13
target: x86_64-apple-darwin
variant: release
v8_enable_pointer_compression: false
cargo: cargo

- os: macos-14
target: aarch64-apple-darwin
variant: asan
v8_enable_pointer_compression: false
cargo: cargo

- os: macos-14
target: aarch64-apple-darwin
variant: debug
v8_enable_pointer_compression: false
cargo: cargo

- os: macos-14
target: aarch64-apple-darwin
variant: release
v8_enable_pointer_compression: false
cargo: cargo

- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
target: x86_64-unknown-linux-gnu
variant: debug
v8_enable_pointer_compression: false
cargo: cargo

- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
target: x86_64-unknown-linux-gnu
variant: release
v8_enable_pointer_compression: false
cargo: cargo

- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
target: x86_64-unknown-linux-gnu
variant: debug
v8_enable_pointer_compression: true
cargo: cargo

- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
target: x86_64-unknown-linux-gnu
variant: release
v8_enable_pointer_compression: true
cargo: cargo

- os: ${{ github.repository == 'denoland/rusty_v8' && 'windows-2022-xxl' || 'windows-2022' }}
target: x86_64-pc-windows-msvc
variant: release # Note: we do not support windows debug builds.
v8_enable_pointer_compression: false
cargo: cargo

- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
target: aarch64-unknown-linux-gnu
variant: debug
v8_enable_pointer_compression: false
cargo: cargo

- os: ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
target: aarch64-unknown-linux-gnu
variant: release
v8_enable_pointer_compression: false
cargo: cargo

env:
V8_FROM_SOURCE: true
CARGO_VARIANT_FLAG: ${{ matrix.config.variant == 'release' && '--release' || '' }}
CARGO_FEATURE_FLAGS: ${{ matrix.config.v8_enable_pointer_compression && '--features v8_enable_pointer_compression' || '' }}
LIB_NAME: ${{ contains(matrix.config.target, 'windows') && 'rusty_v8' || 'librusty_v8' }}
LIB_EXT: ${{ contains(matrix.config.target, 'windows') && 'lib' || 'a' }}
FEATURES_SUFFIX: ${{ matrix.config.v8_enable_pointer_compression && '_ptrcomp' || '' }}
RUSTFLAGS: -D warnings

steps:
Expand All @@ -97,6 +121,12 @@ jobs:
- name: Install rust
uses: dsherret/rust-toolchain-file@v1

- name: Install cargo-binstall
uses: cargo-bins/cargo-binstall@main

- name: Install nextest
run: cargo binstall cargo-nextest --secure

- name: Install python
uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -137,10 +167,8 @@ jobs:
target/*/.*
target/*/build
target/*/deps
key:
cargo-${{ matrix.config.target }}-${{ matrix.config.variant }}-${{ hashFiles('Cargo.lock', 'build.rs', 'git_submodule_status.txt') }}
restore-keys:
cargo-${{ matrix.config.target }}-${{ matrix.config.variant }}-
key: cargo-${{ matrix.config.target }}-${{ matrix.config.variant }}-{{ matrix.config.v8_enable_pointer_compression }}-${{ hashFiles('Cargo.lock', 'build.rs', 'git_submodule_status.txt') }}
restore-keys: cargo-${{ matrix.config.target }}-${{ matrix.config.variant }}-{{ matrix.config.v8_enable_pointer_compression }}-

- name: Install and start sccache
shell: pwsh
Expand Down Expand Up @@ -195,29 +223,25 @@ jobs:
# Is there a better way to install this tool?
curl -O http://commondatastorage.googleapis.com/chromium-browser-clang-staging/Mac/dsymutil-llvmorg-17-init-19076-g5533fc10-1.tgz
tar -C tools/clang/dsymutil/ -xvzf dsymutil-llvmorg-17-init-19076-g5533fc10-1.tgz
V8_FROM_SOURCE=true RUSTFLAGS="-C opt-level=1 -Zsanitizer=address" cargo +nightly -Z build-std test --lib --bins --tests -vv --target ${{ matrix.config.target }}
V8_FROM_SOURCE=true RUSTFLAGS="-C opt-level=1 -Zsanitizer=address" cargo +nightly -Z build-std nextest run --lib --bins --tests -v --cargo-verbose --cargo-verbose --target ${{ matrix.config.target }}
- name: Test
env:
SCCACHE_IDLE_TIMEOUT: 0
if: matrix.config.variant == 'debug' || matrix.config.variant == 'release'
run:
${{ matrix.config.cargo }} test -vv --all-targets --locked ${{ env.CARGO_VARIANT_FLAG }}
--target ${{ matrix.config.target }}
run: ${{ matrix.config.cargo }} nextest run -v --cargo-verbose --cargo-verbose --all-targets --locked --target ${{ matrix.config.target }} ${{ env.CARGO_VARIANT_FLAG }} ${{ env.CARGO_FEATURE_FLAGS }}

- name: Clippy
run:
${{ matrix.config.cargo }} clippy --all-targets --locked ${{ env.CARGO_VARIANT_FLAG }}
--target ${{ matrix.config.target }} -- -D clippy::all
run: ${{ matrix.config.cargo }} clippy --all-targets --locked --target ${{ matrix.config.target }} ${{ env.CARGO_VARIANT_FLAG }} ${{ env.CARGO_FEATURE_FLAGS }} -- -D clippy::all

- name: Prepare binary publish
if: matrix.config.variant == 'debug' || matrix.config.variant == 'release'
run: |
gzip -9c target/${{ matrix.config.target }}/${{ matrix.config.variant }}/gn_out/obj/${{ env.LIB_NAME }}.${{ env.LIB_EXT }} > target/${{ env.LIB_NAME }}_${{ matrix.config.variant }}_${{ matrix.config.target }}.${{ env.LIB_EXT }}.gz
ls -l target/${{ env.LIB_NAME }}_${{ matrix.config.variant }}_${{ matrix.config.target }}.${{ env.LIB_EXT }}.gz
gzip -9c target/${{ matrix.config.target }}/${{ matrix.config.variant }}/gn_out/obj/${{ env.LIB_NAME }}.${{ env.LIB_EXT }} > target/${{ env.LIB_NAME }}${{ env.FEATURES_SUFFIX }}_${{ matrix.config.variant }}_${{ matrix.config.target }}.${{ env.LIB_EXT }}.gz
ls -l target/${{ env.LIB_NAME }}${{ env.FEATURES_SUFFIX }}_${{ matrix.config.variant }}_${{ matrix.config.target }}.${{ env.LIB_EXT }}.gz
cp target/${{ matrix.config.target }}/${{ matrix.config.variant}}/gn_out/src_binding.rs target/src_binding_${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
ls -l target/src_binding_${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
cp target/${{ matrix.config.target }}/${{ matrix.config.variant}}/gn_out/src_binding.rs target/src_binding${{ env.FEATURES_SUFFIX }}_${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
ls -l target/src_binding${{ env.FEATURES_SUFFIX }}_${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
- name: Binary publish
uses: softprops/[email protected]
Expand All @@ -229,14 +253,14 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: |
target/${{ env.LIB_NAME }}_${{ matrix.config.variant }}_${{ matrix.config.target }}.${{ env.LIB_EXT }}.gz
target/src_binding_${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
target/${{ env.LIB_NAME }}${{ env.FEATURES_SUFFIX }}_${{ matrix.config.variant }}_${{ matrix.config.target }}.${{ env.LIB_EXT }}.gz
target/src_binding${{ env.FEATURES_SUFFIX }}_${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
- name: Upload CI artifacts
uses: actions/upload-artifact@v4
with:
name: src_binding_${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
path: target/src_binding_${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
name: src_binding${{ env.FEATURES_SUFFIX }}_${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
path: target/src_binding${{ env.FEATURES_SUFFIX }}_${{ matrix.config.variant }}_${{ matrix.config.target }}.rs

publish:
needs: build
Expand Down
9 changes: 9 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,12 @@
[submodule "third_party/fast_float/src"]
path = third_party/fast_float/src
url = https://chromium.googlesource.com/external/github.com/fastfloat/fast_float.git
[submodule "third_party/llvm-libc/src"]
path = third_party/llvm-libc/src
url = https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git
[submodule "third_party/simdutf"]
path = third_party/simdutf
url = https://chromium.googlesource.com/chromium/src/third_party/simdutf
[submodule "third_party/highway/src"]
path = third_party/highway/src
url = https://chromium.googlesource.com/external/github.com/google/highway.git
1 change: 0 additions & 1 deletion .gn
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ default_args = {
v8_enable_javascript_promise_hooks = true
v8_promise_internal_field_count = 1
v8_use_external_startup_data = false
v8_use_snapshot = true

v8_enable_pointer_compression = false

Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 13 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "v8"
version = "130.0.8"
version = "134.2.0"
description = "Rust bindings to V8"
readme = "README.md"
authors = ["the Deno authors"]
Expand Down Expand Up @@ -37,6 +37,11 @@ exclude = [
"third_party/libc++/src/utils/",
"third_party/libc++/src/www/",
"third_party/libc++abi/src/test/",
"third_party/llvm-libc/src/benchmarks/",
"third_party/llvm-libc/src/docs/",
"third_party/llvm-libc/src/fuzzing/",
"third_party/llvm-libc/src/test/",
"third_party/llvm-libc/src/utils/docgen",
"third_party/icu/android/",
"third_party/icu/android_small/",
"third_party/icu/cast/",
Expand All @@ -56,6 +61,12 @@ exclude = [
"third_party/icu/source/tools/",
"third_party/icu/tzres/",
"third_party/abseil-cpp/*.def",
"third_party/abseil-cpp/absl/time/internal/cctz/testdata",
"third_party/highway/src/hwy/tests",
"third_party/highway/src/docs",
"third_party/highway/src/g3doc",
"third_party/fp16/src/test",
"third_party/fast_float/src/tests",
"tools/clang",
"v8/ChangeLog",
"v8/benchmarks/",
Expand Down Expand Up @@ -86,6 +97,7 @@ opt-level = 1
[features]
default = ["use_custom_libcxx"]
use_custom_libcxx = []
v8_enable_pointer_compression = []

[dependencies]
bitflags = "2.5"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Rusty V8 Binding

V8 Version: 13.0.245.12
V8 Version: 13.4.114.5

[![ci](https://github.com/denoland/rusty_v8/workflows/ci/badge.svg?branch=main)](https://github.com/denoland/rusty_v8/actions)
[![crates](https://img.shields.io/crates/v/v8.svg)](https://crates.io/crates/v8)
Expand Down
4 changes: 2 additions & 2 deletions benches/function.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ fn main() {
const FAST_CALL: v8::fast_api::CFunction = v8::fast_api::CFunction::new(
fast_fn as _,
&v8::fast_api::CFunctionInfo::new(
v8::fast_api::Type::Int32.scalar(),
&[v8::fast_api::Type::V8Value.scalar()],
v8::fast_api::Type::Int32.as_info(),
&[v8::fast_api::Type::V8Value.as_info()],
v8::fast_api::Int64Representation::Number,
),
);
Expand Down
2 changes: 1 addition & 1 deletion build
Submodule build updated 94 files
+3 −0 .git-blame-ignore-revs
+1 −1 OWNERS
+6 −2 OWNERS.setnoparent
+1 −0 android/BUILD.gn
+20 −3 android/apk_operations.py
+0 −3 android/docs/java_toolchain.md
+13 −5 android/docs/life_of_a_resource.md
+58 −135 android/gyp/compile_java.py
+8 −1 android/gyp/compile_java_tests.py
+25 −4 android/gyp/lint.py
+5 −5 android/gyp/optimize_resources.py
+2 −0 android/gyp/proguard.py
+2 −2 android/incremental_install/java/org/chromium/incrementalinstall/Reflect.java
+2 −1 android/java/src/org/chromium/build/annotations/DoNotInline.java
+3 −1 android/java/src/org/chromium/build/annotations/ServiceImpl.java
+7 −6 android/java/src/org/chromium/build/annotations/UsedByReflection.java
+20 −0 android/java/src/org/chromium/build/annotations/UsedReflectively.java
+1 −3 android/pylib/device/commands/java/src/org/chromium/android/commands/unzip/Unzip.java
+2 −2 android/pylib/local/device/local_device_instrumentation_test_run.py
+90 −34 android/pylib/local/emulator/avd.py
+107 −0 android/pylib/local/emulator/avd_test.py
+6 −0 android/pylib/local/emulator/proto/avd.proto
+6 −2 android/pylib/local/emulator/proto/avd_pb2.py
+32 −0 android/test_wrapper/logdog_wrapper.gni
+2 −4 clobber.py
+8 −6 config/android/BUILD.gn
+2 −2 config/android/config.gni
+43 −19 config/android/internal_rules.gni
+78 −28 config/android/rules.gni
+12 −11 config/chromeos/rules.gni
+0 −31 config/chromeos/ui_mode.gni
+53 −79 config/clang/BUILD.gn
+2 −2 config/clang/clang.gni
+4 −8 config/compiler/BUILD.gn
+5 −0 config/freetype/freetype.gni
+1 −1 config/fuchsia/gn_configs.gni
+102 −64 config/ios/rules.gni
+2 −2 config/mac/mac_sdk.gni
+53 −9 config/rust.gni
+2 −0 config/sanitizers/BUILD.gn
+1 −1 config/sanitizers/sanitizers.gni
+29 −4 config/siso/android.star
+5 −0 config/siso/blink_all.star
+154 −5 config/siso/clang_code_coverage_wrapper.star
+31 −5 config/siso/clang_linux.star
+7 −4 config/siso/config.star
+1 −19 config/siso/cros.star
+3 −1 config/unsafe_buffers_paths.txt
+6 −0 fuchsia/cipd/BUILD.gn
+1 −1 fuchsia/linux_internal.sdk.sha1
+4 −2 fuchsia/test/browser_runner.py
+20 −12 fuchsia/test/bundled_test_runner.py
+24 −21 fuchsia/test/bundled_test_runner_unittests.py
+63 −0 fuchsia/test/chrome_driver_wrapper.py
+43 −4 fuchsia/test/common.py
+7 −28 fuchsia/test/compatible_utils.py
+0 −10 fuchsia/test/compatible_utils_unittests.py
+15 −9 fuchsia/test/run_webpage_test.py
+8 −3 fuchsia/test/test_runner.py
+2 −21 fuchsia/test/test_server.py
+0 −5 fuchsia/update_product_bundles.py
+7 −0 fuchsia/update_product_bundles_test.py
+6 −5 install-build-deps.py
+34 −2 ios/extension_bundle_data.gni
+0 −3 lacros/test_runner.py
+1 −13 lacros/test_runner_test.py
+5 −7 mac_toolchain.py
+7 −5 print_python_deps.py
+5 −3 rust/cargo_crate.gni
+77 −0 rust/crubit/BUILD.gn
+2 −0 rust/run_build_script.py
+89 −16 rust/rust_bindgen.gni
+3 −9 rust/rust_target.gni
+1 −0 rust/rustc_wrapper.py
+11 −54 rust/std/BUILD.gn
+7 −0 rust/tests/BUILD.gn
+35 −0 rust/tests/bindgen_cpp_test/BUILD.gn
+13 −0 rust/tests/bindgen_cpp_test/cpp.cc
+24 −0 rust/tests/bindgen_cpp_test/cpp.h
+18 −0 rust/tests/bindgen_cpp_test/main.rs
+40 −0 rust/tests/bindgen_cpp_test_with_cpp_linkage/BUILD.gn
+13 −0 rust/tests/bindgen_cpp_test_with_cpp_linkage/cpp.cc
+24 −0 rust/tests/bindgen_cpp_test_with_cpp_linkage/cpp.h
+19 −0 rust/tests/bindgen_cpp_test_with_cpp_linkage/lib.rs
+9 −0 rust/tests/bindgen_cpp_test_with_cpp_linkage/main.cc
+4 −4 rust/tests/bindgen_test/src/lib.rs
+0 −24 toolchain/android/BUILD.gn
+154 −5 toolchain/clang_code_coverage_wrapper.py
+5 −5 toolchain/concurrent_links.gni
+0 −77 toolchain/cros/BUILD.gn
+0 −39 toolchain/linux/BUILD.gn
+9 −1 util/ide_query
+3 −1 util/lib/proto/exception_recorder.py
+1 −1 xcode_binaries.yaml
Loading

0 comments on commit eadf4f6

Please sign in to comment.