Skip to content

chore: Improve CI time#2661

Open
iwoplaza wants to merge 1 commit into
mainfrom
chore/improve-ci-time
Open

chore: Improve CI time#2661
iwoplaza wants to merge 1 commit into
mainfrom
chore/improve-ci-time

Conversation

@iwoplaza

@iwoplaza iwoplaza commented Jun 29, 2026

Copy link
Copy Markdown
Collaborator
Before (~11min) After (~5min)
Screenshot 2026-06-30 at 18 43 41 Screenshot 2026-06-30 at 17 45 58
@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown

pkg.pr.new

packages
Ready to be installed by your favorite package manager ⬇️

https://pkg.pr.new/software-mansion/TypeGPU/typegpu@cd0ad8375cdc879928ef77c76da401886082d09d
https://pkg.pr.new/software-mansion/TypeGPU/@typegpu/cli@cd0ad8375cdc879928ef77c76da401886082d09d
https://pkg.pr.new/software-mansion/TypeGPU/@typegpu/noise@cd0ad8375cdc879928ef77c76da401886082d09d
https://pkg.pr.new/software-mansion/TypeGPU/@typegpu/react@cd0ad8375cdc879928ef77c76da401886082d09d
https://pkg.pr.new/software-mansion/TypeGPU/unplugin-typegpu@cd0ad8375cdc879928ef77c76da401886082d09d

benchmark
view benchmark

commit
view commit

@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown

Bundle size comparison (import * as ... in PR vs import * as ... in target):

🟢 Decreased ➖ Unchanged 🔴 Increased ❔ Unknown
0 320 0 0

import { ... } in PR vs import * as ... in PR (is the library tree-Shakeable?):

