| # How to Release this Repo | |
| 1. Determine the current release version with `git tag -l`. It should look | |
| something like `vX.Y.Z`. We'll call the current version `$CV` and the new | |
| version `$NV`. | |
| 1. On master, run `git log $CV..` to list all the changes since the last | |
| release. | |
| 1. `cd internal/version && go generate && cd ../..` | |
| 1. Edit `CHANGES.md` to include a summary of the changes. | |
| 1. Mail the CL containing the `CHANGES.md` changes. When the CL is approved, | |
| submit it. | |
| 1. Without submitting any other CLs: | |
| a. Switch to master. | |
| b. `git pull` | |
| c. Tag the repo with the next version: `git tag $NV`. | |
| d. Push the tag: `git push origin $NV`. | |
| 1. Update [the releases page](https://github.com/googleapis/google-api-go-client/releases) | |
| with the new release, copying the contents of the CHANGES.md. | |
| # Auto-regeneration | |
| A nightly cron job re-generates all of the clients. It runs `make all`. | |
| Releases are manually tagged (see above). | |
| See: | |
| * [Code for the cronjob, in the discovery-artifact-manager repo](https://github.com/googleapis/discovery-artifact-manager/blob/master/server/tasks/google_api_go_client.py) | |
| * [List of cronjobs](https://console.cloud.google.com/appengine/cronjobs?project=discovery-artifact-manager) | |
| * [App Engine stderr logs](https://console.cloud.google.com/logs/viewer?project=discovery-artifact-manager) |