Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,27 @@ jobs:
CSC_LINK: ${{ secrets.CSC_LINK }} # Base64 encoded .p12 certificate
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }} # Password for the certificate
run: pnpm run build:ci

- name: Verify macOS auto-update zip integrity
# Squirrel/ShipIt validates the new app's code signature before swapping the
# bundle. If the *-mac.zip was created with its framework symlinks flattened
# (Versions/Current, Squirrel, Resources stored as real files instead of
# symlinks), the bundle fails `codesign --verify --deep --strict` and ShipIt
# silently rejects the update and relaunches the old version. Fail the release
# loudly here so a non-installable auto-update zip is never shipped unnoticed.
run: |
set -euo pipefail
ZIP=$(ls dist/*-mac.zip | head -1)
echo "Inspecting $ZIP"
SYMLINKS=$(zipinfo "$ZIP" | awk '/^l/ {c++} END {print c+0}')
echo "symlink entries in zip: $SYMLINKS"
if [ "$SYMLINKS" -eq 0 ]; then
echo "::error::macOS auto-update zip has 0 symlinks — framework structure was flattened; Squirrel/ShipIt will reject the update. Do not ship this build."
exit 1
fi
WORK=$(mktemp -d)
ditto -x -k "$ZIP" "$WORK"
APP=$(find "$WORK" -maxdepth 2 -name '*.app' | head -1)
echo "Verifying code signature of $APP"
codesign --verify --deep --strict --verbose=2 "$APP"
echo "✅ Auto-update zip OK: framework symlinks intact and signature valid."
11 changes: 8 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Knovy",
"version": "0.3.10",
"version": "0.3.11",
"private": true,
"productName": "Knovy",
"description": "Your All-in-One AI working assistant.",
Expand Down Expand Up @@ -81,7 +81,7 @@
"@vitejs/plugin-react": "^4.3.1",
"autoprefixer": "^10.4.19",
"electron": "^35.2.0",
"electron-builder": "^26.0.12",
"electron-builder": "26.0.12",
"electron-devtools-installer": "^4.0.0",
"electron-vite": "^2.3.0",
"js-yaml": "^4.1.0",
Expand All @@ -105,6 +105,11 @@
"esbuild",
"sharp",
"sqlite3"
]
],
"overrides": {
"electron-builder": "26.0.12",
"app-builder-lib": "26.0.12",
"dmg-builder": "26.0.12"
}
}
}
Loading
Loading