Click to reveal the results table (297 entries).
Test tsdown
d_Void.ts 87.41 kB ($${\color{red}+12094.3\%}$$)
d_sampler.ts 87.41 kB ($${\color{red}+11963.2\%}$$)
d_isPtr.ts 87.41 kB ($${\color{red}+11802.5\%}$$)
d_comparisonSampler.ts 87.42 kB ($${\color{red}+11788.3\%}$$)
d_isSizeAttrib.ts 87.42 kB ($${\color{red}+11771.9\%}$$)
d_isWgslArray.ts 87.42 kB ($${\color{red}+11771.8\%}$$)
d_isAlignAttrib.ts 87.42 kB ($${\color{red}+11756.3\%}$$)
d_isWgslStruct.ts 87.42 kB ($${\color{red}+11756.2\%}$$)
d_isAtomic.ts 87.41 kB ($${\color{red}+11755.6\%}$$)
d_isBuiltinAttrib.ts 87.42 kB ($${\color{red}+11725.2\%}$$)
d_isLocationAttrib.ts 87.42 kB ($${\color{red}+11709.8\%}$$)
d_isDecorated.ts 87.42 kB ($${\color{red}+11709.1\%}$$)
d_isInterpolateAttrib.ts 87.42 kB ($${\color{red}+11663.6\%}$$)
d_atomic.ts 87.41 kB ($${\color{red}+11390.1\%}$$)
d_ptrHandle.ts 87.41 kB ($${\color{red}+10418.3\%}$$)
d_ptrUniform.ts 87.41 kB ($${\color{red}+10406.1\%}$$)
d_ptrStorage.ts 87.41 kB ($${\color{red}+10357.0\%}$$)
d_ptrPrivate.ts 87.41 kB ($${\color{red}+10332.6\%}$$)
d_ptrFn.ts 87.41 kB ($${\color{red}+10319.9\%}$$)
d_ptrWorkgroup.ts 87.42 kB ($${\color{red}+10308.6\%}$$)
d_textureExternal.ts 87.42 kB ($${\color{red}+10154.0\%}$$)
d_textureStorage1d.ts 87.42 kB ($${\color{red}+8532.4\%}$$)
d_textureStorage2d.ts 87.42 kB ($${\color{red}+8532.4\%}$$)
d_textureStorage3d.ts 87.42 kB ($${\color{red}+8532.4\%}$$)
d_textureStorage2dArray.ts 87.42 kB ($${\color{red}+8385.6\%}$$)
d_isDisarray.ts 87.41 kB ($${\color{red}+7758.8\%}$$)
d_isUnstruct.ts 87.41 kB ($${\color{red}+7758.8\%}$$)
d_isLooseDecorated.ts 87.42 kB ($${\color{red}+7711.3\%}$$)
d_isLooseData.ts 87.42 kB ($${\color{red}+7447.5\%}$$)
d_isWgslData.ts 87.41 kB ($${\color{red}+6570.0\%}$$)
d_unstruct.ts 87.41 kB ($${\color{red}+5547.3\%}$$)
d_isData.ts 87.41 kB ($${\color{red}+4735.7\%}$$)
d_deepEqual.ts 87.41 kB ($${\color{red}+3887.1\%}$$)
d_struct.ts 87.41 kB ($${\color{red}+2325.0\%}$$)
d_ref.ts 87.41 kB ($${\color{red}+1725.5\%}$$)
std_discard.ts 103.15 kB ($${\color{red}+624.8\%}$$)
std_copy.ts 103.14 kB ($${\color{red}+612.6\%}$$)
std_arrayLength.ts 103.15 kB ($${\color{red}+612.4\%}$$)
std_isBeingTranspiled.ts 103.16 kB ($${\color{red}+610.9\%}$$)
std_getTargetShaderLanguage.ts 103.16 kB ($${\color{red}+607.7\%}$$)
std_extensionEnabled.ts 103.16 kB ($${\color{red}+605.2\%}$$)
std_range.ts 103.14 kB ($${\color{red}+592.5\%}$$)
std_dpdx.ts 103.14 kB ($${\color{red}+584.2\%}$$)
std_fwidthCoarse.ts 103.15 kB ($${\color{red}+584.0\%}$$)
std_dpdxCoarse.ts 103.15 kB ($${\color{red}+584.0\%}$$)
std_dpdyCoarse.ts 103.15 kB ($${\color{red}+584.0\%}$$)
std_fwidthFine.ts 103.15 kB ($${\color{red}+584.0\%}$$)
std_dpdxFine.ts 103.15 kB ($${\color{red}+584.0\%}$$)
std_dpdyFine.ts 103.15 kB ($${\color{red}+584.0\%}$$)
std_fwidth.ts 103.15 kB ($${\color{red}+583.9\%}$$)
std_dpdy.ts 103.14 kB ($${\color{red}+583.9\%}$$)
d_bool.ts 87.41 kB ($${\color{red}+571.4\%}$$)
d_f16.ts 87.41 kB ($${\color{red}+571.4\%}$$)
d_f32.ts 87.41 kB ($${\color{red}+571.4\%}$$)
d_i32.ts 87.41 kB ($${\color{red}+571.4\%}$$)
d_u32.ts 87.41 kB ($${\color{red}+571.4\%}$$)
d_u16.ts 87.41 kB ($${\color{red}+570.2\%}$$)
std_atomicLoad.ts 103.15 kB ($${\color{red}+551.5\%}$$)
std_textureBarrier.ts 103.15 kB ($${\color{red}+551.3\%}$$)
std_atomicStore.ts 103.15 kB ($${\color{red}+551.3\%}$$)
std_workgroupBarrier.ts 103.16 kB ($${\color{red}+551.1\%}$$)
std_storageBarrier.ts 103.15 kB ($${\color{red}+551.1\%}$$)
std_atomicAdd.ts 103.15 kB ($${\color{red}+551.0\%}$$)
std_atomicAnd.ts 103.15 kB ($${\color{red}+551.0\%}$$)
std_atomicMax.ts 103.15 kB ($${\color{red}+551.0\%}$$)
std_atomicMin.ts 103.15 kB ($${\color{red}+551.0\%}$$)
std_atomicSub.ts 103.15 kB ($${\color{red}+551.0\%}$$)
std_atomicXor.ts 103.15 kB ($${\color{red}+551.0\%}$$)
std_atomicOr.ts 103.15 kB ($${\color{red}+551.0\%}$$)
d_textureDepth2d.ts 87.42 kB ($${\color{red}+549.4\%}$$)
d_textureDepthCube.ts 87.42 kB ($${\color{red}+549.1\%}$$)
d_texture1d.ts 87.41 kB ($${\color{red}+548.8\%}$$)
d_texture2d.ts 87.41 kB ($${\color{red}+548.8\%}$$)
d_texture3d.ts 87.41 kB ($${\color{red}+548.8\%}$$)
d_textureDepth2dArray.ts 87.42 kB ($${\color{red}+548.6\%}$$)
d_textureCube.ts 87.42 kB ($${\color{red}+548.6\%}$$)
d_textureDepthCubeArray.ts 87.42 kB ($${\color{red}+548.3\%}$$)
d_textureDepthMultisampled2d.ts 87.43 kB ($${\color{red}+548.2\%}$$)
d_texture2dArray.ts 87.42 kB ($${\color{red}+548.0\%}$$)
d_textureCubeArray.ts 87.42 kB ($${\color{red}+547.7\%}$$)
d_textureMultisampled2d.ts 87.42 kB ($${\color{red}+547.7\%}$$)
d_disarrayOf.ts 87.41 kB ($${\color{red}+480.3\%}$$)
d_vec2b.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec2f.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec2h.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec2i.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec2u.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec3b.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec3f.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec3h.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec3i.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec3u.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec4b.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec4f.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec4h.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec4i.ts 87.41 kB ($${\color{red}+349.4\%}$$)
d_vec4u.ts 87.41 kB ($${\color{red}+349.4\%}$$)
std_subgroupAdd.ts 103.15 kB ($${\color{red}+329.3\%}$$)
std_subgroupBroadcastFirst.ts 103.16 kB ($${\color{red}+329.3\%}$$)
std_subgroupExclusiveAdd.ts 103.16 kB ($${\color{red}+329.3\%}$$)
std_subgroupExclusiveMul.ts 103.16 kB ($${\color{red}+329.3\%}$$)
std_subgroupInclusiveAdd.ts 103.16 kB ($${\color{red}+329.3\%}$$)
std_subgroupInclusiveMul.ts 103.16 kB ($${\color{red}+329.3\%}$$)
std_subgroupShuffleDown.ts 103.16 kB ($${\color{red}+329.3\%}$$)
std_subgroupShuffleXor.ts 103.16 kB ($${\color{red}+329.3\%}$$)
std_subgroupBroadcast.ts 103.16 kB ($${\color{red}+329.3\%}$$)
std_subgroupShuffleUp.ts 103.16 kB ($${\color{red}+329.3\%}$$)
std_subgroupShuffle.ts 103.15 kB ($${\color{red}+329.3\%}$$)
std_subgroupBallot.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupElect.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupAll.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupAnd.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupAny.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupMax.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupMin.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupMul.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupXor.ts 103.15 kB ($${\color{red}+329.2\%}$$)
std_subgroupOr.ts 103.15 kB ($${\color{red}+329.2\%}$$)
d_formatToWGSLType.ts 87.42 kB ($${\color{red}+317.5\%}$$)
d_uint8.ts 87.41 kB ($${\color{red}+317.3\%}$$)
d_unorm10_10_10_2.ts 87.42 kB ($${\color{red}+317.3\%}$$)
d_unorm8x4_bgra.ts 87.42 kB ($${\color{red}+317.3\%}$$)
d_float16x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_float16x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_float32x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_float32x3.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_float32x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_snorm16x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_snorm16x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_unorm16x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_unorm16x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint16x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint16x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint32x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint32x3.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint32x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_snorm8x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_snorm8x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint16x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint16x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint32x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint32x3.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint32x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_unorm8x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_unorm8x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_float16.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_float32.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint8x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint8x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_snorm16.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint8x2.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint8x4.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_unorm16.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint16.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint32.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_snorm8.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint16.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_uint32.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_unorm8.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_sint8.ts 87.41 kB ($${\color{red}+317.2\%}$$)
d_packedFormats.ts 87.42 kB ($${\color{red}+316.9\%}$$)
d_isPackedData.ts 87.42 kB ($${\color{red}+316.0\%}$$)
std_textureDimensions.ts 103.16 kB ($${\color{red}+300.1\%}$$)
std_textureGather.ts 103.15 kB ($${\color{red}+300.1\%}$$)
std_textureSampleBaseClampToEdge.ts 103.17 kB ($${\color{red}+300.0\%}$$)
std_textureSampleCompareLevel.ts 103.16 kB ($${\color{red}+300.0\%}$$)
std_textureSampleCompare.ts 103.16 kB ($${\color{red}+300.0\%}$$)
std_textureSampleLevel.ts 103.16 kB ($${\color{red}+300.0\%}$$)
std_textureSampleBias.ts 103.16 kB ($${\color{red}+300.0\%}$$)
std_textureSampleGrad.ts 103.16 kB ($${\color{red}+300.0\%}$$)
std_textureSample.ts 103.15 kB ($${\color{red}+300.0\%}$$)
std_textureStore.ts 103.15 kB ($${\color{red}+300.0\%}$$)
std_textureLoad.ts 103.15 kB ($${\color{red}+300.0\%}$$)
d_alignmentOf.ts 87.42 kB ($${\color{red}+299.2\%}$$)
std_translation4.ts 103.15 kB ($${\color{red}+281.6\%}$$)
std_rotationX4.ts 103.15 kB ($${\color{red}+281.6\%}$$)
std_rotationY4.ts 103.15 kB ($${\color{red}+281.6\%}$$)
std_rotationZ4.ts 103.15 kB ($${\color{red}+281.6\%}$$)
std_identity2.ts 103.15 kB ($${\color{red}+281.6\%}$$)
std_identity3.ts 103.15 kB ($${\color{red}+281.6\%}$$)
std_identity4.ts 103.15 kB ($${\color{red}+281.6\%}$$)
std_scaling4.ts 103.15 kB ($${\color{red}+281.6\%}$$)
d_isBuiltin.ts 87.41 kB ($${\color{red}+255.1\%}$$)
d_sizeOf.ts 87.41 kB ($${\color{red}+254.4\%}$$)
d_isContiguous.ts 87.42 kB ($${\color{red}+254.3\%}$$)
d_getLongestContiguousPrefix.ts 87.43 kB ($${\color{red}+254.2\%}$$)
d_arrayOf.ts 87.41 kB ($${\color{red}+233.4\%}$$)
d_size.ts 87.41 kB ($${\color{red}+231.7\%}$$)
d_align.ts 87.41 kB ($${\color{red}+231.7\%}$$)
d_location.ts 87.41 kB ($${\color{red}+231.6\%}$$)
d_interpolate.ts 87.42 kB ($${\color{red}+231.6\%}$$)
d_invariant.ts 87.41 kB ($${\color{red}+227.0\%}$$)
d_mat4x4f.ts 87.41 kB ($${\color{red}+223.4\%}$$)
d_mat2x2f.ts 87.41 kB ($${\color{red}+223.3\%}$$)
d_mat3x3f.ts 87.41 kB ($${\color{red}+223.3\%}$$)
d_matToArray.ts 87.41 kB ($${\color{red}+221.8\%}$$)
d_builtin.ts 87.41 kB ($${\color{red}+204.8\%}$$)
std_unpack2x16float.ts 103.15 kB ($${\color{red}+186.6\%}$$)
std_unpack4x8unorm.ts 103.15 kB ($${\color{red}+186.6\%}$$)
std_pack2x16float.ts 103.15 kB ($${\color{red}+186.6\%}$$)
std_pack4x8unorm.ts 103.15 kB ($${\color{red}+186.6\%}$$)
std_bitcastU32toF32.ts 103.15 kB ($${\color{red}+133.2\%}$$)
std_bitcastU32toI32.ts 103.15 kB ($${\color{red}+133.2\%}$$)
std_neg.ts 103.14 kB ($${\color{red}+113.1\%}$$)
std_bitShiftRight.ts 103.15 kB ($${\color{red}+113.1\%}$$)
std_bitShiftLeft.ts 103.15 kB ($${\color{red}+113.1\%}$$)
std_add.ts 103.14 kB ($${\color{red}+113.1\%}$$)
std_div.ts 103.14 kB ($${\color{red}+113.1\%}$$)
std_mod.ts 103.14 kB ($${\color{red}+113.1\%}$$)
std_mul.ts 103.14 kB ($${\color{red}+113.1\%}$$)
std_sub.ts 103.14 kB ($${\color{red}+113.1\%}$$)
std_translate4.ts 103.15 kB ($${\color{red}+109.8\%}$$)
std_rotateX4.ts 103.15 kB ($${\color{red}+109.8\%}$$)
std_scale4.ts 103.15 kB ($${\color{red}+109.8\%}$$)
std_rotateY4.ts 103.15 kB ($${\color{red}+109.8\%}$$)
std_rotateZ4.ts 103.15 kB ($${\color{red}+109.8\%}$$)
d_memoryLayoutOf.ts 87.42 kB ($${\color{red}+108.2\%}$$)
std_and.ts 103.14 kB ($${\color{red}+99.2\%}$$)
std_or.ts 103.14 kB ($${\color{red}+99.2\%}$$)
std_select.ts 103.15 kB ($${\color{red}+99.2\%}$$)
std_allEq.ts 103.14 kB ($${\color{red}+99.2\%}$$)
std_all.ts 103.14 kB ($${\color{red}+99.2\%}$$)
std_not.ts 103.14 kB ($${\color{red}+99.2\%}$$)
std_eq.ts 103.14 kB ($${\color{red}+99.2\%}$$)
std_lt.ts 103.14 kB ($${\color{red}+99.2\%}$$)
std_ne.ts 103.14 kB ($${\color{red}+99.2\%}$$)
std_isCloseTo.ts 103.15 kB ($${\color{red}+99.2\%}$$)
std_any.ts 103.14 kB ($${\color{red}+99.2\%}$$)
std_ge.ts 103.14 kB ($${\color{red}+99.1\%}$$)
std_gt.ts 103.14 kB ($${\color{red}+99.1\%}$$)
std_le.ts 103.14 kB ($${\color{red}+99.1\%}$$)
std_dot4U8Packed.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_length.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_countTrailingZeros.ts 103.16 kB ($${\color{red}+56.2\%}$$)
std_distance.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_dot.ts 103.14 kB ($${\color{red}+56.2\%}$$)
std_countLeadingZeros.ts 103.16 kB ($${\color{red}+56.2\%}$$)
std_firstTrailingBit.ts 103.16 kB ($${\color{red}+56.2\%}$$)
std_firstLeadingBit.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_fract.ts 103.14 kB ($${\color{red}+56.2\%}$$)
std_frexp.ts 103.14 kB ($${\color{red}+56.2\%}$$)
std_modf.ts 103.14 kB ($${\color{red}+56.2\%}$$)
std_quantizeToF16.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_mix.ts 103.14 kB ($${\color{red}+56.2\%}$$)
std_countOneBits.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_dot4I8Packed.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_determinant.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_extractBits.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_faceForward.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_inverseSqrt.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_reverseBits.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_insertBits.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_smoothstep.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_normalize.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_transpose.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_saturate.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_degrees.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_radians.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_reflect.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_refract.ts 103.15 kB ($${\color{red}+56.2\%}$$)
std_acosh.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_asinh.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_atan2.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_atanh.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_clamp.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_cross.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_floor.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_ldexp.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_round.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_trunc.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_acos.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_asin.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_atan.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_ceil.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_cosh.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_exp2.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_log2.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_sign.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_sinh.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_sqrt.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_step.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_tanh.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_abs.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_cos.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_exp.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_fma.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_log.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_max.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_min.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_pow.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_sin.ts 103.14 kB ($${\color{red}+56.1\%}$$)
std_tan.ts 103.14 kB ($${\color{red}+56.1\%}$$)
common_fullScreenTriangle.ts 57.18 kB ($${\color{red}+41.5\%}$$)
common_writeSoA.ts 57.17 kB ($${\color{red}+38.6\%}$$)
STATIC_allImports.ts 287.20 kB ($${\color{green}-1.7\%}$$)
STATIC_d.ts 87.40 kB ($${\color{green}-2.6\%}$$)
STATIC_std.ts 103.14 kB ($${\color{green}-2.7\%}$$)

