This repository contains the API definitions of different services used in Gazebo projects.
go get github.com/gazebo-web/api
You can also download a specific version:
go get github.com/gazebo-web/[email protected]
Download from our Releases page.
This project uses Buf to build protobuf files. In order to install Buf, refer to their installation docs.
A makefile is provided to build files. Running make
generates code for all the languages we currently support.
The following commands are available to build files for specific languages.
buf generate --template buf.gen.go.yaml
buf generate --template buf.gen.cpp.yaml
buf generate --template buf.gen.ts.yaml
See the contributing guide for detailed instructions on how to get started with our development workflow.
The Gazebo API project uses Semantic Versioning for its releases: <Major>.<minor>.<patch>
.
For Gazebo API v1.2.3:
1
represents the major version.2
represents the minor version.3
represents the patch version.
For release candidate versions such as: v1.3.3-rc0
0
represents the release candidate version, it increases every time a new draft version is created forv1.3.3
NOTE: We prepend a v
to the version.
Our current release policy is:
- Bug fixes increase patch versions.
- New features increase minor versions.
- Breaking changes increase major versions.
- Merge all the new features into the
main
branch. - Create a new tag increasing the minor or patch version depending on our policy. The
Release notes
section must be filled in with the features included in this new release. The tag created for this release should be:vM.m.p
- Go to the latest Pipeline executed in the
main
branch, there will be a set ofbuild
jobs for the different languages that the Gazebo API support.- Click on each of the jobs listed there and press the
Keep
button in order to avoid GitLab from auto-cleaning the artifacts generated by each job. - After pressing the
Keep
button on each job, copy the URL from theDownload
button.
- Click on each of the jobs listed there and press the
- If the
Release notes
section was filled in correctly, you'll find a newRelease
in the Releases page. If not, go back to step 2 and fill out the respectiveRelease notes
section by editing the created tag. - Click on
Edit
button next to the Release title. - In the edit page, go to the
Release assets
section, add a new entry for each link copied in step 3.- URL: The URL copied in step 3.
- Link title: Name of the language, example: C++.
- Type: Other.
- Press
Save changes
, the release is now official. - Let the different teams consuming the Gazebo API know that a new release has been created.