Skip to content

workflows: Add release and cargo publish workflows#181

Open
Sinan-Karakaya wants to merge 5 commits into
mainfrom
sinan/add-release-workflow
Open

workflows: Add release and cargo publish workflows#181
Sinan-Karakaya wants to merge 5 commits into
mainfrom
sinan/add-release-workflow

Conversation

@Sinan-Karakaya
Copy link
Copy Markdown
Contributor

Introduce new GitHub Actions workflows to automate publishing crates to crates.io using trusted publishing, and to build and package release artifacts for tagged versions.

@Sinan-Karakaya Sinan-Karakaya self-assigned this Apr 15, 2026
Copilot AI review requested due to automatic review settings April 15, 2026 11:55
@github-actions github-actions Bot requested a review from talhaHavadar April 15, 2026 11:55
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds automated release and publishing support for the Rust workspace, aiming to standardize GitHub-tagged releases and crates.io publishing via trusted publishing (OIDC).

Changes:

  • Add a release.yml workflow to validate inputs, build release binaries, package artifacts, publish crates, and create a GitHub release for v* tags or manual dispatch.
  • Add a reusable/manual cargo-publish.yml workflow to publish crates in dependency order using crates.io trusted publishing.
  • Update PUBLISHING.md to document the new automated release/publish processes and checklist updates.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
PUBLISHING.md Documents the new release + cargo publish automation and updates the release checklist.
.github/workflows/release.yml New workflow to build/package artifacts, invoke crate publishing, and create GitHub releases.
.github/workflows/cargo-publish.yml New reusable/manual workflow to publish workspace crates to crates.io with OIDC trusted publishing.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/release.yml Outdated
Comment thread PUBLISHING.md Outdated
Comment thread PUBLISHING.md Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
Introduce new GitHub Actions workflows to automate publishing crates to crates.io
using trusted publishing, and to build and package release artifacts for tagged versions.

Signed-off-by: Sinan KARAKAYA <sinan.karakaya@canonical.com>
@Sinan-Karakaya Sinan-Karakaya force-pushed the sinan/add-release-workflow branch from a7e3a3f to f9a069f Compare April 15, 2026 12:36
@github-actions github-actions Bot requested a review from talhaHavadar April 15, 2026 12:36
@artiepoole
Copy link
Copy Markdown
Collaborator

Has it been run at all?

Copy link
Copy Markdown
Collaborator

@artiepoole artiepoole left a comment

Choose a reason for hiding this comment

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

A few comments

Comment thread .github/workflows/cargo-publish.yml Outdated
Comment thread .github/workflows/cargo-publish.yml Outdated
Comment thread .github/workflows/cargo-publish.yml
Comment thread .github/workflows/cargo-publish.yml Outdated
Comment thread .github/workflows/release.yml
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
@Sinan-Karakaya
Copy link
Copy Markdown
Contributor Author

Has it been run at all?

It wouldn't work now for the crates release anyway, so I only tested the GH release for now. The logic should be fine for crates as it's pretty much taken from their official docs. I'll take a look still to know If I can test it locally before.

Replace bash inline logic checking for Cargo version in github actions with
our check_version_bump.py script. Add arguments validating workspace
versions against dependency versions as a lockstep check.

Signed-off-by: Sinan KARAKAYA <sinan.karakaya@canonical.com>
@Sinan-Karakaya Sinan-Karakaya force-pushed the sinan/add-release-workflow branch from 9cbbe0d to 50a318b Compare April 16, 2026 09:12
Replace sequential crate publishing with a single cargo publish --workspace command.
Update PUBLISHING.md to reflect the new workflow behavior.

Signed-off-by: Sinan KARAKAYA <sinan.karakaya@canonical.com>
@Sinan-Karakaya Sinan-Karakaya force-pushed the sinan/add-release-workflow branch from 239047e to a520d94 Compare April 16, 2026 09:45
Updates the release workflow to detect versions with prerelease keywords.
When a prerelease is detected, it flags the GitHub release as a prerelease and
packages the workspace `.crate` files into an experimental bundle as an additional release asset.
Updates `PUBLISHING.md` to document the new behavior.

Signed-off-by: Sinan KARAKAYA <sinan.karakaya@canonical.com>
@Sinan-Karakaya Sinan-Karakaya force-pushed the sinan/add-release-workflow branch from a520d94 to 20f33a9 Compare April 17, 2026 12:03
Signed-off-by: Sinan KARAKAYA <sinan.karakaya@canonical.com>
@Sinan-Karakaya Sinan-Karakaya force-pushed the sinan/add-release-workflow branch from 514f844 to 4f6297c Compare May 20, 2026 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants