# 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 main, 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 main. 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/main/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)