Home
Softono
kittycad.rs

kittycad.rs

Open source MIT Rust
59
Stars
6
Forks
23
Issues
7
Watchers
1 week
Last Commit

About kittycad.rs

The Rust API client for Zoo.

Platforms

Web Self-hosted

Languages

Rust

kittycad.rs

The Rust API client for KittyCAD.

Generating

You can trigger a build with the GitHub action to generate the client. This will automatically update the client to the latest version based on the spec at spec.json.

Alternatively, if you wish to generate the client locally, run:

$ make generate

Contributing

Please do not change the code directly since it is generated. PRs that change the code directly will be automatically closed by a bot.

Windows TLS smoke test

To confirm the client honors certificates from the Windows root store (for example when routing requests through a corporate MITM proxy), opt into the smoke test:

WIN_CA_SMOKE=1 cargo test --test win_ca_smoke

CI runs provision certificates and the HTTPS test harness via the shared kittycad/gh-action-win-ca workflow. If you need to reproduce the handshake locally on Windows, follow the helper instructions in that repository.

The test defaults to hitting https://localhost:4443/ and expects an ok response body. Override SMOKE_URL, SMOKE_ATTEMPTS, or SMOKE_DELAY_MS if your proxy uses a different endpoint or boot time.

Releasing a new version

  1. Make sure the VERSION.txt has the new version you want to release.
  2. Make sure you have run make generate and pushed any changes. The release will fail if running make generate causes any changes to the generated code.
  3. Run make tag this is just an easy command for making a tag formatted correctly with the version.
  4. Push the tag (the result of make tag gives instructions for this)
  5. Everything else is triggered from the tag push. Just make sure all the tests pass on the main branch before making and pushing a new tag.