@@ -12,7 +12,7 @@ permissions: write-all
1212
1313jobs :
1414 build :
15- name : ${{ matrix.config.variant }} ${{ matrix.config.target }}
15+ name : ${{ matrix.config.variant }} ${{ matrix.config.target }} ${{ matrix.config.v8_enable_pointer_compression && 'ptrcomp' || '' }}
1616 runs-on : ${{ matrix.config.os }}
1717 timeout-minutes : 180
1818 strategy :
@@ -30,58 +30,82 @@ jobs:
3030 - os : macos-13
3131 target : x86_64-apple-darwin
3232 variant : debug
33+ v8_enable_pointer_compression : false
3334 cargo : cargo
3435
3536 - os : macos-13
3637 target : x86_64-apple-darwin
3738 variant : release
39+ v8_enable_pointer_compression : false
3840 cargo : cargo
3941
4042 - os : macos-14
4143 target : aarch64-apple-darwin
4244 variant : asan
45+ v8_enable_pointer_compression : false
4346 cargo : cargo
4447
4548 - os : macos-14
4649 target : aarch64-apple-darwin
4750 variant : debug
51+ v8_enable_pointer_compression : false
4852 cargo : cargo
4953
5054 - os : macos-14
5155 target : aarch64-apple-darwin
5256 variant : release
57+ v8_enable_pointer_compression : false
5358 cargo : cargo
5459
5560 - os : ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
5661 target : x86_64-unknown-linux-gnu
5762 variant : debug
63+ v8_enable_pointer_compression : false
5864 cargo : cargo
5965
6066 - os : ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
6167 target : x86_64-unknown-linux-gnu
6268 variant : release
69+ v8_enable_pointer_compression : false
70+ cargo : cargo
71+
72+ - os : ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
73+ target : x86_64-unknown-linux-gnu
74+ variant : debug
75+ v8_enable_pointer_compression : true
76+ cargo : cargo
77+
78+ - os : ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
79+ target : x86_64-unknown-linux-gnu
80+ variant : release
81+ v8_enable_pointer_compression : true
6382 cargo : cargo
6483
6584 - os : ${{ github.repository == 'denoland/rusty_v8' && 'windows-2022-xxl' || 'windows-2022' }}
6685 target : x86_64-pc-windows-msvc
6786 variant : release # Note: we do not support windows debug builds.
87+ v8_enable_pointer_compression : false
6888 cargo : cargo
6989
7090 - os : ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
7191 target : aarch64-unknown-linux-gnu
7292 variant : debug
93+ v8_enable_pointer_compression : false
7394 cargo : cargo
7495
7596 - os : ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
7697 target : aarch64-unknown-linux-gnu
7798 variant : release
99+ v8_enable_pointer_compression : false
78100 cargo : cargo
79101
80102 env :
81103 V8_FROM_SOURCE : true
82104 CARGO_VARIANT_FLAG : ${{ matrix.config.variant == 'release' && '--release' || '' }}
105+ CARGO_FEATURE_FLAGS : ${{ matrix.config.v8_enable_pointer_compression && '--features v8_enable_pointer_compression' || '' }}
83106 LIB_NAME : ${{ contains(matrix.config.target, 'windows') && 'rusty_v8' || 'librusty_v8' }}
84107 LIB_EXT : ${{ contains(matrix.config.target, 'windows') && 'lib' || 'a' }}
108+ FEATURES_SUFFIX : ${{ matrix.config.v8_enable_pointer_compression && '_ptrcomp' || '' }}
85109 RUSTFLAGS : -D warnings
86110
87111 steps :
@@ -143,10 +167,8 @@ jobs:
143167 target/*/.*
144168 target/*/build
145169 target/*/deps
146- key :
147- cargo-${{ matrix.config.target }}-${{ matrix.config.variant }}-${{ hashFiles('Cargo.lock', 'build.rs', 'git_submodule_status.txt') }}
148- restore-keys :
149- cargo-${{ matrix.config.target }}-${{ matrix.config.variant }}-
170+ key : cargo-${{ matrix.config.target }}-${{ matrix.config.variant }}-{{ matrix.config.v8_enable_pointer_compression }}-${{ hashFiles('Cargo.lock', 'build.rs', 'git_submodule_status.txt') }}
171+ restore-keys : cargo-${{ matrix.config.target }}-${{ matrix.config.variant }}-{{ matrix.config.v8_enable_pointer_compression }}-
150172
151173 - name : Install and start sccache
152174 shell : pwsh
@@ -207,21 +229,19 @@ jobs:
207229 env :
208230 SCCACHE_IDLE_TIMEOUT : 0
209231 if : matrix.config.variant == 'debug' || matrix.config.variant == 'release'
210- run :
211- ${{ matrix.config.cargo }} nextest run -v --cargo-verbose --cargo-verbose --all-targets --locked --target ${{ matrix.config.target }} ${{ env.CARGO_VARIANT_FLAG }}
232+ 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 }}
212233
213234 - name : Clippy
214- run :
215- ${{ matrix.config.cargo }} clippy --all-targets --locked ${{ env.CARGO_VARIANT_FLAG }} --target ${{ matrix.config.target }} -- -D clippy::all
235+ run : ${{ matrix.config.cargo }} clippy --all-targets --locked --target ${{ matrix.config.target }} ${{ env.CARGO_VARIANT_FLAG }} ${{ env.CARGO_FEATURE_FLAGS }} -- -D clippy::all
216236
217237 - name : Prepare binary publish
218238 if : matrix.config.variant == 'debug' || matrix.config.variant == 'release'
219239 run : |
220- 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
221- ls -l target/${{ env.LIB_NAME }}_${{ matrix.config.variant }}_${{ matrix.config.target }}.${{ env.LIB_EXT }}.gz
240+ 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
241+ ls -l target/${{ env.LIB_NAME }}${{ env.FEATURES_SUFFIX }} _${{ matrix.config.variant }}_${{ matrix.config.target }}.${{ env.LIB_EXT }}.gz
222242
223- cp target/${{ matrix.config.target }}/${{ matrix.config.variant}}/gn_out/src_binding.rs target/src_binding_ ${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
224- ls -l target/src_binding_ ${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
243+ 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
244+ ls -l target/src_binding${{ env.FEATURES_SUFFIX }}_ ${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
225245
226246 - name : Binary publish
227247@@ -233,14 +253,14 @@ jobs:
233253 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
234254 with :
235255 files : |
236- target/${{ env.LIB_NAME }}_${{ matrix.config.variant }}_${{ matrix.config.target }}.${{ env.LIB_EXT }}.gz
237- target/src_binding_ ${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
256+ target/${{ env.LIB_NAME }}${{ env.FEATURES_SUFFIX }} _${{ matrix.config.variant }}_${{ matrix.config.target }}.${{ env.LIB_EXT }}.gz
257+ target/src_binding${{ env.FEATURES_SUFFIX }}_ ${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
238258
239259 - name : Upload CI artifacts
240260 uses : actions/upload-artifact@v4
241261 with :
242- name : src_binding_ ${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
243- path : target/src_binding_ ${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
262+ name : src_binding${{ env.FEATURES_SUFFIX }}_ ${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
263+ path : target/src_binding${{ env.FEATURES_SUFFIX }}_ ${{ matrix.config.variant }}_${{ matrix.config.target }}.rs
244264
245265 publish :
246266 needs : build
0 commit comments