CSC_IDENTITY_AUTO_DISCOVERY=false was set for every Mac build. With it,
electron-builder imports CSC_LINK into its keychain but won't look the
identity up, so the v0.0.3 build skipped signing and failed the signature
check. It's now set only for unsigned builds.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Sign and notarize macOS release builds
Release builds of the Mac app now run in the protected release-signing
environment (approval required, v* tags only), are signed with the
Developer ID certificate, notarized with the App Store Connect key, and
checked with codesign, spctl and stapler before upload. Push and PR
builds stay ad-hoc signed and never see the secrets.
- electron-builder config moved to electron-builder.config.cjs, which
switches between ad-hoc and Developer ID signing based on CSC_LINK
- Hardened runtime entitlements for Electron
- Local network usage description and Bonjour services in Info.plist
for the macOS 15+ local network prompt
- README: signing setup and current "Open Anyway" steps
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Only export signing variables for signed Mac builds
electron-builder treats an empty CSC_LINK as a certificate path, so PR
builds failed with "apps/desktop not a file". The variables are now
exported only by the signing step, which also checks every secret is
present.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Keep Mac signing secrets inside the build step
They were exported through GITHUB_ENV, which makes them visible to every
later step and action in the job (artifact upload, post steps). They now
live only in the build step's environment, and the notarization key file
is deleted when the step exits.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
* Build pull requests once, not once per push and once per PR
Push builds now run only for main; branch commits are built through their
pull request.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Publishing a vX.Y.Z release on GitHub now builds that tag as version
X.Y.Z and attaches the installers to the release. The version-bump
commit to main is gone, so releases work with branch protection. The
update checker only announces a release once its installers are attached.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Rename devkit titles in the Steam library after registration (via the
Steam client's DevTools port on the headset) so they no longer show as
"Devkit Game: <id>"
- Stage a lone dropped program by itself instead of uploading its folder
- Hide logs and the activity log behind Settings > Developer tools, and
stream them into a persistent pane instead of re-rendering the app
- Check GitHub releases for a newer version (switchable in Settings)
- Atomic config writes, a navigation guard, OBB upload progress, and
serialized APK parsing
- Build workflow for every push and PR, plus a release workflow that
publishes main as a version and bumps to the next patch
- Ad-hoc sign macOS builds; drop TERMS.md in favor of the site's terms page
- Start versioning at 0.0.1
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>