If you wish to run a comparison for other, slower bundlers, run the 'Tree-shake test' from the GitHub Actions menu.

@github-actions

github-actions Bot commented Jun 29, 2026

Copy link
Copy Markdown

Resolution Time Benchmark

---
config:
  themeVariables:
    xyChart:
      plotColorPalette: "#E63946, #3B82F6, #059669"
---
xychart
  title "Random Branching (🔴 PR | 🔵 main | 🟢 release)"
  x-axis "max depth" [1, 2, 3, 4, 5, 6, 7, 8]
  y-axis "time (ms)"
  line [0.77, 1.59, 3.55, 5.27, 6.70, 9.25, 18.58, 20.74]
  line [0.88, 1.66, 3.72, 5.49, 6.34, 11.15, 19.09, 21.69]
  line [0.81, 1.64, 3.56, 5.42, 6.59, 10.04, 19.68, 22.18]
Loading
---
config:
  themeVariables:
    xyChart:
      plotColorPalette: "#E63946, #3B82F6, #059669"
---
xychart
  title "Linear Recursion (🔴 PR | 🔵 main | 🟢 release)"
  x-axis "max depth" [1, 2, 3, 4, 5, 6, 7, 8]
  y-axis "time (ms)"
  line [0.28, 0.48, 0.61, 0.74, 1.01, 1.01, 1.21, 1.32]
  line [0.33, 0.51, 0.63, 0.75, 0.99, 1.10, 1.22, 1.37]
  line [0.31, 0.51, 0.58, 0.77, 0.99, 1.10, 1.30, 1.38]
