open-nomad/vendor/cloud.google.com/go/RELEASING.md
Seth Hoenig 435c0d9fc8 deps: Switch to Go modules for dependency management
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.
2020-06-02 14:30:36 -05:00

2.1 KiB

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.
  2. On master, run git log $CV... to list all the changes since the last release. NOTE: You must manually exclude changes from submodules [1].
  3. Edit CHANGES.md to include a summary of the changes.
  4. cd internal/version && go generate && cd -
  5. ./tidyall.sh
  6. Mail the CL. When the CL is approved, submit it.
  7. 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.
  8. 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:

  1. (these instructions assume we're releasing cloud.google.com/go/datastore - adjust accordingly)
  2. 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).
  3. On master, run git log $CV.. -- datastore/ to list all the changes to the submodule directory since the last release.
  4. Edit datastore/CHANGES.md to include a summary of the changes.
  5. ./tidyall.sh
  6. cd internal/version && go generate && cd -
  7. Mail the CL. When the CL is approved, submit it.
  8. 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.
  9. 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.