Tags: eval-exec/neomacs
Tags
fix(release): restore product_name, and lint the scripts that broke
The retag failed in `Package tarball` on Linux aarch64:
./scripts/package-release.sh: line 180: product_name: unbound variable
Retiring the minimal product folded the two-branch product name into the
package name and deleted the assignment, but the VERSION file still wrote
`name: $product_name`, and `set -u` made that fatal. Restore the variable
rather than inline it, so VERSION keeps naming the product it describes.
The reason this reached a release job is the useful part. `bash -n` accepts
an unbound variable, no test runs these scripts, and CI's shell lint listed
install.sh and the release helpers but not the packaging scripts themselves.
SC2154 is exactly "referenced but not assigned". All six packaging and setup
scripts are clean under `shellcheck -x` at default severity, so they join
that list, and -x makes the existing entries follow their sourced helpers.
Verified: shellcheck -x clean over the whole widened list; actionlint clean;
the xtask failure set is unchanged.
ci(release): publish Windows aarch64 again Its installer ownership contract passes on both architectures now that the upgrade replaces the previous uninstaller instead of silently keeping it. The platform was pulled from the release earlier today because it had never shipped and was failing that contract, which blocked create-release for every other platform too. The cause turned out to be a real upgrade defect rather than anything about the test: WriteUninstaller's overwrite was lost while the previous uninstaller's image was still held, so the installation kept the OLD uninstaller and, with it, the old file list. Validated by the fixture-only contract on windows-11-arm, which runs from a push in minutes instead of requiring a release round.
fix(ci): launch installed Windows binaries by path The contract already verifies the exact App Paths registry targets. Use those validated absolute paths for the executable smoke test because PowerShell Start-Process does not reliably resolve bare names through App Paths.
PreviousNext