40 lines
1.0 KiB
Bash
Executable File
40 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT=$(cd "$(dirname "$0")/.." && pwd)
|
|
PACKAGE_SCRIPT="$ROOT/Scripts/package_app.sh"
|
|
RELEASE_SCRIPT="$ROOT/Scripts/sign-and-notarize.sh"
|
|
FUNCTIONS_FILE=$(mktemp "${TMPDIR:-/tmp}/codexbar-package-signing-functions.XXXXXX")
|
|
trap 'rm -f "$FUNCTIONS_FILE"' EXIT
|
|
|
|
python3 - "$PACKAGE_SCRIPT" "$FUNCTIONS_FILE" <<'PY'
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
script = Path(sys.argv[1]).read_text()
|
|
start = script.index('resolve_package_signing_mode() {')
|
|
end = script.index('\n}\n', start) + 3
|
|
Path(sys.argv[2]).write_text(script[start:end])
|
|
PY
|
|
|
|
source "$FUNCTIONS_FILE"
|
|
|
|
unset CODEXBAR_SIGNING
|
|
SIGNING_MODE=
|
|
resolve_package_signing_mode
|
|
[[ "$SIGNING_MODE" == "adhoc" ]]
|
|
|
|
CODEXBAR_SIGNING=identity
|
|
resolve_package_signing_mode
|
|
[[ "$SIGNING_MODE" == "identity" ]]
|
|
|
|
CODEXBAR_SIGNING=invalid
|
|
if resolve_package_signing_mode 2>/dev/null; then
|
|
echo "Invalid package signing mode unexpectedly succeeded" >&2
|
|
exit 1
|
|
fi
|
|
|
|
grep -Fq 'CODEXBAR_SIGNING=identity ./Scripts/package_app.sh release' "$RELEASE_SCRIPT"
|
|
|
|
echo "Package signing tests passed."
|