CHECK AND PUBLISH

Run the final checks and publish a release

Tests and compilation run on your computer using the commands in polyform.toml. The Polyform website receives the finished implementation list and release information, not a build job.

1. Configure the release

[release]
build_command = ["cargo", "build", "--release", "--locked"]
manifest_command = ["cargo", "run", "--", "variants", "--json"]
artifact = "target/release/zip-safe"
artifact_name = "zip-safe"

The manifest command prints the accepted implementation list; the build command creates the exact artifact Polyform will sign.

2. Run checks and build

polyform check
polyform build

polyform check records passing conformance and fuzzing evidence. polyform build runs the declared release build and refuses to succeed unless the configured artifact exists.

3. Create a release signing key

polyform keygen

This writes .polyform/signing-key.json. Back it up privately and do not commit it. The signature lets users verify that the downloaded program came from this project. When you publish, Polyform also creates a separate composition key for the server and certifies it with this release key. Your release key stays on your computer.

4. Create a CLI token

Open your dashboard, choose Create CLI token, and copy it. The dashboard also lists existing tokens so you can revoke a lost token or rotate one after publishing.

5. Put the program online and publish

gh release create v0.1.0 target/release/zip-safe
export POLYFORM_TOKEN="pf_…"
polyform publish \
  --project you/zip-safe \
  --server https://omalled.com/polyform \
  --artifact-url https://github.com/you/zip-safe/releases/download/v0.1.0/zip-safe

The GitHub CLI uploads the exact local artifact without depending on browser file permissions. If you use GitHub’s web form instead, choose the file through the native macOS picker. Hosted project names always use owner/slug, even when the application field in the manifest has a different name.

Mac downloads may need an Apple signature too The Polyform signature proves which project published the file. Apple signing and notarization let macOS verify the developer. A Mac program may need both.