Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorPavlo Strokov <pstrokov@gitlab.com>2021-05-24 13:27:56 +0300
committerPavlo Strokov <pstrokov@gitlab.com>2021-05-27 17:06:12 +0300
commit6d0661ae39285390cc3b03c6847b85a442c93364 (patch)
tree9179260a3ecdcc0a003200e61f2fd6c53bef866c /doc
parent6e58da454633a53c86d14a59587ee7a6a9d11031 (diff)
Import path re-writer
The path re-writer is the go script to re-write imports in the go source code files, proto files and go.mod file. The script accepts path to the project dir where go.mod file locates, current module version and desired module version. Upgrading a module requires re-generating the gRPC stubs from proto file that is why the code of the path re-writer script is imported in a new 'upgrade-module' task which covers that need. Part of: https://gitlab.com/gitlab-org/gitaly/-/issues/3177
Diffstat (limited to 'doc')
-rw-r--r--doc/PROCESS.md15
1 files changed, 15 insertions, 0 deletions
diff --git a/doc/PROCESS.md b/doc/PROCESS.md
index 59ccf628c..92fa86b82 100644
--- a/doc/PROCESS.md
+++ b/doc/PROCESS.md
@@ -403,6 +403,21 @@ If the changes needed are not yet released, [create a release candidate](#creati
- Checkout the tag to publish (vX.Y.Z)
- run `_support/publish-gem X.Y.Z`
+### Publishing the go module
+
+If an [updated version](https://golang.org/doc/modules/release-workflow) of the go module is needed, it can be [published](https://golang.org/doc/modules/publishing)
+by tag creation.
+
+If a new [major module version update](https://golang.org/doc/modules/major-version) is needed,
+it can be changed by running `upgrade-module` `make` task with desired parameters:
+
+```bash
+make upgrade-module FROM_MODULE=v14 TO_MODULE=v15
+```
+
+It replaces old imports with the new version in the go source files,
+updates `*.proto` files and modifies `go.mod` file to use a new target version of the module.
+
##### Security release
Security releases involve additional processes to ensure that recent releases