Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
gitlab-ce
Commits
562717f5
Commit
562717f5
authored
Jul 02, 2020
by
Vladimir Shushlin
Committed by
Alessio Caiazza
Jul 02, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add guideline for supporting multiple golangs
parent
d47ebd07
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
0 deletions
+22
-0
doc/development/go_guide/index.md
doc/development/go_guide/index.md
+22
-0
No files found.
doc/development/go_guide/index.md
View file @
562717f5
...
@@ -453,6 +453,28 @@ are:
...
@@ -453,6 +453,28 @@ are:
To reduce unnecessary differences between two distribution methods, Omnibus and
To reduce unnecessary differences between two distribution methods, Omnibus and
CNG
**should always use the same Go version**
.
CNG
**should always use the same Go version**
.
### Supporting multiple Go versions
Individual Golang-projects need to support multiple Go versions for the following reasons:
1.
When a new Go release is out, we should start integrating it into the CI pipelines to verify compatibility with the new compiler.
1.
We must support the
[
Omnibus official Go version
](
#updating-go-version
)
, which may be behind the latest minor release.
1.
When Omnibus switches Go version, we still may need to support the old one for security backports.
These 3 requirements may easily be satisfied by keeping support for the 3 latest minor versions of Go.
It's ok to drop support for the oldest Go version and support only 2 latest releases,
if this is enough to support backports to the last 3 GitLab minor releases.
Example:
In case we want to drop support for
`go 1.11`
in GitLab
`12.10`
, we need to verify which Go versions we are using in
`12.9`
,
`12.8`
, and
`12.7`
.
We will not consider the active milestone,
`12.10`
, because a backport for
`12.7`
will be required in case of a critical security release.
1.
If both
[
Omnibus and CNG
](
#updating-go-version
)
were using Go
`1.12`
since GitLab
`12.7`
, then we safely drop support for
`1.11`
.
1.
If Omnibus or CNG were using
`1.11`
in GitLab
`12.7`
, then we still need to keep support for Go
`1.11`
for easier backporting of security fixes.
## Secure Team standards and style guidelines
## Secure Team standards and style guidelines
The following are some style guidelines that are specific to the Secure Team.
The following are some style guidelines that are specific to the Secure Team.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment