From 35756d2afb25a56a2b6a8da5b16988a882e2abce Mon Sep 17 00:00:00 2001 From: agw Date: Wed, 30 Sep 2026 20:10:00 +0200 Subject: [PATCH] Verify staged modules where they actually ship The final check counted *.JASPModule files in the staged tree, but those are deliberately not shipped: modules are installed into module_libs over the deduplicated binary_pkgs store. The published 0.98.1 tarball has zero bundle files, so a full CI build would have failed at its very last step. Check that every module that built is present in module_libs instead. Claude-Session: https://claude.ai/code/session_01GGe7kUhooMFuzY6GaDb2w9 --- build/build-jasp.sh | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/build/build-jasp.sh b/build/build-jasp.sh index 612fd93..56de188 100755 --- a/build/build-jasp.sh +++ b/build/build-jasp.sh @@ -519,10 +519,20 @@ staged_r="$STAGE_DIR$PREFIX/R/lib/R/lib" for lib in libR.so libRblas.so libRlapack.so; do [[ -f "$staged_r/$lib" ]] || { echo "error: staged tree lacks $lib" >&2; exit 1; } done -staged_bundles="$(find "$STAGE_DIR$PREFIX/Modules" -maxdepth 1 -name '*.JASPModule' 2>/dev/null | wc -l)" -[[ "$staged_bundles" -gt 0 ]] || { echo "error: staged tree has no module bundles" >&2; exit 1; } +# Modules ship installed (module_libs/ over the binary_pkgs store), not +# as .JASPModule bundles, so check that every module that built got installed. +unstaged=() +for bundle in "$MODULE_BUNDLES"/*.JASPModule; do + module="$(basename "$bundle" .JASPModule)" + [[ -d "$STAGE_DIR$PREFIX/Modules/module_libs/$module" ]] || unstaged+=("$module") +done +if [[ ${#unstaged[@]} -gt 0 ]]; then + echo "error: built modules missing from the staged module_libs: ${unstaged[*]}" >&2 + exit 1 +fi +staged_modules="$(find "$STAGE_DIR$PREFIX/Modules/module_libs" -mindepth 1 -maxdepth 1 -type d | wc -l)" staged_so="$(find "$STAGE_DIR$PREFIX" -name '*.so' 2>/dev/null | wc -l)" -log "staged: ${staged_bundles} module bundles, ${staged_so} shared objects" +log "staged: ${staged_modules} modules, ${staged_so} shared objects" du -sh "$STAGE_DIR$PREFIX"/* 2>/dev/null | sort -rh | head -8 # ------------------------------------------------------------------- metadata