Skip to content

Relicense to GPL-3.0-only, release workflow, code signing prepared - #1

Merged
burnersen merged 1 commit into
mainfrom
claude/signpath-prep
Oct 31, 2026
Merged

burnersen merged 1 commit into
mainfrom
claude/signpath-prep

Conversation

@burnersen

Copy link
Copy Markdown
Owner

License

DupFinder moves from the PolyForm Noncommercial License to GPL-3.0-only, like the other burnersen tools. PolyForm is not an OSI license, so SignPath Foundation could not sign DupFinder under it. Versions up to 1.0.1 stay under the license they were released with. LICENSE.md is replaced by LICENSE, every source header now carries SPDX-License-Identifier: GPL-3.0-only, and the README explains the license the same way the other tools' READMEs do.

Release and CI on GitHub (new)

  • release.yml: push a tag vX.Y.Z equal to appVersion, or "Run workflow" with an existing tag. It runs go vet, writes name and version into the file properties (winres/winres.json), builds DupFinder.exe with a current stable Go and publishes it. The release text comes from .github/release-notes/vX.Y.Z.md or the annotated tag message.
  • ci.yml: gofmt, go vet and a build on Windows for every push and PR. .gitattributes keeps Go files LF so gofmt passes on Windows.

Code signing (off until set up)

Signing step in the release workflow, but it only runs once the variable SIGNPATH_ORGANIZATION_ID and the secret SIGNPATH_API_TOKEN are set. Includes a dry run (by hand, and automatically for PRs that touch the release workflow), CODE_SIGNING.md (roles, privacy policy, uninstalling) and .signpath/ (artifact configuration, file check, setup and removal instructions).

Note

The next release should be a new version (e.g. 1.1.0), so the first GPL version is clearly separate from 1.0.1.


Generated by Claude Code

…dation

License: from now on DupFinder is under the GNU GPL, version 3 only, like
the other burnersen tools. Versions up to 1.0.1 stay under the PolyForm
Noncommercial License they were released with. The PolyForm license is
not an OSI license, so SignPath Foundation could not sign DupFinder.

Release workflow (new): DupFinder.exe is now built on GitHub from a tag
vX.Y.Z equal to appVersion, with name and version in the file properties
(winres/winres.json), and published as the release asset. The release
text is .github/release-notes/vX.Y.Z.md or the annotated tag message.
A CI workflow checks gofmt, go vet and the build on Windows.

Code signing is prepared in the release workflow but only runs once the
repository has the variable SIGNPATH_ORGANIZATION_ID and the secret
SIGNPATH_API_TOKEN; without them the exe is released unsigned.

- 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.
- .gitattributes keeps Go sources LF, so gofmt passes on Windows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GvUq7HnA5ggbuHBogzS2rV
@burnersen
burnersen merged commit 6e37bf1 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