Files
magic/npm/pack.sh
T
Darryl L. Miles 17e3ff0058 GHA: main-wasm.yml: fixup the artifact download naming and contents
Previously it was an archive of an archive (of the 'npm pack' output)
published under the same artifict filename (which becomes the default
download filenmame) which is a headache when you start to download more
than one (like when testing between versions).

Now the 'npm pack' output is attached as-is using its original filename,
but also the extracted contents are attached as standard GitHub
artifact ZIP, using a unique filename (based on the unique build version).
2026-07-23 16:09:35 -04:00

24 lines
832 B
Bash
Executable File

#!/usr/bin/env bash
# Pack the magic-vlsi-wasm npm tarball with reproducible-but-current timestamps.
#
# npm/pacote normalizes file mtimes for reproducibility and, when no
# SOURCE_DATE_EPOCH is set, falls back to 1985-10-26. That makes published
# tarballs carry 1985 dates, which confuses users and tooling.
#
# This script:
# 1. touches every file in npm/ so mtimes reflect the build time
# 2. sets SOURCE_DATE_EPOCH to `now` so pacote's normalization uses it
# 3. runs `npm pack`, producing magic-vlsi-wasm-<version>.tgz in npm/
#
# Used by:
# - npm/build.sh --pack (local build)
# - .github/workflows/main-wasm.yml (CI build + tag-triggered publish)
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
find . -exec touch {} +
SOURCE_DATE_EPOCH=$(date +%s) npm pack "$@"