Loading
---
config:
  themeVariables:
    xyChart:
      plotColorPalette: "#E63946, #3B82F6, #059669"
---
xychart
  title "Full Tree (🔴 PR | 🔵 main | 🟢 release)"
  x-axis "max depth" [1, 2, 3, 4, 5, 6, 7, 8]
  y-axis "time (ms)"
  line [0.83, 1.92, 3.57, 5.64, 10.87, 22.46, 47.26, 96.97]
  line [0.90, 1.79, 3.31, 5.48, 10.65, 22.72, 47.08, 97.38]
  line [0.79, 1.72, 4.01, 5.61, 10.92, 22.81, 47.72, 96.83]
Loading
@iwoplaza iwoplaza force-pushed the chore/improve-ci-time branch 5 times, most recently from 48bcc00 to 29ab46e Compare June 30, 2026 14:57
@iwoplaza iwoplaza force-pushed the chore/improve-ci-time branch from 29ab46e to cd0ad83 Compare June 30, 2026 15:39
@iwoplaza iwoplaza marked this pull request as ready for review June 30, 2026 16:47

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to cut CI runtime by reducing unnecessary TypeScript scope and splitting the previous monolithic CI work into smaller, more focused GitHub Actions workflows.

Changes:

  • Split CI into dedicated workflows for unit (source), unit (built), miscellaneous checks (style/types/circular deps), and docs build.
  • Reduce TypeScript project scope via expanded exclude in the root tsconfig.json, and add an app-specific tsconfig.json for apps/infra-benchmarks.
  • Disable Vitest per-file isolation for select test projects to speed up execution.

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tsconfig.json Excludes more paths (node_modules/apps) from the root TS program to reduce type-aware workload.
packages/typegpu/vitest.config.mts Turns off Vitest isolation for the typegpu package test project.
apps/typegpu-docs/vitest.config.mts Turns off Vitest isolation for the docs “individual-example-tests” project.
apps/infra-benchmarks/tsconfig.json Adds a local TS config for the infra-benchmarks app.
.github/workflows/test-unit.yml New workflow to run unit tests on source.
.github/workflows/test-built-unit.yml New workflow to run unit tests against built packages.
.github/workflows/test-misc.yml New workflow for style, types, and circular dependency checks.
.github/workflows/test-docs.yml Renames/specializes the docs workflow to only build docs (with concurrency).
Comments suppressed due to low confidence (1)

