435c0d9fc8
This PR switches the Nomad repository from using govendor to Go modules for managing dependencies. Aspects of the Nomad workflow remain pretty much the same. The usual Makefile targets should continue to work as they always did. The API submodule simply defers to the parent Nomad version on the repository, keeping the semantics of API versioning that currently exists.
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.