fix: drop broken jsign --info verify step in release
All checks were successful
Build and Test / Build Agent (Windows) (push) Successful in 5m9s
Build and Test / Build Server (Linux) (push) Successful in 9m23s
Build and Test / Security Audit (push) Successful in 4m19s
Build and Test / Build Summary (push) Successful in 15s

jsign 7.1 signs guruconnect.exe successfully via Azure Trusted Signing, but the separate
verify step called `jsign --info` (not a real jsign subcommand) and wrongly failed the job.
jsign's non-zero exit under `set -euo pipefail` already gates signing fail-closed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-29 11:26:52 -07:00
parent e80ffe4f9e
commit 5727ccf39e

View File

@@ -430,21 +430,10 @@ jobs:
--url "https://www.azcomputerguru.com" \
--replace \
guruconnect.exe
echo "[OK] Signing command completed"
- name: Verify signature present (fail release if unsigned)
run: |
set -euo pipefail
echo "[INFO] Verifying Authenticode signature is present"
# jsign's --info on a signed PE lists the signature(s); fail if none reported.
OUT="$(java -jar /tmp/jsign.jar --info guruconnect.exe 2>&1 || true)"
echo "$OUT"
if echo "$OUT" | grep -qiE 'signature|signer|signed'; then
echo "[OK] Signature present"
else
echo "[ERROR] No signature detected on guruconnect.exe - refusing to publish unsigned binary"
exit 1
fi
echo "[OK] guruconnect.exe signed via Azure Trusted Signing"
# Fail-closed: this step uses `set -euo pipefail` and jsign exits non-zero if signing
# fails, so reaching this line guarantees the binary was signed. jsign has no `--info`
# subcommand, so do NOT add a separate jsign-based verify step (that was the bug).
- name: Compute SHA-256 of signed binary
id: sha