Skip to content

Publish to crates.io from GitHub releases - #11

Merged
tanglearncode merged 1 commit into
mainfrom
ci/publish-to-crates-io
Sep 13, 2026
Merged

tanglearncode merged 1 commit into
mainfrom
ci/publish-to-crates-io

Conversation

@tanglearncode

@tanglearncode tanglearncode commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Adds a Release workflow that publishes both crates to crates.io.

Publishing a GitHub release checks that the tag is on main and matches the crate versions, runs a dry run, and publishes after approval in the crates-io environment. The dry run also runs on PRs that change the manifests.

Publishing a GitHub release now runs a Release workflow. The Package job checks
that the tag points to a commit on main and matches every crate version (v0.1.0
for 0.1.0), then runs cargo publish --workspace --dry-run. The Publish job waits
in the crates-io environment, which requires the maintainer's approval and
accepts only v* tags, before it runs cargo publish --workspace.

cargo publish --workspace publishes shimforge-macros before shimforge. The
crates.io token is an environment secret, so the job can read it only after
approval.

The Package job also runs on pull requests that change the manifests or this
workflow, so a package that cannot be published fails in review. It is not a
required check.
@tanglearncode
tanglearncode merged commit 701b1a6 into main Sep 13, 2026
9 checks passed
@tanglearncode
tanglearncode deleted the ci/publish-to-crates-io branch September 13, 2026 06:06
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