Skip to content

ci: add cargo publishing - #100

Merged
cpendery (cpendery) merged 3 commits into
mainfrom
feat/rust-cargo
Aug 7, 2026
Merged

ci: add cargo publishing#100
cpendery (cpendery) merged 3 commits into
mainfrom
feat/rust-cargo

Conversation

@cpendery

Copy link
Copy Markdown
Member

No description provided.

Signed-off-by: cpendery <cpendery@vt.edu>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need this? Can't we just cargo publish ... things with the right token permissions?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed a lot of the script to just include publishing in the pipeline

Comment thread .github/workflows/release.yml Outdated
Comment on lines +43 to +44
- name: Verify shell-use crate package
run: node .github/scripts/release/publish-crate.mjs --dry-run

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's useful to do dry runs for all the packaging before we start publishing

Comment thread .github/workflows/release.yml Outdated
Comment on lines +368 to +391
publish-crates:
needs:
- verify
- release
if: always() && needs.verify.result == 'success' && (needs.release.result == 'success' || github.event_name == 'workflow_dispatch')
runs-on: ubuntu-latest
environment:
name: crates-io
url: https://crates.io/crates/shell-use
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
with:
ref: ${{ env.RELEASE_TAG }}

- run: |
rustup toolchain install stable --profile default
rustup default stable

- uses: actions/setup-node@v4
with:
node-version: "24"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the auth stage is required because I setup trusted publishing for the pipeline, https://crates.io/docs/trusted-publishing

@cpendery
cpendery (cpendery) merged commit cc6cb7e into main Aug 7, 2026
13 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