From 45e994eb76b2eaa0f2e2da6ab9832a02da1799bc Mon Sep 17 00:00:00 2001 From: Joao Paulo Furtado Date: Tue, 10 Nov 2026 15:35:40 -0700 Subject: [PATCH] ci(native-engine): provision basisu for the glTF loader's KTX2 tests #635 (PRD-861, PRD-867) added native_engine_gltf_ktx2_* ctest cases that need third_party/basisu. The native-engine job, its Wasm-under-node step and the web engine action fetched only stb, cgltf, webp-source and meshopt, so the loader refused KTX2 by name and the three cases failed in 0.00 s (test-native red on every develop push since 39223c17a). Local core-only build, CI's dependency list: 0 of 3 pass. With basisu: 3 of 3 pass. --- .github/actions/native-engine-wasm/action.yml | 7 ++++--- .github/workflows/ci.yml | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/actions/native-engine-wasm/action.yml b/.github/actions/native-engine-wasm/action.yml index ff9105b38f..01c6ac80bb 100644 --- a/.github/actions/native-engine-wasm/action.yml +++ b/.github/actions/native-engine-wasm/action.yml @@ -44,9 +44,10 @@ runs: sh "$GITHUB_WORKSPACE/scripts/retry-download.sh" "$GITHUB_WORKSPACE/.cache/emsdk/emsdk" install "$TN_EMSDK_VERSION" fi "$GITHUB_WORKSPACE/.cache/emsdk/emsdk" activate "$TN_EMSDK_VERSION" - # The web engine reads four pinned sources: stb (images), cgltf (glTF), libwebp and - # meshoptimizer (EXT/KHR_meshopt_compression in the same glTF loader). - for dependency in stb cgltf webp-source meshopt; do + # The web engine reads five pinned sources: stb (images), cgltf (glTF), libwebp, + # meshoptimizer (EXT/KHR_meshopt_compression in the same glTF loader) and Basis Universal + # (KHR_texture_basisu, PRD-861). + for dependency in stb cgltf webp-source meshopt basisu; do node scripts/download-deps.mjs --only "$dependency" done source "$GITHUB_WORKSPACE/.cache/emsdk/emsdk_env.sh" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b335d640ce..2cd4a3cd1d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1571,8 +1571,9 @@ jobs: set -euo pipefail ccache --zero-stats # The core reads the web engine's pinned sources too (stb decodes SMAANode's tables), and - # the glTF loader decodes meshopt-compressed models with the pinned meshoptimizer. - for dependency in stb cgltf webp-source meshopt; do + # the glTF loader decodes meshopt-compressed models with the pinned meshoptimizer and + # KTX2 textures with the pinned Basis Universal transcoder (PRD-861). + for dependency in stb cgltf webp-source meshopt basisu; do node scripts/download-deps.mjs --only "$dependency" done cmake -S . -B build/native-engine -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DTN_ENGINE_CORE_ONLY=ON