SDK itself is generated from Outscale's OpenAPI description in v2 folder using OpenAPI Genetator.
Other contributions like examples and tests are welcome!
This SDK follows semantic versioning from the SDK perspective (not API). Some events may trigger a major (breaking) version of the SDK:
- OpenAPI generator introduce a new major version
- Outscale introduce a new major version of its API
When OpenAPI generator introduce a breaking change, SDK can be generated in several versions (see corresponding branches)
- have some tools ready: GNU make, git, docker
- edit
api_version
file and to the latest Outscale API version - edit
sdk_version
file and change it according to semantic versioning - launch sdk generation by running
make gen
- new sdk is now generated in
v2
folder
Under the hood:
- we get official Outscale yaml
- run openapi-generator through docker to build osc folder
Content in v2
folder is generated at each release.
If you plan to make some change here, consider making a pull request in openapi-generator project.
Otherwise:
- your merge request must be rebased on the corresponding major version branch (v1, v2, ...)
- be sure that tests still pass by running
make test
For each major version (v1, v2, ...):
- rebase on corresponding major version branch
- update
api_version
to the last Outscale API version - update
sdk_version
following semantic versioning logic. - eventually update go.mod file
make gen
to re-build the sdkmake test
and fix any issue- update
changelog.md
file - commit changes
- tag version
- push to corresponding branch
Note that CI should automatically detect new release on osc-api, update the SDK and push a new version.