.github/workflows/test-docs.yml:37

  • typegpu-docs’s build script already runs astro check (see apps/typegpu-docs/package.json). Since the new Test miscellaneous workflow also runs pnpm test:types (which runs astro check as well), this ends up repeating the same type-check in CI.

If CI time is the priority, consider invoking astro build directly here (after transform-overloads) and relying on the separate types job for astro check.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 19 to 21
globalSetup: ['setupVitest.ts'],
isolate: false,
},

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When tests touch metadata maps, the keys are local definitions within the test itself, so it shouldn't be a problem

Comment on lines 39 to 44
test: {
name: 'individual-example-tests',
root: './tests/individual-example-tests',
environment: 'node',
isolate: false,
},

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found.

Reviewed changes — split the single ci.yml workflow into four parallel jobs and disabled Vitest test isolation to cut CI wall time roughly in half.

  • Split CI into parallel workflowstest-unit.yml, test-built-unit.yml, test-misc.yml, and test-docs.yml run the former pnpm test + docs build in parallel.
  • Added concurrency cancellation — redundant runs on the same ref are cancelled for each workflow.
  • Disabled Vitest isolationisolate: false in packages/typegpu/vitest.config.mts and the individual-example-tests project speeds up runs; fixtures clean up per test so this looks safe.
  • Added apps/infra-benchmarks/tsconfig.json — gives the app its own TS config now that apps/** is excluded from the root tsconfig.

Pullfrog  | View workflow run | Using Kimi K2 (free via Pullfrog for OSS) | 𝕏

@cieplypolar cieplypolar left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good 🚀 🏎️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants