open-nomad/vendor/cloud.google.com/go/RELEASING.md

50 lines
2.1 KiB
Markdown
Raw Normal View History

# How to release `cloud.google.com/go`
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. NOTE: You must manually exclude changes from submodules [1].
1. Edit `CHANGES.md` to include a summary of the changes.
1. `cd internal/version && go generate && cd -`
1. `./tidyall.sh`
1. Mail the CL. 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-cloud-go/releases)
with the new release, copying the contents of `CHANGES.md`.
# How to release a submodule
We have several submodules, including cloud.google.com/go/logging,
cloud.google.com/go/datastore, and so on.
To release a submodule:
1. (these instructions assume we're releasing cloud.google.com/go/datastore -
adjust accordingly)
1. Determine the current release version with `git tag -l`. It should look
something like `datastore/vX.Y.Z`. We'll call the current version `$CV` and
the new version `$NV`, which should look something like `datastore/vX.Y+1.Z`
(assuming a minor bump).
1. On master, run `git log $CV.. -- datastore/` to list all the changes to the
submodule directory since the last release.
1. Edit `datastore/CHANGES.md` to include a summary of the changes.
1. `./tidyall.sh`
1. `cd internal/version && go generate && cd -`
1. Mail the CL. 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-cloud-go/releases)
with the new release, copying the contents of `datastore/CHANGES.md`.
# Appendix
1: This should get better as submodule tooling matures.