mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-12-15 08:23:34 +01:00
76 lines
3.1 KiB
Markdown
76 lines
3.1 KiB
Markdown
|
# Expectations
|
||
|
|
||
|
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`
|
||
|
|
||
|
# How to release `cloud.google.com/go`
|
||
|
|
||
|
1. Navigate `google-cloud-go/` and switch to master.
|
||
|
1. `git pull`
|
||
|
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: `git add -A && git change && git mail`
|
||
|
1. Wait for the CL to be submitted. Once it's submitted, and without submitting
|
||
|
any other CLs in the meantime:
|
||
|
a. Switch to master.
|
||
|
b. `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`
|
||
|
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:
|
||
|
|
||
|
(these instructions assume we're releasing cloud.google.com/go/datastore - adjust accordingly)
|
||
|
|
||
|
1. Navigate `google-cloud-go/` and switch to master.
|
||
|
1. `git pull`
|
||
|
1. Determine the current release version with `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).
|
||
|
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: `git add -A && git change && git mail`
|
||
|
1. Wait for the CL to be submitted. Once it's submitted, and without submitting
|
||
|
any other CLs in the meantime:
|
||
|
a. Switch to master.
|
||
|
b. `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`
|
||
|
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.
|