Contributions are welcome!
The go-client is an netlify/open-api derived http client generated using go-swagger. It uses go modules. To work on it please ensure the following:
- You are running at least Go 1.12
- You have cloned this repo OUTSIDE of the go path. (So go modules work).
- You have a $GOPATH set up and $GOPATH/bin is added to your $PATH
All spec changes must pass go-swagger spec validation.
You can run this command to validate the spec:
make validate
Always validate after making changes to the swagger.yml file.
The Go client must be regenerated after every change to the swagger.yml.
You can use this command to generate the Go client:
make generate
You may first want to edit swagger.yml to add your field or endpoint definitions.
- Make sure your PR title and commits follow the conventional commits spec.
- Don't bump the version number for
swagger.ymlchanges. The release process handles that. - Ensure
make validatepasses. - The go tests run against the last generated go client. These must pass before making a release.
- If all you want is a new endpoint, you can PR just the
swagger.ymlchanges for review and regenerate the go client when its ready to go in.
Merge the release PR (auto generated via release-please)
By contributing to Netlify Node Client, you agree that your contributions will be licensed under its MIT license.