2023-05-19 11:16:22 +02:00
|
|
|
yandex-cloud-rs
|
|
|
|
===============
|
|
|
|
|
|
|
|
Client library for Yandex Cloud gRPC APIs, as published in their
|
|
|
|
[GitHub repository][repo].
|
|
|
|
|
|
|
|
Please see the [online documentation][docs] for user-facing
|
|
|
|
information, this README is intended for library developers.
|
|
|
|
|
|
|
|
The source code of the library lives [in the TVL repository][code].
|
|
|
|
|
|
|
|
-------------
|
|
|
|
|
|
|
|
In order to build this library, the gRPC API definitions need to be
|
|
|
|
fetched from GitHub. By default this is done by Nix (see
|
|
|
|
`default.nix`), which then injects the location of the API definitions
|
|
|
|
through the `YANDEX_CLOUD_PROTOS` environment variable.
|
|
|
|
|
|
|
|
The actual code generation happens through the calls in `build.rs`.
|
|
|
|
|
|
|
|
Releases of this library are done from *dirty* trees, meaning that the
|
|
|
|
version on crates.io should already contain all the generated code. In
|
|
|
|
order to do this, after bumping the version in `Cargo.toml` and the
|
|
|
|
API commit in `default.nix`, the following release procedure should be
|
|
|
|
used:
|
|
|
|
|
|
|
|
```
|
|
|
|
# Get rid of all generated source files
|
2023-05-23 11:38:11 +02:00
|
|
|
find src | grep '.rs$' | grep -v '^src/lib.rs$' | xargs rm
|
2023-05-19 11:16:22 +02:00
|
|
|
|
|
|
|
# Get rid of all old artefacts
|
|
|
|
cargo clean
|
|
|
|
|
|
|
|
# Verify that a clean build works as intended
|
|
|
|
cargo build
|
|
|
|
|
|
|
|
# Verify that all documentation builds, and verify that it looks fine:
|
|
|
|
#
|
|
|
|
# - Is the version correct (current date)?
|
|
|
|
# - Are all the services included (i.e. not an accidental empty build)?
|
|
|
|
cargo doc --open
|
|
|
|
|
|
|
|
# If everything looks fine, release:
|
|
|
|
cargo publish --allow-dirty
|
|
|
|
```
|
|
|
|
|
|
|
|
[repo]: https://github.com/yandex-cloud/cloudapi
|
|
|
|
[docs]: https://docs.rs/yandex-cloud/latest/yandex_cloud/
|
|
|
|
[code]: https://cs.tvl.fyi/depot/-/tree/ops/yandex-cloud-rs
|