Skip to content

Prepare code signing with SignPath Foundation (off until set up) - #1

Merged
burnersen merged 2 commits into
mainfrom
claude/signpath-prep
Oct 31, 2026
Merged

burnersen merged 2 commits into
mainfrom
claude/signpath-prep

Conversation

@burnersen

@burnersen burnersen commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

Prepares free code signing through the SignPath Foundation. Nothing changes for releases until it is switched on: without the variable SIGNPATH_ORGANIZATION_ID and the secret SIGNPATH_API_TOKEN the release workflow builds unsigned, exactly as before.

What changes

  • File properties: NVENCForge.exe now carries name and version (from winres/winres.json, written by the release workflow). Every release build checks them, because SignPath only signs files that match. build.bat is unchanged.
  • release.yml: signing step (upload, signing request, wait up to one hour for the approval, verify signature). The release text now ends with a line linking the code signing policy.
  • Dry run: "Run workflow" with dry run ticked, and automatically for PRs that touch the release workflow, winres/ or .signpath/.
  • CODE_SIGNING.md: code signing policy (roles, what gets signed, privacy policy, uninstalling), linked from the README.
  • .signpath/: artifact configuration, file check, setup and removal instructions.
  • README: removes the offer of "a separate license for companies". NVENCForge is GPL-3.0-only and nothing else, as SignPath Foundation requires (no commercial dual-licensing). Ko-fi stays.

Before merging

CODE_SIGNING.md says all team members use 2FA on GitHub and SignPath. Please make sure that is true.

Test

The dry run of the release workflow on this PR passed.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GvUq7HnA5ggbuHBogzS2rV

The release workflow can now sign NVENCForge.exe with SignPath, but only
once the repository has the variable SIGNPATH_ORGANIZATION_ID and the
secret SIGNPATH_API_TOKEN. Without them it builds unsigned exactly as
before.

- NVENCForge.exe now carries name and version in its file properties
  (winres/winres.json, written by the release workflow); every release
  build checks them, because SignPath only signs matching files.
- Dry run: by hand (tick "dry run") and for pull requests that change
  the release workflow, winres/ or .signpath/.
- CODE_SIGNING.md: code signing policy with roles, privacy policy and
  uninstalling, linked from the README and from every release text.
- .signpath/: artifact configuration, file check, setup and removal.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01GvUq7HnA5ggbuHBogzS2rV
NVENCForge is GPL-3.0-only and nothing else. SignPath Foundation signs only
projects under an OSI license without commercial dual-licensing, and
the project is not meant to earn money anyway. Donations via Ko-fi stay.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01GvUq7HnA5ggbuHBogzS2rV
@burnersen
burnersen merged commit e64ea0e into main Oct 31, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants