Please refer to Cloudsmith's standard guide on Open-Source Contributing.
The host toolchain is managed with mise via the top-level .mise.toml, so local and CI environments use the same tools. Run mise install once to get them. You also need Docker running, as generation happens inside the pinned swagger-codegen-cli image (see scripts/common.sh). Linting (ruff) runs automatically as part of the build.
- Update
package_versioninscripts/common.sh - Run
mise run buildto generate the bindings (ruff autofixes are applied as part of the build) - Create a PR specifying the API and binding version
- Run
mise run update-bindingsto automatically update the bindings. - This will then provide you with the URL for the PR to release the updated bindings.
- For full options and usage examples, run:
./scripts/update-bindings.sh --help
- The
Update API bindingsGitHub Actions workflow regenerates the bindings and opens a PR — daily on a schedule, or on demand via Run workflow (optionally with a specific version). - It only opens a PR when the regenerated bindings actually change.
By making any contributions to Cloudsmith Ltd projects you agree to be bound by the terms of the Cloudsmith Ltd Contributor License Agreement.
Follow existing structure and style of the build and release scripts. Languages bindings are generated automatically.
See the section for raising a question in the Contributing Guide.