Skip to content

Publish the engine to crates.io on release - #197

Merged
somdoron merged 3 commits into
mainfrom
publish-engine-workflow
Oct 10, 2026
Merged

somdoron merged 3 commits into
mainfrom
publish-engine-workflow

Conversation

@somdoron

@somdoron somdoron commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Publishes submilli-engine to crates.io as part of a runtime release, and adds a manual workflow for publishing it by hand.

  • Publish engine is reusable, like chart-release.yml. The release workflow calls it with the release's tagged commit once the binaries build, since a published crate version cannot be replaced. Started by hand, it publishes from main.
  • The job runs in the crates-io environment: it holds CARGO_REGISTRY_TOKEN, accepts main and v* tags, and waits for a reviewer.
  • Skips the upload when crates.io already has the workspace version, so a rerun, or a release after a manual publish of the same version, succeeds.
  • Runs cargo publish --dry-run first, so a package that does not build from its packaged files fails before upload.
  • The release skill says the release now publishes the engine.

Depends on #196, which renames the crate to submilli-engine; running it before that merges fails at the package step. The token can be replaced by crates.io trusted publishing after the first version exists.

🤖 Generated with Claude Code

somdoron and others added 2 commits October 10, 2026 23:45
The job runs in the crates-io environment, which holds the token, accepts
only main and waits for a reviewer. It packages first so a broken package
fails before anything is uploaded.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The release event checks out its tag, which the crates-io environment now
accepts alongside main. A version already on crates.io is skipped, so a
rerun or a release after a manual publish of the same version succeeds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@somdoron somdoron changed the title Add a manual workflow that publishes the engine to crates.io Publish the engine to crates.io on release Oct 10, 2026
Publish engine becomes reusable, like the chart release: the release
workflow calls it with its tagged commit once the binaries build, and it
still runs by hand from main. The token stays an environment secret, which
a called job reads through its own environment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@somdoron
somdoron merged commit d8ad46e into main Oct 10, 2026
7 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.

1 participant