In CONTRIBUTING.md, we expect users to have a remote called origin
that points to the https://code.googlesource.com/gocloud
repository. For releasing, we also use a github
remote, setup to point to the replica repository hosted on github at https://github.com/googleapis/google-cloud-go
If you don't already have an ‘origin’ remote from cloning the master repository, you can add it:
git remote add origin https://code.googlesource.com/gocloud
Add the github remote as well, using the name github
:
git remote add github https://github.com/googleapis/google-cloud-go
cloud.google.com/go
google-cloud-go/
and switch to master.git pull
git tag -l
. It should look something like vX.Y.Z
. We'll call the current version $CV
and the new version $NV
.git log $CV...
to list all the changes since the last release. NOTE: You must manually exclude changes from submodules [1].CHANGES.md
to include a summary of the changes.cd internal/version && go generate && cd -
./tidyall.sh
git add -A && git change && git mail
git pull
c. Tag the repo with the next version: git tag $NV
. d. Push the tag to both the googlesource and github repositories: git push origin $NV
git push github $NV
CHANGES.md
.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)
google-cloud-go/
and switch to master.git pull
git tag -l | grep datastore
. 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).git log $CV.. -- datastore/
to list all the changes to the submodule directory since the last release.datastore/CHANGES.md
to include a summary of the changes../tidyall.sh
cd internal/version && go generate && cd -
git add -A && git change && git mail
git pull
c. Tag the repo with the next version: git tag $NV
. d. Push the tag to both the googlesource and github repositories: git push origin $NV
git push github $NV
datastore/CHANGES.md
.1: This should get better as submodule tooling matures.