smithy-rs/tools/ci-build/sdk-versioner
John DiSanti 6ffd99000b
Implement runtime-versioner audit tool (#3332)
This PR implements a build tool to audit runtime crate versions as part
of CI and release. If a runtime crate doesn't have the special
`0.0.0-smithy-rs-head` version number, then it is assumed to be
independently versioned, and the audit tool will verify it is version
bumped when any changes are made to it.

Given that there isn't a complete/reliable semver checking tool for Rust
yet, this tool isn't smart. It will rely on devs to correctly bump the
version number when that is done.

----

_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
2024-01-11 23:20:36 +00:00
..
src Fix repo org move issues (#3166) 2023-11-10 18:51:04 +00:00
Cargo.lock Implement runtime-versioner audit tool (#3332) 2024-01-11 23:20:36 +00:00
Cargo.toml Migrate to a new SDK example workspace structure (#2811) 2023-06-30 17:46:11 +00:00
README.md Use a `rustv1` directory from `aws-doc-sdk-examples` (#3287) 2023-12-06 23:00:41 +00:00

README.md

sdk-versioner

This is a CLI tool that will recursively update all references to the AWS Rust SDK in Cargo.toml files in a given directory. That is, it finds every Cargo.toml file nested within that directory, and modifies dependency lines that point to the AWS Rust SDK or its supporting crates. These dependencies can be updated to be based on file-system path, crates.io version, or both.

Example updating SDK examples to use SDK version 0.5.0 with Smithy version 0.35.0:

$ sdk-versioner \
  --sdk-version 0.5.0 \
  --smithy-version 0.35.0 \
  path/to/aws-doc-sdk-examples/rustv1

Example updating SDK examples to refer to local generated code:

$ sdk-versioner \
  --sdk-path path/to/smithy-rs/aws/sdk/build/aws-sdk/sdk \
  path/to/aws-doc-sdk-examples/rustv1