docs(ops/yandex-cloud-rs): add developer-facing README
Mostly to remind myself about the wonky release process. Change-Id: I76ea8d9a2ed600ebb31f4b1a5368f3cefa0556d6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/8598 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
This commit is contained in:
parent
e31008db14
commit
e9efa579a7
2 changed files with 53 additions and 0 deletions
|
@ -3,6 +3,8 @@ name = "yandex-cloud"
|
|||
description = "Generated gRPC clients for the Yandex Cloud API"
|
||||
version = "2023.4.24"
|
||||
edition = "2021"
|
||||
homepage = "https://cs.tvl.fyi/depot/-/tree/ops/yandex-cloud-rs"
|
||||
repository = "https://code.tvl.fyi/depot.git:/ops/yandex-cloud-rs.git"
|
||||
|
||||
[dependencies]
|
||||
prost = "0.11"
|
||||
|
|
51
ops/yandex-cloud-rs/README.md
Normal file
51
ops/yandex-cloud-rs/README.md
Normal file
|
@ -0,0 +1,51 @@
|
|||
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
|
||||
cd src
|
||||
ls | grep -v '^lib.rs$' | xargs rm
|
||||
cd ..
|
||||
|
||||
# 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
|
Loading…
Reference in a new issue