Repository navigation
Add crates.io release workflow, crate READMEs and LICENSE - #32
Conversation
Add release-crates.yml, which verifies a v*.*.* tag against the workspace version, runs fmt, clippy and tests, and publishes the eight crates to crates.io in dependency order through trusted publishing. It then dispatches the GitHub release and MCP Registry workflows. Give every library crate a README and point its Cargo.toml at it, add the Apache-2.0 LICENSE, and change the copyright holder to PT Sigit Mitra Bangun. The root README now lists the reports crate. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
This change introduces a new GitHub Actions workflow (release-crates.yml) to automate publishing all workspace crates to crates.io in dependency order, with trusted publishing (OIDC) and robust handling of partial failures. Each library crate now has a README.md referenced in its Cargo.toml, and the root README is updated to list all eight crates, including reports. The Apache-2.0 LICENSE is added at the repo root. Copyright and example references are updated from Splitfire AB to PT Sigit Mitra Bangun. The workflow ensures the tag matches the workspace version, runs formatting, lint, and tests, and triggers further distribution workflows after a successful publish. No critical or warning issues are present in the diff.
Automated review by siGit Code Review · commit 431924d · see the review dashboard
What
release-crates.yml: on av*.*.*tag (or manual dispatch), checks the tag against the workspace version, runs fmt, clippy, tests and the lower-crate solo builds, then publishescore,aso,pricing,signing,reports,frontend,mcpandclito crates.io in that order. Publishing uses trusted publishing (OIDC), so there is no registry token secret. Versions already on crates.io are skipped, so a re-run resumes after a partial failure. Once everything is published it dispatchesrelease-github.ymlandrelease-mcp-registry.ymlwith the same tag.README.mdfor each library crate, referenced from itsCargo.tomlviareadme.LICENSEat the repo root.5mb.applink is gone.reports. It now lists all eight.Before the first release
smbcloudXYZ/smbcloud-ascapiand workflowrelease-crates.yml. The publish job runs in thecrates-ioenvironment, so the crates.io config must match if it names one.LICENSEsits at the repo root, so it is not included in the published crates. Each crate still declaresApache-2.0in its metadata.Checked
cargo fmt --check,cargo check --workspace --lockedandcargo docwith-D warningspass locally. The workflow has not run yet.