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