@@ -22,12 +22,14 @@ jobs:
2222 include :
2323 - runner : ubuntu-22.04
2424 target : x86_64
25+ rust_target : x86_64-unknown-linux-gnu
2526 container : quay.io/pypa/manylinux_2_28_x86_64:latest
2627 v8_from_source : " 1"
2728 extra_gn_args : v8_enable_temporal_support=false
2829 docker_options : -e V8_FROM_SOURCE=1 -e EXTRA_GN_ARGS=v8_enable_temporal_support=false
2930 - runner : ubuntu-24.04-arm
3031 target : aarch64
32+ rust_target : aarch64-unknown-linux-gnu
3133 container : quay.io/pypa/manylinux_2_28_aarch64:latest
3234 v8_from_source : " 0"
3335 extra_gn_args : " "
@@ -46,13 +48,17 @@ jobs:
4648 # third_party/rust/chromium_crates_io/vendor tree needed by the
4749 # Temporal Rust dependency, so source builds avoid those GN targets.
4850 EXTRA_GN_ARGS : ${{ matrix.extra_gn_args }}
51+ # Source builds download Chromium clang into target/<triple>/release.
52+ # Bindgen needs libclang from that toolchain after V8 is built.
53+ LIBCLANG_PATH : ${{ github.workspace }}/target/${{ matrix.rust_target }}/release/clang/lib
54+ LD_LIBRARY_PATH : ${{ github.workspace }}/target/${{ matrix.rust_target }}/release/clang/lib
4955 with :
5056 target : ${{ matrix.target }}
5157 # Source-building V8 needs Chromium's `gn` binary, which requires
5258 # GLIBC_2.18+. manylinux2014 only has glibc 2.17, so use 2_28 here.
5359 manylinux : " 2_28"
5460 container : ${{ matrix.container }}
55- docker-options : ${{ matrix.docker_options }}
61+ docker-options : ${{ matrix.docker_options }} -e LIBCLANG_PATH=${{ github.workspace }}/target/${{ matrix.rust_target }}/release/clang/lib -e LD_LIBRARY_PATH=${{ github.workspace }}/target/${{ matrix.rust_target }}/release/clang/lib
5662 args : >-
5763 --release
5864 --out dist
0 commit comments