Skip to content

build(release): add cargo-release tooling + gated publish workflow#45

Draft
JustinKovacich wants to merge 2 commits into
mainfrom
chore/cargo-release
Draft

build(release): add cargo-release tooling + gated publish workflow#45
JustinKovacich wants to merge 2 commits into
mainfrom
chore/cargo-release

Conversation

@JustinKovacich

Copy link
Copy Markdown
Contributor

Phase A of DFT→Kellnr: add cargo-release config + a SemVer-gated publish workflow to uds_protocol (single-crate; tag v{version}, crates.io, publish=false). Also normalizes stale author emails to @microvision.com. No metadata churn — repository untouched.

Publish stays deliberate: the publish job only runs when vars.UDS_PROTOCOL_PUBLISH_ENABLED is set and the crates.io token is provisioned in CI. Nothing publishes on merge.

Part of the DFT→Kellnr Phase A program (per-repo release model).

Copilot AI review requested due to automatic review settings June 30, 2026 07:58
@JustinKovacich JustinKovacich self-assigned this Jun 30, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Adds release tooling for the standalone uds_protocol crate by introducing cargo-release configuration and a GitHub Actions workflow intended to gate publishing on SemVer tags and an explicit enable flag.

Changes:

  • Add release.toml to configure cargo-release (tag naming, pre-release hook, publish disabled by default).
  • Add .github/workflows/release.yml with SemVer checks and a gated crates.io publish job on v* tags.
  • Update Cargo.toml authors list to normalize email domains.

Reviewed changes

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

File Description
release.toml Introduces cargo-release configuration (no default publishing, tag/commit message conventions, pre-release tests).
Cargo.toml Normalizes author email addresses in package metadata.
.github/workflows/release.yml Adds a tag-triggered release workflow with SemVer checks and a gated publish step.

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

Comment on lines +3 to +7
on:
push:
tags: ["v*"]
pull_request:
types: [opened, synchronize, reopened]
Comment on lines +9 to +10
permissions:
contents: write
publish:
name: Publish to crates.io
needs: semver-checks
if: github.event_name == 'push' && vars.UDS_PROTOCOL_PUBLISH_ENABLED == 'true'
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